Как настроить получателей оповещений
Webhook, Email и Telegram — раздел «Оповещения» → «Получатели».
Получатели настраиваются в GUI: Оповещения → Получатели. Общие сведения о типах получателей, маршрутах и порядке настройки — в разделе Настройка алертинга.
После создания получателя укажите, какие оповещения отправлять по каналу: Оповещения → Маршруты (см. маршруты).
Webhook
Webhook используется для отправки сообщений в сервисы агрегации уведомлений, service-desk, task-manager.
| Параметр | Описание |
|---|---|
| Имя пользователя | Используется для авторизации в паре с паролем. Не требуется при использовании Bearer-токена. |
| Пароль | Используется для авторизации в паре с именем пользователя. Не требуется при использовании Bearer-токена. |
| Bearer-токен | Используется для авторизации. Не требуется при использовании имени пользователя и пароля. |
| URL-прокси | |
| Отправлять решенные | Инициирует отправку сообщения о том, что оповещение перестало быть актуальным. По умолчанию: да. |
| Максимальное количество оповещений, отправляемых в одном сообщении webhook | Максимальное количество предупреждений, отправляемых на одно сообщение веб-перехватчика. При значении 0 - включаются все оповещения. |
| URL-адрес | Эндпоинт для отправки HTTP-запросов. |
| Использовать TLS | По умолчанию нет. При необходимости настроить безопасное соединение дополнительно необходимо ввести: Имя сервера, Файл сертификата УЦ, Файл сертификата клиента,Файл ключа клиента |
| Имя сервера | |
| Файл сертификата УЦ | CAFile. Файл сертификата удостоверяющего центра в формате base64. |
| Файл сертификата клиента | Файл сертификата клиента в формате base64. |
| Файл ключа клиента | Файл ключа клиента в формате base64. |
| Нужно ли отключить проверку сертификата | По умолчанию нет. |
----BEGIN CERTIFICATE---- и ----END CERTIFICATE----
Пример настройки webhook
Шаг 1. Загрузить demo-webhook
Загрузите в кластер управления манифесты объектов Deployment, Service, VMRule с помощью импорта манифестов.
Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-webhook
namespace: monitoring
labels:
app: demo-webhook
spec:
replicas: 1
selector:
matchLabels:
app: demo-webhook
template:
metadata:
creationTimestamp: null
labels:
app: demo-webhook
spec:
terminationGracePeriodSeconds: 30
automountServiceAccountToken: false
containers:
- name: demo-webhook
image: quay.io/mgoerens/demo-webhook-receiver-alertmanager:0.0.1
imagePullPolicy: IfNotPresent
env:
- name: PORT
value: "8080"
livenessProbe:
httpGet:
path: /healthz
port: 8080
readinessProbe:
httpGet:
path: /healthz
port: 8080
resources:
limits:
cpu: 10m
memory: 30Mi
requests:
cpu: 10m
memory: 30Mi
securityContext:
capabilities:
drop:
- ALL
allowPrivilegeEscalation: false
Service — иллюстрация
apiVersion: v1
kind: Service
metadata:
name: demo-webhook
namespace: monitoring
labels:
app: demo-webhook
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: demo-webhook
VMRule — иллюстрация
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMRule
metadata:
labels:
app: demo-webhook
role: user
name: example-alert
namespace: victoria-metrics
spec:
groups:
- concurrency: 1
interval: 1m
labels:
app: demo-webhook
ruletype: alert
name: example
rules:
- alert: ExampleAlert
expr: vector(1)
type: prometheus
Шаг 2. Создать получателя webhook
В кластере, для которого необходимо настроить алертинг, перейдите в раздел Кластер → Оповещения → Получатели, создайте получателя с типом webhook. В поле URL-адрес введите значение: http://demo-webhook.monitoring.svc/webhook. В качестве имени получателя укажите demo-webhook. Остальные поля оставьте незаполненными. Сохраните внесенные изменения.
Шаг 3. Настроить маршрут
В разделе Кластер → Оповещения → Маршруты настройте отправку оповещений по этому каналу. При необходимости выберите лейблы уведомлений, которые будут служить фильтром для отправки по заданному каналу.
Шаг 4. Проверить логи
В неймспейсе monitoring кластера управления перейдите к просмотру пода с именем demo-webhook. Откройте окно просмотра логов контейнера. В случае корректной настройки в логах будут сообщения сработавших алертов в кластере.
Скриншот интерфейса платформы


