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

<p class="callout danger">Информация преведенная в данной статье расчитана исключительно на опытных пользователей KUMA и **не** является официально поддерживаемым сценарием.</p>

<p class="callout danger">Данная инструкция актуальна для версий KUMA **до** появления отдельного сервиса **metrics**.</p>

### Описание

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

```bash
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:

```bash
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 минут

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

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

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-11/scaled-1680-/4Lzimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-11/4Lzimage.png)

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

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

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-11/scaled-1680-/Rjbimage.png)

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

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