Привязка порогов
В данной статье описан процесс настройки сценариев автоматизации, выполняющих функции привязки Конфигурационных единиц к Порогам метрик и создания Сигналов в случае превышения пороговых значений.
Рассматриваемый вариант не является единственно верным и представлен в демонстрационных целях.
И принцип привязки и сценарии автоматизации можно и нужно дорабатывать под свои потребности.
Предполагается, что до применения этой статьи были выполнены предварительные условия:
- создан поток данных и настроен сбор метрик (1, 2) из источника
- настроено правило Порогов
Сценарий привязки КЕ к Порогам метрик
Bind Thresholds to CIs.txt (github)
Тип сценария: ThresholdsProcessor
Сценарий предназначен для привязки Конфигурационных единиц к Порогам метрик.
Главным принципом для привязки любых объектов в Monq является корреляция некоторого общего признака этих объектов. В данном демонстрационном сценарии для корреляции КЕ и Порогов сравниваются помещенные в аннотацию bindci
правила Порога метка метрики pod
, и кастомные атрибуты КЕ commonPropertyAttr
+ commonPropertyKey
.
Сценарий необходимо импортировать и выполнить следующие настройки:
1. Настройки CMDB
-
В настройках CMDB выбрать Тип КЕ (или создать новый), в рамках которого планируется привязывать Пороги
-
В секции Атрибуты КЕ добавить новый Атрибут
⚠️ точно соблюдайте написание значений, они используются в сценарии ⚠️- Название:
commonPropertyAttr
- Тип:
Dynamic
- Значение по умолчанию:
{ "commonPropertyKey": ""}
- Название:
2. Настройки КЕ
- В параметрах каждой КЕ этого типа появится новый атрибут. Его нужно заполнить (вручную или автоматически) уникальным значением, совпадающим с уникальным значением в метках метрики в следующем формате:
{ "commonPropertyKey": "уникальное значение"}
3. Настройка правила порогов
- В правиле Порогов добавить Аннотацию:
- Название:
bindci
- Значение:
{{ Metric.Labels.pod }}
, вместоpod
указать свою метку метрики, по которой будет определяться принадлежность Порога к КЕ
- Название:
Компоненты и Слоты
Для оценки состояния покрытия мониторингом в типах КЕ опционально можно задать Слоты Компонентов и при привязке КЕ к Порогам указывать к конкретно компоненту и какому из его Слотов выполнять эту привязку.
Демонстрационный сценарий уже включает заготовку для использования этой функции, но требуется выполнить несколько настроек вашего пространства Monq:
- В настройках CMDB выбрать Тип КЕ (или создать новый), в рамках которого планируется привязывать Пороги с указанием Слотов Компонентов
- Выбрать (или создать новый) компонент, в котором будут указаны Слоты
- Добавить Слоты
- В правилах Порогов обязательно добавить в Аннотации новое поле с именем
slot
и указать один из Слотов, созданных на предыдущем шаге, (и опционально) добавить полеcomponent
, если Компонентов >1 или название по умолчанию единственного изменено и ≠Common
. В качестве значения указать имя Компонента.
Если component
в Аннотациях не задан, привязка будет выполняться к компоненту по умолчанию.
У каждого Компонента могут быть собственные Слоты. Это необходимо учитывать при указании имен Компонентов и Слотов в Аннотациях правил Порогов.
Сценарий создания Сигналов по Порогам
Signal Processor for Thresholds.txt (github)
Тип сценария: SignalProcessor
Этот сценарий обрабатывает изменяющиеся пороговые значения метрик, создавая и закрывая Сигналы. Уровни критичности Сигналов соответствуют уровням, установленным в правилах Порогов.
Подтверждающие Сигналы не предусмотрены, т.к. если обновленная метрика не выходит за пределы предыдущего порогового значения, сценарий не активируется. В случае изменения уровня Порога, старый Сигнал закрывается и открывается новый, с новым уровнем критичности.
Если необходимые для работы Сценария привязки КЕ к Порогам метрик настройки не были выполнены и у Порогов нет привязанных к ним КЕ, то Сигналы по этим Порогам также будут создаваться без привязанных КЕ.
Даже если привязка КЕ к Порогам и Сигналам не требуется, для работы сигнального сценария всё равно необходимо наличие активного Сценария привязки КЕ к Порогам метрик, т.к. именно в него первоначально поступают события по порогам и выполняется переадресация этих данных в сигнальный сценарий.
В качестве дополнительной информации к Сигналу может быть добавлена ссылка на Порог, который спровоцировал создание Сигнала. Чтобы ссылки добавлялись, в сценарии автоматизации необходимо заполнить локальную переменную _FQDN
доменным именем инсталляции Monq в формате monq.domain.ru
В результате при клике по ссылке в этом же окне будет открываться график Порога.
Дополнительная информация
Если сценарии должны работать только с определенными правилами Порогов, их id нужно указать в настройках функции FilterStruct
и отключить передачу управления по пину False. Если оба пина True и False оставить подключенными, сценарий будет срабатывать по всем Правилам Порогов в пределах Рабочей группы.