Проверка локального алертинга

Проверить работу локального алертинга в кластере клиентском или кластере управления можно, например, с помощью webhook, который записывает входящие сообщения в логи контейнера.

  1. Загрузите в кластер манифесты объектов 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:
        ruletype: alert
      name: example
      rules:
        - alert: ExampleAlert
          expr: vector(1)
      type: prometheus
  1. В кластере в боковом меню откройте раздел Сервисы и репозитории и перейдите на страницу Установленные сервисы, найдите компонент управления модуля мониторинга (shturval-metrics-collector). В блоке Спецификации сервиса настройте demo-webhook как получателя и укажите его в маршрутах для отправки алертов.
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

Сохраните внесенные изменения.

  1. В неймспейсе monitoring кластера перейдите к просмотру пода с именем demo-webhook. Откройте окно просмотра логов контейнера. В логах будут сообщения сработавших алертов в кластере.
Скриншот

webhooklocalalert2

webhooklocalalert

×