Сбор данных агентом мониторингаLTS
- Агент мониторинга 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, будет фиксироваться вся расширенная информация, без него — только информация о заголовках окон.
Сбор и передача данных пользовательской активности
Если по каким-то причинам агенту мониторинга не удается определить URL текущей страницы в браузере, активность на этой странице не будет зафиксирована.
Для корректного учета активности по каждому пользователю дополнительно агент собирает:
- Имя и логин учетной записи пользователя, ее домен или рабочую группу
- Имя компьютера, его домен или рабочую группу
- Часовой пояс пользовательской сессии
Сервер 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.
Была ли статья полезна?