Skip to main content

Отправка уведомлений по метрикам (vmalerts)

Информация преведенная в данной статье расчитана исключительно на опытных пользователей KUMA и не является официально поддерживаемым сценарием.

Описание

С помощью встроенного в продукт модуля vmalerts есть возможность отправки уведомлений по достижении метриками, определенных пользователем, пороговых значений. Уведомления отправляются пользователю, как стандартные уведомления мониторинга. Используются настройки SMTP-сервера в KUMA (https://support.kaspersky.com/KUMA/2.1/ru-RU/217936.htm), а у пользователя должна быть включена возможность получения уведомлений KUMA.

Настройка Core вне кластера k0s

Настройка vmalerts осуществляется с помощью правил, которые должны быть помещены в директорию 

/opt/kasperksy/kuma/victoria-metrics/cfg/rules/

Настройка Core в кластере k0s

В случае размещения Core в кластере k0s правило может быть помещено в контейнер одним из следующих способов:

1. На любом контроллере, используя k0s:

export POD=$(k0s kubectl get pods --namespace kuma -l "app=core" -o jsonpath="{.items[0].metadata.name}")
k0s kubectl cp --no-preserve rule.yml kuma/$POD:/opt/kaspersky/kuma/victoria-metrics/cfg/rules/ -c core

Где rule.yml - заранее созданное правило для vmalert

2. С контрольной машины, если каталог с инсталлятором, в котором сохранен сертификат для kubectl, доступен. Используя kubectl:

export KUBECONFIG=/<some_path>/kuma-ansible-installer/artifacts/k0s-kubeconfig.yml
export POD=$(kubectl get pods --namespace kuma -l "app=core" -o jsonpath="{.items[0].metadata.name}")
kubectl cp --no-preserve rule.yml kuma/$POD:/opt/kaspersky/kuma/victoria-metrics/cfg/rules/ -c core

Где rule.yml - заранее созданное правило для vmalert, а <some_path> - директория, из которой производилась инсталляция KUMA

Пример правила для vmalert

Пример ниже отправляет уведомление в случае, если диск был заполнен более 80% в течение 2 минут

groups:
- name: Disk space greater than 80%
  rules:
  - alert: HighDiskSpaceUsageNewAlert
    expr: max(kuma_diskOS{job="kuma"}) > 0.8
    for: 2m

Название собираемых метрик для их использования в правилах vmalert можно посмотреть в веб-интерфейсе в разделе Метрики, если перейти в режим редактирования соответствующих дашбордов grafana:

image.png

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

В результате вышеописанных действий при сработке правила пользователь получит следующее уведомление:

image.png

Полезные ссылки

Подробнее про vmalert и создание правил: https://docs.victoriametrics.com/vmalert.html