Журнал Событий

Для использования Журнала Событий требуется MongoDB версии не ниже 4.4.

Журнал Событий (Event Log) осуществляет функции просмотра, фильтрации и поиска SNMP трапов, MQTT-сообщений, а также просмотра Истории состояний всех объектов системы.

  • SNMP

  • MQTT

  • История состояний

image
image
image

Журнал Событий позволяет выполнять следующие действия над получаемыми данными:

Кнопка/поле Описание

image

Приостановить вывод – приостанавливает вывод новых строк данных.

image

image

image

Кнопки переключения между отображением SNMP-Trap’ов, MQTT-сообщений и общей историей состояний.

image

Фильтр – осуществляет фильтрацию всех поступающих данных. Каждый тип событий имеет свой тип фильтра.

image

Включить фильтр – включает/выключает фильтрацию поступающих данных.

image

Количество сообщений – ограничивает число строк, отображаемых в Журнале событий.

excel

Экспорт журнала с текущими фильтрами в формате .xls. Недоступно для журнала SNMP трапов.

Режимы отображения

SNMP трапы

Агент может выступать в роли получателя SNMP-Trap’ов и отправлять данные на сервер. Журнал Событий реализует функции просмотра, фильтрации и поиска SNMP-Trap’ов от всех агентов, принимаемых сервером.

image

Строки в Журнале событий автоматически группируются, если SNMP-Trap’ы имеют одинаковые значения одновременно для:

  • enterprise OID;

  • agent Address;

  • дополнительного поля с указанным OID.

Подробнее об упомянутых полях и возможности "привязки" SNMP Trap’ов к объектам можно прочитать в статье SNMP Trap.

Контекстное меню

Контекстное меню появляется при нажатии правой кнопки мыши на любой строке Журнала событий.

image

Оно позволяет:

  • назначить событию ответственного пользователя,

  • удалить любое из событий (например, аварийное сообщение),

  • временно изменить текст события (например, для добавления комментария к аварии).

Фильтр

Фильтр позволяет выбрать строки, соответствующие заданным условиям.

image

Математические операторы сравнения используются для числовых значений; текстовые - для числовых и текстовых, без учёта регистра букв.

Операторы = и также могут использоваться с текстовыми значениями, регистр букв учитывается.

При выборе текстового оператора сравнения, например, совпадает с, в качестве значения можно использовать регулярное выражение.

Кнопка image позволяет добавить новое условие. Условия объединяются логическим И.

Чтобы удалить условие, нужно нажать кнопку image справа от условия.

MQTT-сообщения

Сервер может получать сообщения от устройств, поддерживающих работу по протоколу MQTT. Журнал Событий реализует функции просмотра и фильтрации MQTT-сообщений из топиков, которые указаны в настройках MQTT-сенсоров соответствующих объектов.

image
Подробнее о настройке MQTT-сенсора можно прочитать в статье MQTT-сенсор.

Фильтр

Фильтр позволяет выбрать строки, соответствующие заданным условиям.

image

Математические операторы сравнения используются для числовых значений; текстовые - для числовых и текстовых, без учёта регистра букв.

Операторы = и также могут использоваться с текстовыми значениями, регистр букв учитывается.

При выборе текстового оператора сравнения, например, совпадает с, в качестве значения можно использовать регулярное выражение.

Кнопка image позволяет добавить новое условие. Условия объединяются логическим И.

Чтобы удалить условие, достаточно нажать кнопку image справа от условия.

История состояний

Журнал Событий реализует функции просмотра истории состояний всех объектов системы:

image

Фильтр

Фильтр позволяет выбрать только строки, соответствующие заданному условию.

В интерфейсе предусмотрены поля только для некоторых параметров передаваемых через адресную строку, остальные параметры являются скрытыми, так как предполагают очень специализированный сценарий использования.
image

Поля От и До предназначены для ввода временного периода, в течение которого происходили целевые события.

С помощью следующих кнопок можно быстро задать временной период:

image

Кнопка image очищает соответствующее поле.

Если используются фильтры по классам, тегам или имени объекта (доступно только как параметр адресной строки), то временной период должен быть в пределах максимального временного периода, указанного в серверной конфигурации.

Параметры адресной строки

Фильтры и элементы интерфейса журнала событий можно настраивать с помощью параметров адресной строки.

Пример запроса с параметрами:

http://<saymon-server>/event-log.html?type=mqtt&header=off&logo=on&pauseButton=on&typeSelect=on&filterSection=on&exportSection=on

Список параметров адресной строки:

Параметр Описание

type

Тип журнала, который будет отображаться по умолчанию. Можно изменить после загрузки страницы, если включены кнопки выбора типа журнала (typeSelect).