Telegram
Шаг 1. Подготовить бота и получателя
Для настройки отправки оповещений в telegram необходимо:
- Создать telegram-бота.
- Определить получателя: это может быть отправка пользователю или в чат группе пользователей.
Шаг 2. Настроить получателя в интерфейсе
Когда бот и получатели определены, в графическом интерфейсе настройте получателя:
| Параметр | Описание |
|---|---|
| Telegram API URL | Имеет дефолтное значение, необязательно для заполнения. |
| Формат сообщения | Markdown, Markdownv2, HTML. По умолчанию HTML. |
| Токена бота | От имени которого будет отправляться оповещение. |
| Идентификатор чата | Индивидуального или группового. Узнать идентификатор можно, стартовав из требуемого чата диалог в боте: https://t.me/userinfobot |
| Отправлять решенные | Инициирует отправку сообщения о том, что оповещение перестало быть актуальным. По умолчанию: да. |
| Отключить уведомления | Сообщения будут приходить без звукового уведомления. По умолчанию нет. |
| Шаблон уведомления в текстовом формате | Если шаблон не заполнить, то будет приходить сообщение по стандартному шаблону оператора, например: |
Пример оповещения без настройки шаблона
Alerts Firing: Labels:
- alertname = example
- alertgroup = warning
- cluster = clustername
- ruletype = alert
- severity = warning Annotations:
- description = demo
- summary = demo Source: http://vmalert-vmalert-503055269-6467fdc88f-5srrs:8080/vmalert/alert?group_id=13440678846293985821&alert_id=946083850580454XXX
Кроме того, вы можете настроить шаблон непосредственно в поле шаблона. Так, например, чтобы вывести информацию о дате и времени срабатывания, уровне критичности и описании, можно использовать шаблон непосредственно в поле “Шаблон уведомления в текстовом формате “:
Пример настройки шаблона
{{ define "telegram.message" }}
{{ if eq .Status "firing" }}🔥{{ else }}✅{{ end }} *[{{ .Status | toUpper }}] {{ .CommonLabels.alertname }}*
{{ range .Alerts }}
*Severity:* {{ .Labels.severity | title }}
*Summary:* {{ .Annotations.summary }}
*Time:* {{ .StartsAt.Format "2006-01-02 15:04:05 UTC" }}
{{ if .Annotations.description }}*Description:* {{ .Annotations.description }}
{{ end -}}
{{ if .Annotations.runbook }}[Runbook]({{ .Annotations.runbook }})
{{ end -}}
{{ end }}
{{ template "telegram.message" . }}
Тогда оповещение будет иметь вид:
Пример оповещения по шаблону из примера выше
🔥 [FIRING] TargetDown
Severity: Warning Summary: One or more targets are unreachable. Time: 2025-06-20 03:20:30 UTC
Description: 50% of the vector/ targets in logging namespace are down.
| Параметр | Описание |
|---|---|
| Использовать TLS | Да/нет. По умолчанию нет. |
Учетные данные для отправки (НЕОБЯЗАТЕЛЬНО): пара “Имя пользователя”/“Пароль” или “Bearer-токен”.
| Параметр | Описание |
|---|---|
| Имя пользователя | Используется для авторизации в паре с паролем. Не требуется при использовании Bearer-токена. |
| Пароль | Используется для авторизации в паре с именем пользователя. Не требуется при использовании Bearer-токена. |
| Bearer-токен | Используется для авторизации. Не требуется при использовании имени пользователя и пароля. |
При необходимости настроить безопасное соединение дополнительно необходимо ввести:
| Параметр | Описание |
|---|---|
| Имя сервера | |
| Файл сертификата УЦ | CAFile. Файл сертификата удостоверяющего центра в формате base64. |
| Файл сертификата клиента | Файл сертификата клиента в формате base64. |
| Файл ключа клиента | Файл ключа клиента в формате base64. |
| Нужно ли отключить проверку сертификата | По умолчанию нет. |
По завершении настройки получателя необходимо настроить, какие оповещения будут отправляться по этому каналу. Для этого в разделе Кластер → Оповещения → Маршруты настройте отправку оповещений по этому каналу. При необходимости выберите лейблы уведомлений, которые будут служить фильтром для отправки по заданному каналу.
В зависимости от провайдера вашей почты для настройки оповещения по Email потребуется заполнить данные. Так, например, Gmail обязательно требует авторизационные данные.
| Параметр | Описание |
|---|---|
| Идентификатор авторизации | Необходим для SMTP авторизации с использованием PLAIN. |
| Имя пользователя | Необходимо для SMTP авторизации с использованием CRAM-MD5, LOGIN или PLAIN. Если авторизация не используется, оставьте поле незаполненным. |
| Пароль | Необходим для SMTP авторизации с использованием CRAM-MD5, LOGIN или PLAIN. Если авторизация не используется, оставьте поле незаполненным. |
| Секрет авторизации | Необходим для SMTP авторизации с использованием CRAM-MD5. Если авторизация с CRAM-MD5 не используется, оставьте поле незаполненным. |
| E-mail получателя | Целевой e-mail-адрес для получения оповещений. |
| Служебные заголовки | Состоящие из имени заголовка и тела заголовка. |
| Hostname для идентификации SMTP-сервера | Необязательное. |
| Шаблон уведомления в формате HTML | |
| Отправлять решенные | Инициирует отправку сообщения о том, что оповещение перестало быть актуальным. По умолчанию: да. |
| SMTP сервер | Обязательное поле. |
- на стороне сервера должны быть открыты порты 25 и/или 587 для SMTP, 465 для SMTPS;
- при алертинге в кластере (клиентском, управления) платформы “Штурвал” не установлено ограничений на выход по перечисленным портам.
Пример настройки отправки на devmail
Шаг 1. Подготовить конфигурацию maildev
Подготовьте файл конфигурации maildev:
Манифест файла конфигурации maildev
image:
registry: mirror.gcr.io
repository: maildev/maildev
pullPolicy: IfNotPresent
# tag: "2.2.1"
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
ingress:
annotations:
cert-manager.io/cluster-issuer: <ваше значение параметра>
enabled: true
className: "nginx"
hosts:
- host: <ваше значение параметра>
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: maildev-ingress-tls
hosts:
- <ваше значение параметра>
| Параметр | Описание | Тип данных | По умолчанию |
|---|---|---|---|
cert-manager.io/cluster-issuer |
Имя Clusterissuer кластера управления | string | corp-acme |
host |
Хост будущего maildev. Формируется по принципу maildev.имя-кластера-управления.<base_domain>. | string | maildev.clustername.ip-XX-XX-XXX-XXX.shturval.link |
Шаг 2. Установить devmail
Установите devmail с полученным файлом конфигурации в неймспейс monitoring кластера управления.
Команда для установки devmail
Не забудьте в конце команды вместо ИМЯ-ФАЙЛА-КОНФИГУРАЦИИ вписать имя, с которым вы сохранили конфигурационный файл!
helm upgrade --install -n monitoring maildev https://github.com/christianknell/helm-charts/releases/download/maildev-1.3.4/maildev-1.3.4.tgz -f ИМЯ-ФАЙЛА-КОНФИГУРАЦИИ
В случае, если настройка корректна, в неймспейсе monitoring кластера управления появится Pod с префиксом maildev.
Скриншот интерфейса платформы

Шаг 3. Создать получателя email
В кластере, для которого требуется настроить отправку оповещения на почту, в разделе Кластер → Оповещения → Получатели создайте получателя с типом “email”.
Заполните отправителя, получателя. Пропишите SMTP сервер: maildev-smtp.monitoring.svc:1025.
Если настройка верна, то по адресу, указанному в качестве хоста в конфигурационном файле (https://maildev.имя-кластера-управления.<base_domain>/#/) будет доступен maildev.
Шаг 4. Настроить маршрут и проверить
В разделе Кластер → Оповещения → Маршруты настройте отправку оповещений по этому каналу. При необходимости выберите лейблы уведомлений, которые будут служить фильтром для отправки по заданному каналу.
Скриншот интерфейса платформы

Если настройка оказалось верной, то на devmail вы увидите уведомление следующего вида:
Скриншот интерфейса платформы
