Список триггеров#

Данный раздел доступен только для пользователей с ролью MONITORING_ADMIN и ADMIN.

resources/configTrigger.png

Конфигурация триггеров#

Чтобы не указывать триггеры для каждой конкретной метрики, можно создать конфигурацию триггеров. Для этого следует перейти в раздел Список триггеров.

Далее нажать кнопку Добавить метрику. Кликнув по кнопке вверху, метрика будет добавлена выше существующих метрик. Кликнув по кнопке внизу, метрика будет добавлена ниже существующих метрик.

resources/trg1.png

В открывшемся окне указать название метрики и путь к метрике (без параметров) или выбрать ее из выпадающего списка:

resources/trg2.png

Далее нажать кнопку Добавить триггер:

resources/trg3.png

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

  • «Приоритетная метрика» для того, чтобы информация по метрике и проверка условия выполнения триггера осуществлялась каждый такт.

  • «Системная метрика» если помеченная метрика как системная перестает работать, уведомления о сбоях с остальных метрик, собираемых тем же коллектором, перестанут приходить. Системные метрики могут быть метриками самого коллектора. Например, если коллектор переустанавливается, то метрики, собираемые к примеру с кластера Artemis, перестанут поступать. Однако, это не означает, что кластер Artemis сломался. Просто в этот момент с него временно не собираются метрики.

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

Ниже описаны все существующие типы триггеров:

Триггер

Описание

Не должно быть равно

Значение не равно указанному

Должно быть равно

Значение равно указанному

Значение должно быть меньше

Значение меньше указанному

Значение должно быть больше

Значение больше указанному

Среднее значение должно быть меньше

Среднее значение за период времени меньше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Среднее значение должно быть больше

Среднее значение за период времени больше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Размах должен быть меньше

Разница между максимальным и минимальным значениями за период времени меньше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Размах должен быть больше

Разница между максимальным и минимальным значениями за период времени больше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Максимальное значение должно быть меньше

Максимальное значение за период времени меньше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Минимальное значение должно быть больше

Минимальное значение за период времени больше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Максимальное значение должно быть больше

Максимальное значение за период времени больше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Минимальное значение должно быть меньше

Минимальное значение за период времени меньше указанного значения. Доступно три уровня индикации - информация, предупреждение, ошибка

Не должна увеличиваться

Значения метрики за период не увеличивались

Должна уменьшаться

Значения метрики за период уменьшалось

Не должна уменьшаться

Значения метрики за период не уменьшалось

Должна увеличиваться

Значения метрики за период увеличивались

Не должна изменяться

Значение метрики не изменилось за период

Должна изменяться

Значение метрики изменилось за период

Метрика должна быть доступна

Значение метрики не удалось получить

Для выбранного триггера настройте условие срабатывания. Доступны следующие варианты:

  • Из конфигурации: Триггер срабатывает в соответствии с настройками узла. Настройка этой функции описана в разделе Редактирование метрик.

  • Период: Триггер срабатывает через заданный временной интервал.

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

Существуют 4 уровня значений ошибок:

  • Ошибка: Критическая проблема, требующая немедленного вмешательства.

  • Предупреждение: Возможная проблема, которая может привести к ошибкам в будущем.

  • Информация: Сообщение о событии, которое не является ошибкой, но может быть полезным для отслеживания.

  • Нормально: Все работает как ожидалось, никаких проблем не выявлено.

Добавлять значения через кнопку resources/trg3.png.

В поле «Описание» можно добавить комментарии. Этот текст будет включен в текст уведомлений. Ввод информации с уровнем критичности выше К3 не допускается. Ввод информации с уровнями критичности К1 и К2 запрещен. Необходимо организовать регулярную проверку данного поля на соответствие требованию уровня критичности.

Чтобы настроить уведомления, необходимо выбрать один или несколько способов: Почта / СМС / Инцидент resources/tg5.png.

Конфигурацию можно сохранить в виде файла — для этого необходимо развернуть меню «Список триггеров». Так же есть возможность скачать текущую конфигурацию или скачать конфигурацию с сервера:

resources/trg4.png

Чтобы применить конфигурацию триггеров, необходимо выбрать один из вариантов сохранения в выпадающем списке.