Возможные значения:

filter

Фильтры журнала. Зависят от выбранного типа журнала. Подробнее можно прочитать в разделе Фильтры.

header

Настраивает отображение шапки страницы, содержащей элементы управления фильтрацией данных в таблицах.

  • on – включить шапку;

  • off – выключить шапку. Также, автоматически присваивает значение off всем параметрам отображения элементов интерфейса.

Чтобы перезаписать настройку отображения определённого элемента при выключенной шапке – например, выключить всё кроме логотипа – нужно выставить её в значение on:

http://<saymon-server>/event-log.html?header=off&logo=on
Порядок параметров не имеет значения.

logo

Настраивает отображение логотипа.

  • on – включить логотип,

  • off – выключить логотип.

typeSelect

Настраивает отображение кнопки выбора типа журнала (SNMP, MQTT или История состояний).

  • on – включить кнопку,

  • off – выключить кнопку.

filterSection

Настраивает отображение секции расширенного фильтра.

  • on – включить кнопку,

  • off – выключить кнопку.

paramsSection

Настраивает отображение секции дополнительных параметров (Количество сообщений для журнала SNMP трапов).

  • on – включить секцию,

  • off – выключить секцию.

exportSection

Настраивает отображение кнопки экспортирования данных в формате .xls.

  • on – включить кнопку,

  • off – выключить кнопку.

pauseButton

Настраивает отображение кнопки "Приостановить вывод" (image)

  • on – включить кнопку,

  • off – выключить кнопку.

Фильтры

Журнал Событий позволяет указывать параметры фильтра не только через меню "Фильтр", но и в адресной строке.

Фильтры, настроенные через пользовательский интерфейс, не применяются к адресной строке автоматически. При этом, фильтры заданные в адресной строке переносятся в меню "Фильтр", где их можно изменить.
http://<saymon-server>/event-log.html?filter=<тело фильтра>
Запрос с использованием фильтра может содержать и другие параметры адресной строки.

Фильтры журналов MQTT сообщений и SNMP трапов поддерживают поиск по нескольким полям одновременно. Для этого, в параметр filter нужно передать список фильтров:

Запрос, который возвращает журнал MQTT сообщений с фильтром по топику и телу MQTT сообщения
http://<saymon-server>/event-log.html?type=mqtt&filter=[{"name":"payload.topic","value":{"_ct":"2"}}, {"name":"payload.message","value":{"_ct":"message text"}}]

В запрос журнала истории состояний тоже можно передать список фильтров, но все, кроме первого, будут проигронированы.

Фильтры журнала истории состояний

Пример запроса с использованием фильтра:

http://<saymon-server>/event-log.html?filter={"stateId":[1,3],"from":1599469080000,"to":1694077090252}

Фильтр поддерживает следующие параметры:

Параметр Описание

from

Время начала выборки (в формате времени Unix, в милисекундах).

to

Время конца выборки (в формате времени Unix, в милисекундах).

stateId

ID или список ID состояний.

classId

ID или список ID классов объектов.

tagId

ID или список ID тегов.

entityId

ID объекта или связь. Cкрыт в интерфейсе.

entityType

ID типа объекта (1 – объект, 2 – связь). Cкрыт в интерфейсе.

entityName

Фильтр по частичному совпадению имени. Cкрыт в интерфейсе.

Фильтры журнала MQTT сообщений

Пример фильтра журнала MQTT сообщений:

http://<saymon-server>/event-log.html?filter=[{"name":"payload.topic","value":{"_ct":"2"}}]
Параметр Описание

name

Название переменной, по значению которой нужно фильтровать журнал. У MQTT сообщений есть следующие переменные:

  • payload.topic – топик MQTT сообщения;

  • payload.message – тело MQTT сообщения.

value

Фильтр значения указанной переменной в следующем формате:

"value":{<оператор>:<значение>}

Поддерживаемые операторы:

  • _ct – Содержит;

  • _nct – Не содержит;

  • _eq – Равен;

  • _neq – Не равно;

  • _m – Совпадает с.

Фильтры журнала SNMP трапов

Пример фильтра журнала SNMP трапов:

http://<saymon-server>/event-log.html?filter=[{"name":"payload.text","value":{"_ct":"34"}}]
Параметр Описание

name

Название переменной, по значению которой нужно фильтровать журнал. У MQTT сообщений есть следующие переменные:

  • payload.trapOid

  • payload.text

  • payload.senderAddress

value

Фильтр значения указанной переменной в следующем формате:

"value":{<оператор>:<значение>}

Поддерживаемые операторы:

  • _ct – Содержит;

  • _nct – Не содержит;

  • _eq – Равен;

  • _neq – Не равно;

  • _m – Совпадает с.