Webhook
На этой странице
Webhook используется для отправки сообщений в сервисы агрегации уведомлений, service-desk, task-manager.
- Имя пользователя (необязательное поле. Используется для авторизации в паре с паролем. Не требуется при использовании Bearer-токена.);
- Пароль (необязательное поле. Используется для авторизации в паре с именем пользователя. Не требуется при использовании Bearer-токена.);
- Bearer-токен (необязательное поле. Используется для авторизации. Не требуется при использовании имени пользователя и пароля);
- URL-прокси;
- Отправлять решенные: инициирует отправку сообщения о том, что оповещение перестало быть актуальным. По умолчанию: да;
- Максимальное количество оповещений, отправляемых в одном сообщении webhook: Максимальное количество предупреждений, отправляемых на одно сообщение веб-перехватчика. При значении 0 - включаются все оповещения;
- URL-адрес (обязательное поле): эндпоинт для отправки HTTP-запросов;
- Использовать TLS: да/нет (по умолчанию нет); При необходимости настроить безопасное соединение дополнительно необходимо ввести:
- Имя сервера (обязательное поле);
- Файл сертификата УЦ (обязательное поле) CAFile Файл сертификата удостоверяющего центра в формате base64;
- Файл сертификата клиента (обязательное поле) Файл сертификата клиента в формате base64;
- Файл ключа клиента (обязательное поле) Файл ключа клиента в формате base64;
- Нужно ли отключить проверку сертификата (по умолчанию нет);
Обратите внимание! Файл сертификата должен содержать:
``` ----BEGIN CERTIFICATE---- и ----END CERTIFICATE---- ```По завершении настройки получателя необходимо настроить, какие оповещения будут отправляться по этому каналу. Для этого в разделе Кластер/Оповещения/Маршруты настройте отправку оповещений по этому каналу. При необходимости выберите лейблы уведомлений, которые будут служить фильтром для отправки по заданному каналу.
Пример настройки 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
-
В кластере, для которого необходимо настроить алертинг, перейдите в раздел Кластер/Оповещения/Получатели, создайте получателя с типом webhook. В поле
URL-адресвведите значение:http://demo-webhook.monitoring.svc/webhook. В качестве имени получателя укажитеdemo-webhook. Остальные поля оставьте незаполненными. Сохраните внесенные изменения. -
В разделе Кластер/Оповещения/Маршруты настройте отправку оповещений по этому каналу. При необходимости выберите лейблы уведомлений, которые будут служить фильтром для отправки по заданному каналу.
-
В неймспейсе
monitoringкластера управления перейдите к просмотру пода с именемdemo-webhook. Откройте окно просмотра логов контейнера. В случае корректной настройки в логах будут сообщения сработавших алертов в кластере.
Скриншот

