Описание структуры хранения данных в ClickHouse
Все описанные таблицы созданы на основе движка ReplacingMergeTree.
Таблица «monitoring_activity»
В таблице хранится информация об активности пользователей. Путь для обращения к таблице по умолчанию: `main`.`monitoring_activity`.
Знаками ✔ и ✖ отмечены присутствие или отсутствие колонки в зависимости от типа мониторинга.
Имя колонки | Тип | Описание | Простой мониторинг | Расширенный мониторинг |
---|---|---|---|---|
agent_version | String | Версия агента мониторинга | ✔ | ✔ |
computer_name | String | Имя компьютера | ✔ | ✔ |
cpu_loading | UInt32 | Значение загрузки процессора в процентах (от 0 до 100) | ✖ | ✔ |
domain | String | Домен | ✔ | ✔ |
element_ctrl | UInt8 | Контрол элемента element_name | ✖ | ✔ |
element_hotkey_name | String | Название пункта меню | ✖ | ✔ |
element_name | String | Имя элемента (например, кнопка или чекбокс) с типом 10 и более | ✖ | ✔ |
employee_account_id | UInt64 | Идентификатор сущности EmployeeAccount во встроенной файловой базе данных модуля мониторинга | ✔ | ✔ |
executable_path | String | Полный путь до исполняемого файла | ✔ | ✔ |
file_name | String | Имя открытого файла, может быть пустым | ✔ | ✔ |
file_path | String | Полный путь к открытому файлу, может быть пустым | ✔ | ✔ |
id | UInt64 | Идентификатор доменного элемента во встроенной файловой базе данных | ✔ | ✔ |
input_type | UInt8 | Если активность является аппаратной, то параметр заполняется как 1, если программной, то как 0 | ✔ | ✔ |
location_name | Array(String) | Иерархия окон | ✔ | ✔ |
location_type | Array(UInt32) | Тип окна | ✔ | ✔ |
main_window | String | Заголовок окна | ✔ | ✔ |
memory_loading | UInt32 | Значение использования оперативной памяти в процентах (от 0 до 100) | ✖ | ✔ |
parameters_name | Array (String) | Название элемента, из которого получено значение | ✔ | ✔ |
parameters_type | Array(UInt32) | Тип элемента | ✔ | ✔ |
parameters_value | Array (String) | Значение поля может отображаться в явном виде, если это специальное поле (например, Организация в 1С) или если выключено хеширование, а также в виде хеша в формате crc32:<32-битное_число> | ✔ | ✔ |
parameters_is_current | Array(UInt8) | Значение 1 для текущего редактируемого поля и всех извлеченных из него параметров Значение 0 для поля, которое не редактировалось | ✔ | ✔ |
program | String | Название запущенной программы | ✔ | ✔ |
research_id | UInt64 | Идентификатор исследования, в рамках которого сделан скриншот | ✖ | ✔ |
screenshot_id | String | Идентификатор скриншота | ✖ | ✔ |
tab | String | Вкладка главного окна, может быть пустым | ✔ | ✔ |
time_offset | Int8 | Часовой пояс (сдвиг в часах от времени в UTC) | ✔ | ✔ |
time | DateTime64 | Время события, инициированного пользователем, представлено как календарная дата и время, с заданной до миллисекунд и наносекунд точностью | ✔ | ✔ |
type | Int16 | Тип события | ✔ | ✔ |
url_path | String | Путь из URL после домена | ✔ | ✔ |
version | String | Версия запущенной программы | ✔ | ✔ |
Колонки, которые присутствуют в простом мониторинге, не всегда могут быть заполнены одновременно.
Помимо стандартного пути main.monitoring_activity, в скриптах автоматизации можно использовать переменную activity_table, которая хранит путь к таблице monitoring_activity
. Это позволяет автоматически формировать корректный путь к таблице при изменении инфраструктуры и минимизирует риск ошибок. В скриптах можно обратиться к таблице через подстановку переменной в запрос или код.
Значение переменной activity_table задается в конфигурационном файле com.infomaximum.subsystem.monitoring.json через параметры monitoring_database_name
и storage_guid
.
Дополнительная информация о заполненных колонках
Для каждого события (кроме 1 — старт, 2 — стоп и 3 — падение), заполняются следующие колонки:
- id
- time
- employee_account_id
- time_offset
- program
- version
- executable_path
- type
- input_type
- computer_name
- agent_version
В зависимости от типа программы в простом мониторинге могут быть дополнительно заполнены следующие колонки:
- Браузеры:
main_window
,domain
иurl_path
- Программы для работы с документами (например, Microsoft Office):
file_path
иfile_name
- Другие настольные программы:
main_window
Если агент мониторинга зафиксировал идентификатор окна или название листа Excel в колонке parameters_name
, в простом мониторинге также могут быть заполнены следующие колонки:
- parameters_name
- parameters_value
- parameters_is_current
- parameters_type
Таблица «monitoring_agent_inspector_log»
В таблице хранятся технические логи агентов мониторинга, передаваемые с рабочих мест на сервер приложения. Данные используются при первичной диагностике проблем с агентами мониторинга. Путь для обращения к таблице по умолчанию: `main`.`monitoring_agent_inspector_log`.
Поле | Тип | Описание |
---|---|---|
time_offset | Int8 | Смещение (UTC) |
time | DateTime64(3, UTC) | UTC время в секундах |
level | String | Уровень логирования |
pid | Int32 | id процесса, 32-битное целое число |
tid | Int32 | id потока, 32-битное целое число |
function | String | Название функции в коде, в которой залогировалось message |
message | String | Текст лога (уровни логирования: "info", "warning", "error", "critical") |
machine_guid | String | id компьютера (зависит от ОС), позволяет узнать, с какого именно АРМ пришла активность |
agent_version | String | Версия агента |
remote_address | String | Заполняется строковым представлением ip-адреса клиента пришедшим на сервер |
computer_name | String | Берётся наименование компьютера из файла manifest.json из архива активности |
employee_account_id | UInt64 | Идентификатор элемента EmployeeAccount во встроенной файловой базе данных модуля мониторинга |
type_log | String | Тип логов активности: inspector – логи инспектора; service – логи службы SYSTEM. timetracking – логи timetracking |
row_number | UInt64 | Порядковый номер записи в таблице |
Срок хранения информации по умолчанию составляет 14 дней. Его можно изменить через параметр "partition_life_circle_time" в конфигурационном файле com.infomaximum.subsystem.monitoring.json.
Была ли статья полезна?