Проверка работы локального алертинга
Проверить работу локального алертинга в кластере клиентском или кластере управления можно, например, с помощью webhook, который записывает входящие сообщения в логи контейнера.
- Загрузите в кластер манифесты объектов
Deployment,Serviceс помощью импорта манифестов.
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
- Подготовьте ShturvalServicePatch для применения к спецификации (ssc) Компонента управления модуля мониторинга (
shturval-metrics-collector), где задайте требуемую конфигурацию вalertmanager.
ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: metrics-collector-alertmanager
spec:
shturvalServiceConfigName: shturval-metrics-collector
customvalues:
alertmanager:
enabled: true
config:
receivers:
- name: blackhole
- name: demo-webhook
webhook_configs:
- max_alerts: 5
send_resolved: false
url: http://demo-webhook.monitoring.svc/webhook
route:
routes:
- matchers:
- app = "demo-webhook"
receiver: demo-webhook
- В кластере загрузите с помощью импорта манифестов подготовленный ShturvalServicePatch.
Скриншот

- Загрузите в кластер манифест объекта
VMRuleс помощью импорта манифестов.
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
VMRule кластера управления
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMRule
metadata:
labels:
cluster: clustername
monitoringid: "0"
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
- В неймспейсе
monitoringкластера перейдите к просмотру пода с именемdemo-webhook. Откройте окно просмотра логов контейнера. В логах будут сообщения сработавших алертах в кластере.
Скриншот

