Сценарий мониторинга в реальном времени

В данной статье рассмотрен практический сценарий построения мониторинга в реальном времени по содержимому поля message. Такой подход позволяет отслеживать однотипные ошибки, визуализировать их на дашбордах и настраивать автоматические уведомления по электронной почте и во внешние источники. 

Рекомендуемая структура дашборда 

Для мониторинга однотипных событий рекомендуется создать отдельный дашборд и добавить на него несколько виджетов:

Основным условием фильтрации в примерах является выражение:

message LIKE '%коммутатор%'

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

Подготовка дашборда

Для визуализации событий необходимо создать дашборд для виджетов. Чтобы создать дашборд, необходимо войти в систему, используя учетную запись, имеющую доступ к созданию и управлению дашбордами и виджетами. Далее в системе нужно выполнить следующие действия:

Шаг 1. В веб-интерфейсе из левого бокового меню перейдите в раздел Дашборды.

Шаг 2. В левом верхнем углу окна нажмите на выпадающий список и нажмите Создать.

Шаг 3. В открывшемся модальном окне введите название вашего дашборда и нажмите Создать.

Настройка виджетов

Виджет "Список ошибок коммутатора"

Для отслеживания ошибок коммутатора в реальном времени необходимо создать таблицу с текстом сообщения и IP-адресом источника:

Шаг 1. На странице дашборда правом верхнем углу окна нажмите Добавить виджет и в выпадающем списке выберите Таблица. После этого откроется окно конфигурации нового виджета.

Шаг 2. В правой части окна конфигурации виджета укажите название виджета в поле Название и, при необходимости, добавьте описание в поле Описание.

Шаг 3. Добавьте в поле SQL запрос A запрос, по которому будут собираться данные для построения графика:

SELECT
  timestamp,
  `event_src_ip`,
  `message`
FROM
  `messages`
WHERE
  (
    1 = 1
    AND timestamp >= toDateTime ($__fromTime)
    AND timestamp <= toDateTime ($__toTime)
    AND `message` LIKE '%коммутатор%'
  )
ORDER BY
  timestamp DESC

Шаг 4. Сохраните виджет.

Виджет "Доля ошибок среди всех событий"

Для отслеживания соотношения доли ошибок среди всех событий необходимо создать круговую диаграмму:

Шаг 1. В правом верхнем углу окна нажмите Добавить виджет и в выпадающем списке выберите Круговая диаграмма. После этого откроется окно конфигурации нового виджета.

Шаг 2. В правой части окна конфигурации виджета укажите название виджета в поле Название и, при необходимости, добавьте описание в поле Описание.

Шаг 3. Добавьте в поле SQL запрос A запрос, по которому будут собираться данные для построения графика:

--пирог по отношению искомое сообщение \ всего сообщений 
SELECT
  CASE
    WHEN `message` LIKE '%коммутатор%' THEN 'Ошибки коммутаторов'
    ELSE 'Другие события'
  END AS `type`,
  COUNT(*)
FROM
  `messages`
WHERE
  (
    timestamp >= toDateTime ($__fromTime)
    AND timestamp <= toDateTime ($__toTime)
  )
GROUP BY
  `type`
ORDER BY
  `type` ASC

Шаг 4. Сохраните виджет.

Виджет "Количество ошибок поминутно"

Для отслеживания ошибок поминутно необходимо создать столбчатую диаграмму:

Шаг 1. В правом верхнем углу окна нажмите Добавить виджет и в выпадающем списке выберите Столбчатая диаграмма. После этого откроется окно конфигурации нового виджета.

Шаг 2. В правой части окна конфигурации виджета укажите название виджета в поле Название и, при необходимости, добавьте описание в поле Описание.

Шаг 3. Добавьте в поле SQL запрос A запрос, по которому будут собираться данные для построения графика.

-- столбчатая диаграмма поминутно 
SELECT
  concat(toHour (timestamp), '-', toMinute (timestamp)) AS `dates`,
  COUNT(*)
FROM
  `messages`
WHERE
  (
    timestamp >= toDateTime ($__fromTime)
    AND timestamp <= toDateTime ($__toTime)
    AND `message` LIKE '%коммутатор%'
  )
GROUP BY
  `dates`
ORDER BY
  `dates` ASC

Шаг 4. Сохраните виджет.

Результат настройки виджетов

Для мониторинга в реальном времени рекомендуется выставить время обновления "1 минута" в правом верхнем углу.

В последующих шагах можно использовать ссылку на дашборд из URL-адреса страницы для отправки уведомлений на электронную почту или/и во внешние источники.

