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

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

  1. Загрузите в кластер манифесты объектов 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
  1. Подготовьте 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
  1. В кластере загрузите с помощью импорта манифестов подготовленный ShturvalServicePatch.
Скриншот

collector_alertpatch

  1. Загрузите в кластер манифест объекта 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
  1. В неймспейсе monitoring кластера перейдите к просмотру пода с именем demo-webhook. Откройте окно просмотра логов контейнера. В логах будут сообщения сработавших алертах в кластере.
Скриншот

webhooklocalalert2

webhooklocalalert

×