В данной статье рассмотрен практический сценарий построения мониторинга в реальном времени по содержимому поля 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. Сохраните виджет.
.png)
Для отслеживания соотношения доли ошибок среди всех событий необходимо создать круговую диаграмму:
Шаг 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. Сохраните виджет.
.png)
Для отслеживания ошибок поминутно необходимо создать столбчатую диаграмму:
Шаг 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. Сохраните виджет.
.png)
Для мониторинга в реальном времени рекомендуется выставить время обновления "1 минута" в правом верхнем углу.
.png)
В последующих шагах можно использовать ссылку на дашборд из URL-адреса страницы для отправки уведомлений на электронную почту или/и во внешние источники.
Перед тем как использовать ссылку на дашборд убедитесь, что пользователи имеют к нему доступ. Для этого выполните следующие действия:
Шаг 1. Нажмите на три точки в правом углу страницы дашборда и выберите Изменить.
Шаг 2. В открывшемся окне добавьте пользователей и назначьте им уровень доступа.
.png)
Шаг 3. Нажмите Сохранить.
Для отправки уведомлений в системе Логикор можно настроить уведомления на электронную почту и во внешние источники.
Для уведомлений по электронной почте необходимо создать шаблоны писем для отправки при определенных условиях:
Шаг 1. Для управления шаблонами писем перейдите на вкладку Мониторинг → Шаблоны писем и нажмите Создать.
Шаг 2. Создайте шаблоны для писем:


.png)
Шаг 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. Создайте правило. Также, если необходимо, можно добавить ссылку на дашборд в Описание.
.png)
Шаг 3. Задайте уровни критичности для отправки писем, по которым ранее создали шаблоны письма:

Шаг 4. Задайте условие восстановления.
.png)
Шаг 5. Нажмите Создать.
После настройки сценария система будет автоматически отслеживать события, соответствующие условиям поиска и присылать уведомления о проблемах.
Если количество событий соответствует условиям одного из уровней критичности, выбирается наиболее высокий подходящий уровень.
Последовательность отправки уведомлений при разных уровнях критичности:
Пример уведомления о проблеме:
.png)
Текст письма:
.png)
Пример уведомления о проблеме из внешнего источника:
.png)
Пример письма о восстановлении:
.png)
Пример уведомления о восстановлении из внешнего источника:
.png)
В уведомлении можно нажать на ссылку и пройти на страницу с проблемой. После можно перейти на вкладку События и нажать на Открыть в таблице событий. Откроется таблица событий с уже примененным фильтром по Правилу.
.png)
Также пользователь, скопировав ссылку из Описания правила, может вставить ее в URL-строку и получить, по настроенным ранее дашбордам, мониторинг в реальном времени при выставлении времени обновления "1 минута" в правом верхнем углу.
Правило автоматически не отключается.
Если по каким-то причинам перестали отправляться уведомления о проблемах, проверьте:
Если происходит повторное срабатывание, повторно открывается проблема и повторно направляются письма.