Сценарий мониторинга в реальном времени
В данной статье рассмотрен практический сценарий построения мониторинга в реальном времени по содержимому поля message. Такой подход позволяет отслеживать однотипные ошибки, визуализировать их на дашбордах и настраивать автоматические уведомления по электронной почте и во внешние источники.
Рекомендуемая структура дашборда
Для мониторинга однотипных событий рекомендуется создать отдельный дашборд и добавить на него несколько виджетов:
- Таблица событий — для просмотра текста сообщения, времени события и IP-адреса источника;
- Круговая диаграмма — для оценки соотношения доли ошибок среди общего количества событий;
- Столбчатая диаграмма — для анализа динамики появления событий по времени.
Основным условием фильтрации в примерах является выражение:
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 сообщение и более).

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

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

Настройка отправки уведомлений во внешние источники
Шаг 1. Используйте инструкцию, чтобы создать Подключение и Шаблон по аналогии с настройкой отправки уведомлений на электронную почту.
| Название | Шаблон POST-запроса | |
|---|---|---|
| Коммутатор информационное | { "chat_id": "id", "text": "Тестовое сообщение от Логикор. Название — name, статус — status, Ссылка на проблему — link, Описание правила — description, Время закрытия — closedAt" } | |
| Упало больше 10 коммутаторов | { "chat_id": "246826689", "text": "Тестовое сообщение от Логикор. Название — name, статус — status, Ссылка на проблему — link, идентификаторы событий — events.uuid, Описание правила — description." } | |
| Восстановление коммутаторов |
|
Формирование правила, по которому будет совершаться отправка уведомлений на электронную почту и/или во внешние источники
После создания шаблонов необходимо создать правило, которое будет каждые 30 секунд проверять события за последние 30 секунд и искать сообщения, в которых поле message содержит значение коммутатор:
Шаг 1. Для управления правилами перейдите на вкладку Мониторинг → Правила и нажмите Создать.
Шаг 2. Создайте правило. Также при необходимости можно добавить ссылку на дашборд в Описание.
Шаг 3. Задайте уровни критичности для отправки писем, по которым ранее создали шаблоны письма:
- Критичный — правило сработало 10 и более раз в одну итерацию работы триггера;
- Информационный — правило сработало 1 и более раз в одну итерацию работы триггера.
Шаг 4. Задайте условие восстановления.
Шаг 5. Нажмите Создать.
Результат работы сценария
После настройки сценария система будет автоматически отслеживать события, соответствующие условиям поиска, и присылать уведомления о проблемах.
Если количество событий соответствует условиям одного из уровней критичности, выбирается наиболее высокий подходящий уровень.
Последовательность отправки уведомлений при разных уровнях критичности:
- Критичный — если выполняются условия для критичного уровня;
- Высокий — если выполняются условия для высокого уровня и не выполняются условия более высокого уровня (критичного);
- Средний — если выполняются условия для среднего уровня и не выполняются условия более высокого уровня (критичного, высокого);
- Низкий — если выполняются условия для низкого уровня и не выполняются условия более высокого уровня (критичного, высокого, среднего);
- Информационный — если выполняются условия для информационного уровня и не выполняются условия более высокого уровня (критичного, высокого, среднего, низкого).
Пример уведомления о проблеме:
Текст письма:
Пример уведомления о проблеме из внешнего источника:
Пример письма о восстановлении:
Пример уведомления о восстановлении из внешнего источника:
Взаимодействие с уведомлениями
В уведомлении можно нажать на ссылку и пройти на страницу с проблемой. Затем можно перейти на вкладку События и нажать на Открыть в таблице событий. Откроется таблица событий с уже примененным фильтром по правилу.
Также пользователь, скопировав ссылку из Описания правила, может вставить ее в URL-строку и получить мониторинг на настроенных ранее дашбордах в реальном времени при установке времени обновления «1 минута» в правом верхнем углу.
Особенности работы правил
Правило автоматически не отключается.
Если по каким-то причинам перестали отправляться уведомления о проблемах, проверьте:
- Включено ли правило, возможно, кто-то его отключил вручную;
- Закрыта ли проблема. Если проблема не закрыта, повторные уведомления по данной проблеме отправляться не будут.
Если происходит повторное срабатывание, повторно открывается проблема и повторно направляются письма.
Если проблема не закрыта, повторные уведомления на почту приходить не будут. После того как будут выполнены условия восстановления, проблема закроется, и повторное срабатывание триггера правила повторно запустит процесс отправки email- и POST-уведомлений.