Для применения триггеров к конфигурации доступны два варианта:

  • «Применить триггеры к конфигурации», после чего триггеры применятся ко всему дереву триггеров независимо от параметров.

  • «Применить триггеры к конфигурации с удалением старых», после чего триггеры применятся ко всему дереву триггеров, без сохранения старых конфигураций.

resources/tg5.png

В конфигурации и формате выгружаемого файла отсутствуют критичные данные.

Нотификации#

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

Данные заносятся пользователем с ролью MONITORING_ADMIN и хранятся в операционной памяти. На сервере данные не сохраняются.

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

Данные хранятся только в оперативной памяти внутри JVM, доступна только java.

resources/user_04.png

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

Далее необходимо в настройках триггера включить уведомления. Сделать это можно через настройки в разделе Список триггеров (ознакомьтесь с инструкцией выше, пункт Конфигурация триггеров) или через меню «Настройки»:

Настройки нотификаций задаются в конфигурационном файле vars.yml в блоке notifications(пример заполненного файла vars.yml);

Для изменения настроек необходимо развернуть меню «Настройки» и использовать ползунок:

resources/tg5.png

Уведомления:

  • Заголовок сообщения — заголовок текстовых сообщений. Ввод информации с уровнем критичности выше К3 не допускается. Ввод информации с уровнями критичности К1 и К2 запрещен. Необходимо организовать регулярную проверку данного поля на соответствие требованию уровня критичности.

  • Шаг последнего значения — коэффициент, который позволяет избежать ложных срабатываний триггеров.

  • Отправлять все сообщения — позволяет отключить/включить отправку всех уведомлений.

Почта — настройка уведомлений через email:

  • Отправлять служебные сообщения — позволяет отключить/включить отправку служебных уведомлений.

  • Отправлять значения в сообщениях — позволяет отправлять значения триггеров и метрик.

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

  • Группировать сообщения — позволяет группировать сообщения в письмах и автоинцидентах.

  • Перенаправлять почту — позволяет перенаправлять уведомления об инцидентах в топик Kafka.

  • Тестовое сообщение отправлено — отправка тестового сообщения.

СМС — настройка уведомлений через sms:

  • Перенаправлять смс — позволяет перенаправлять уведомления об инцидентах в топик Kafka.

Инциденты — отправка технологических инцидентов:

  • Перенаправлять инциденты — позволяет перенаправлять уведомления об инцидентах в топик Kafka.

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

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

resources/newAlert.png

Данное уведомление формируется автоматически системой на основании предопределенного шаблона. Изменение или редактирование шаблона не допускается.

Для отправки СМС-нотификации необходимо отправить POST-запрос на соответствующий URL с указанием логина пароля и использование сертификата.

Запрос

В качестве тела запроса используется JSON-объект следующего формата:

{
"phoneNumber":"X XXX XXX 0833",
"textMessage":"текст"
}

, где:

  • phoneNumber – номер телефона в формате XXXXXXXXXXX;

  • textMessage – текст сообщения формируется автоматически по предопределенному шаблону на основе следующих данных: Путь к метрике, Код метрики, Статус метрики.

JSON-схема:

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
        "phoneNumber": {
            "type": "string"
        },
        "textMessage": {
            "type": "string"
        }
    },
    "additionalProperties": false,
    "required": [
        "phoneNumber",
        "textMessage"
    ]
}

Валидным считается номер телефона, который имеет длину 11 или 12 символов и начинается с 7 (7XXXXXXXXXX), 8 (8XXXXXXXXXX) или 98 (98XXXXXXXXXX).

Ответ

В случае успешного выполнения запроса придет следующий ответ:

{
"success":true,
"reason":"message sent"
}

, где:

  • success – успешность отправки;

  • reason – причина.

Заведение инцидентов осуществляется автоматически на основе соответствующих событий мониторинга по предопределенному шаблону. Изменение или редактирование шаблона не допускается:

{
"jsonrpc": "2.0", 
"id": 1, 
"method":"createIncident", 
"params": 
{
"hpsmService": "КЭ ИТ-услуги из HPSM",
"hpsmAssignmentGroup": "Идентификатор рабочей группы исполнителя инцидента в HPSM",
"state": "OPEN|RESOLVED",
"problemUrl": "Значение , которое будет использовано при открытии инцидента",
"title": "Заголовок инцидента"
 }
}