Перейти к основному содержимому
Версия: v2.6.x

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

В данной статье рассмотрен практический сценарий построения мониторинга в реальном времени по содержимому поля 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. Информационный уровень (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. Задайте уровни критичности для отправки писем, по которым ранее создали шаблоны письма:

  • Критичный — правило сработало 10 и более раз в одну итерацию работы триггера;
  • Информационный — правило сработало 1 и более раз в одну итерацию работы триггера.

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

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

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

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

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

  • Критичный — если выполняются условия для критичного уровня;
  • Высокий — если выполняются условия для высокого уровня и не выполняются условия более высокого уровня (критичного);
  • Средний — если выполняются условия для среднего уровня и не выполняются условия более высокого уровня (критичного, высокого);
  • Низкий — если выполняются условия для низкого уровня и не выполняются условия более высокого уровня (критичного, высокого, среднего);
  • Информационный — если выполняются условия для информационного уровня и не выполняются условия более высокого уровня (критичного, высокого, среднего, низкого).

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

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

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

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

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

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

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

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

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

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

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

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

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

внимание

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