Сбор данных агентом мониторинга
- Агент мониторинга Proceset Agent использует системные API операционных систем Windows (Microsoft UI Automation и др.) и Linux (AT-SPI и др., если применимо).
- Качество, полнота и корректность сбора аналитических данных, а также стабильность работы агента мониторинга целиком зависят от:
- Технологической совместимости клиентских приложений с используемыми API и стандартами доступности
- Особенностей архитектуры и реализации сторонних приложений, включая приложения, использующие проприетарные или устаревшие технологии (legacy-системы)
- Настроек безопасности и политик корпоративной инфраструктуры, блокировки сторонними средствами защиты, ограничений операционной системы и/или антивирусного программного обеспечения
- Корректности разметки и экспонирования свойств интерфейса со стороны мониторируемых приложений
- Правильности активации и поддержки соответствующих технологий доступности, например, Java Access Bridge для Java-приложений
- Компания «Инфомаксимум» принимает все разумные меры для максимальной совместимости с прикладным программным обеспечением, однако не несет ответственности за те ограничения, которые предопределены архитектурой сторонних решений, изменениями системных API, либо политиками безопасности инфраструктуры клиента.
Агент мониторинга используется как источник данных для анализа пользовательской активности на рабочих станциях. Он играет ключевую роль в построении системы Task Mining, что позволяет точно фиксировать рабочие действия сотрудников, переключения между программами, взаимодействие с интерфейсами и другими элементами ОС. Собранные данные используются для выявления повторяющихся задач, построения моделей бизнес-процессов и анализа загруженности сотрудников.
Агент мониторинга не влияет на производительность компьютера и не сохраняет конфиденциальные данные, такие как пароли.
Основные возможности агента мониторинга:
- Фиксирует рабочую активность сотрудников в приложениях, браузерах и других программах
- Помогает определить уровень вовлеченности пользователя, периоды активности и простоя
- Собирает данные, необходимые для построения моделей процессов и выявления повторяющихся задач
В зависимости от уровня детализации, агент может работать в режиме базового или расширенного мониторинга, а также поддерживает сбор данных из Java-приложений и HID-устройств.
Агент мониторинга собирает активность пользователя, которая состоит из событий. Событие — это пользовательское действие (нажатие кнопки, переключение вкладки, заполнение поля и т. п.) или программное действие (например, появление диалогового окна, изменение заголовка у окна, изменение активного окна и т. п.). Все события относятся к программе, окно которой активно в текущий момент. Если событие не приводит к каким-то последствиям, например, клики по неактивному элементу управления, такие события не записываются в активность.
Каждое событие содержит в себе информацию о времени совершения действия, названии программы, ее версии, пути к исполняемому файлу и, в зависимости от типа мониторинга, дополнительную информацию. Подробное описание — в разделе Описание структуры хранения данных в ClickHouse.
Базовый мониторинг
При базовом мониторинге агент записывает сведения об открытых окнах приложений и переключениях между ними:
- В случае использования браузера — заголовок активной вкладки и URL-адрес страницы
- В случае использования десктопных программ — заголовок окна
- В случае 1С 8.3 возможен сбор заголовка активной вкладки внутри программы
- В случае MS Excel — заголовок активного листа
К базовому мониторингу относятся события оконной иерархии и HID-активность.
При локальном (без отправки на сервер) хранении активности в течение месяца объем занимаемого дискового пространства на одного пользователя составляет 25 МБ.
Расширенный мониторинг
Расширенный мониторинг собирает данные форм (parameters), если они есть, и события. Parameters — это значения редактируемых полей (с типом Edit и ComboBox). Их поиск происходит при фокусе и при потере фокуса редактируемым полем. После того как parameters-элементы найдены, они будут добавлены во все события в окне.
Агент мониторинга не собирает и не сохраняет пароли пользователей. Поля, в которых пользователю необходимо ввести пароль, не фиксируются агентом мониторинга — сохраняется только факт редактирования поля Пароль.
Мониторинг Java-приложений
Для расширенного мониторинга доступны Java-приложения, поддерживающие технологию Java Access Bridge. Это позволяет агенту мониторинга расширить список программ, активность в которых необходимо отслеживать. Примерами таких программ могут быть Oracle, SweetHome 3D и другие.
Для фиксации данных о работе пользователя в Java-приложениях требуется использование модуля Java-мониторинга. Java-мониторинг обеспечивает более детализированную информацию о работе Java-приложений, что помогает в их анализе, оптимизации и способствует более эффективному управлению. С этим модулем в приложениях, работающих с технологией Java Access Bridge, будет фиксироваться вся расширенная информация, без него — только информация о заголовках окон.
Сбор и передача данных пользовательской активности
Для корректного учета активности по каждому пользователю дополнительно агент собирает:
- Имя и логин учетной записи пользователя, ее домен или рабочую группу
- Имя компьютера, его домен или рабочую группу
- Часовой пояс пользовательской сессии
Сервер Proceset получает от агента мониторинга данные об активности сотрудников и сохраняет их в промежуточную базу данных, затем данные синхронизируются с таблицей monitoring_activity в СУБД ClickHouse. Структура таблицы monitoring_activity, включая информацию о колонках, их типах данных и содержимом подробно описана в разделе Описание структуры хранения данных в ClickHouse.
Виды событий
Примеры событий оконной иерархии:
WindowOpen— всегда, когда открывается что-то новое (окно, вкладка, файл, url, даже если id окна не менялся)DocumentOpen— когда открывается новый документDocumentSave— когда сохраняется документSheetOpen— открывается или переключается лист в ExcelWindowSwitch— всегда, когда происходит переключение между старыми вкладками или окнамиWindowUpdate— всегда, когда меняется заголовок вкладки или окна
События, которые не записываются
- Действия, которые ничего не меняют: клики по окну, прокрутка, движение мыши по элементам выпадающего списка
- Смена фокуса при нажатии стрелок
- Клик по редактируемому полю
- Переключение на рабочий стол и действия на нем
- Переключение на панель задач и действия в ней
- Переключение на меню Пуск и действия в нем
- Переключение на панель поиска и действия в ней
Особенности фиксации активности
Объекты UI Automation, связанные с неактивной вкладкой браузера, постоянно остаются в памяти агента.
HID-активность
Агент мониторинга дополнительно фиксирует активность от HID-устройств, таких как мышь и клавиатура. С помощью HID-активности можно определить промежутки активности и неактивности пользователя за ПК.
HID-активность от действий пользователя определяется как аппаратное событие — hardware. Роботизированное или программное событие определяется как injected.
HID-активность фиксируется при следующих действиях:
- Клик мыши: программный (InjectedMouseClick) и аппаратный (HardwareMouseClick)
- Прокрутка мышью: программная (InjectedMouseScroll) и аппаратная (HardwareMouseScroll)
- Нажатие кнопок клавиатуры: программное (InjectedKeyboardEvent) и аппаратное (HardwareKeyboardEvent)
У каждого события используется свой тип, представленный в виде числового кода. С подробной информацией о типах событий вы можете ознакомиться на странице Информация о логировании.
Данные для HID-события берутся из предыдущего события, но с заменой на соответствующий тип HID-активности (HardwareMouseClick, HardwareKeyboardEvent и т. п.). HID-активность фиксируется только для полей, в которых возможна длительная работа, например, поля редактирования.
HID-событие фиксируется относительно последнего зафиксированного события, когда интервал между ним и предыдущим событием равен 1 минуте или больше. В то же время, от HID-события до события пользовательского действия может быть меньше 1 минуты.
Если пользователь работает так, что каждое нажатие с интервалом меньше 1 минуты приводит к событию, например, переключению окон, HID-события вовсе могут быть не зафиксированы.
Алгоритм работы
Сохраняется время последнего HID-события, а также время последнего записанного в активность HID-события. Когда происходит новое событие:
- Если время события больше или равно времени последнего события + 1 минута, то в активность добавляются последнее HID-событие и новое
- Если время события больше или равно времени последнего записанного в активность + 1 минута, то в активность добавляется новое событие
В остальных случаях запоминается время.
Пример 1:
Пользователь печатает в текстовом документе и последнее HID-событие зафиксировалось в 10:00:00. Он печатал до 10:00:35, после чего отошел от рабочего места на 5 минут и в 10:05:20 снова кликнул мышью по текстовому документу и начал печатать. В этом случае агент зафиксирует HID-события в 10:00:00, 10:00:35 и 10:05:20.
Анализируя время событий можно сделать вывод что пользователь не работал за ПК с 10:00:35 по 10:05:20, так как разница во времени между 10:00:00 и 10:00:35 меньше 1 минуты.
Пример 2:
Пользователь работает в браузере и последнее HID-событие зафиксировалось в 15:00:30. Он совершил клик в браузере в 15:00:55, сделал паузу и кликнул по уже другой программе в 15:01:20. Агент зафиксирует только одно HID-событие в 15:01:20, так как интервал между 15:00:30 и 15:01:20 меньше минуты и нет необходимости фиксировать в качестве HID-события 15:00:55.
Была ли статья полезна?