Настройка доступа к дашборду

Перед тем как использовать ссылку на дашборд убедитесь, что пользователи имеют к нему доступ. Для этого выполните следующие действия:

Шаг 1. Нажмите на три точки в правом углу страницы дашборда и выберите Изменить.

Шаг 2. В открывшемся окне добавьте пользователей и назначьте им уровень доступа.

Шаг 3. Нажмите Сохранить.

Настройка уведомлений

Для отправки уведомлений в системе Логикор можно настроить уведомления на электронную почту и во внешние источники. 

Настройка отправки уведомлений на электронную почту

Для уведомлений по электронной почте необходимо создать шаблоны писем для отправки при определенных условиях:

Шаг 1. Для управления шаблонами писем перейдите на вкладку Мониторинг → Шаблоны писем и нажмите Создать.

Шаг 2. Создайте шаблоны для писем:

  1. Информационный уровень (1 сообщение и более). 

  2. Критический уровень (10 сообщений и более).

  3. Восстановление работы (сообщения не приходили 10 интервалов срабатывания триггера).

Настройка отправки уведомлений во внешние источники

Шаг 1. Используйте инструкцию, чтобы создать Подключение и Шаблон по аналогии с настройкой отправки уведомлений на электронную почту.

Название Шаблон POST-запроса
Коммутатор информационное {
   "chat_id": "id",
   "text": "Тестовое сообщение от Логикор. Название — **name**, статус — **status**,Ссылка на проблему — **link**, Описание правила — **description**,Время закрытия —  **closedAt**"
}
Упало больше 10 коммутаторов {
   "chat_id": "246826689",
   "text": "Тестовое сообщение от Логикор. Название — **name**, статус — **status**,Ссылка на проблему — **link**, идентификаторы событий — **events.uuid**,Описание правила — **description**."
}
Восстановление коммутаторов 

{
   "chat_id": "246826689",
   "text": "Тестовое сообщение от Логикор. Название — **name**, статус — **status**,Ссылка на проблему — **link**, идентификаторы событий — **events.uuid**,Описание правила — **description**."
}

Формирование правила, по которому будет совершаться отправка уведомлений на электронную почту и/или во внешние источники

  

После создания шаблонов необходимо создать правило, которое будет каждые 30 секунд проверять события за последние 30 секунд и искать сообщения, в которых поле message содержит значение коммутатор:

Шаг 1. Для управления правилами перейдите на вкладку Мониторинг → Правила и нажмите Создать

Шаг 2. Создайте правило. Также, если необходимо, можно добавить ссылку на дашборд в Описание.

Шаг 3. Задайте уровни критичности для отправки писем, по которым ранее создали шаблоны письма:

Шаг 4. Задайте условие восстановления. 

Шаг 5. Нажмите Создать.

Результат работы сценария

После настройки сценария система будет автоматически отслеживать события, соответствующие условиям поиска и присылать уведомления о проблемах. 

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

Пример уведомления о проблеме:

Текст письма:

Пример уведомления о проблеме из внешнего источника:

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

Пример уведомления о восстановлении из внешнего источника:

Взаимодействие с уведомлениями

В уведомлении можно нажать на ссылку и пройти на страницу с проблемой. После можно перейти на вкладку События и нажать на Открыть в таблице событий. Откроется таблица событий с уже примененным фильтром по Правилу.

Также пользователь, скопировав ссылку из Описания правила, может вставить ее в URL-строку и получить, по настроенным ранее дашбордам, мониторинг в реальном времени при выставлении времени обновления "1 минута" в правом верхнем углу.

Особенности работы правил

Правило автоматически не отключается.

Если по каким-то причинам перестали отправляться уведомления о проблемах, проверьте:

  1. Включено ли правило, возможно кто-то его отключил вручную;
  2. Закрыта ли проблема. Если проблема не закрыта - повторные уведомления по данной Проблеме отправляться не будут.

Если происходит повторное срабатывание, повторно открывается проблема и повторно направляются письма.

 
Если проблема не закрыта повторные уведомления на почту приходить не будут. После того как будут выполнены условия Восстановления, проблема закроется, и повторное срабатывание триггера Правила повторно запустит процесс отправки email/POST уведомлений.



ID статьи: 1637
Последнее обновление: 27 мая, 2026
Ревизия: 6
База знаний Логикор -> Лучшие практики -> Сценарий мониторинга в реальном времени
https://docs.axel.pro/scenarij-monitoringa-v-real6nom-vremeni_1637.html