在特定时间点从 alertmanager 将所有触发警报同步到 webhook

sync all firing alerts to webhook at specific point in time from alertmanager

由于 webhook 的同步要求,正在尝试在特定时间点将所有触发警报重新发送到 webhook。 Prometheus 和 alertmanager 部署在 gcp 的 kubernetes 集群中。

知道如何做到这一点。 repeat_intervall 仅在 12 小时后重新发送一个特定警报,但需要一次发送所有警报。

找到附件我的 alertmanager 配置

  config:
    global:
      resolve_timeout: 5m
    route:
      group_by: ['job']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: 'null'
      routes:
      - match:
          alertname: Watchdog
        receiver: 'null'
      - match_re:
          severity: ".*"
        receiver: 'webhook-prod1'
        continue: true
      - match_re:
          severity: ".*"
        receiver: 'webhook-prod2'
    receivers:
    - name: 'null'
    - name: 'webhook-prod1'
      webhook_configs:
      - send_resolved: true
        url: 'http://xx.xx.xx.xx:9090/probe/webhook/prometheus/'
        http_config:
          basic_auth:
            username: "username"
            password: <secret>
    - name: 'webhook-prod2'
      webhook_configs:
      - send_resolved: true
        url: 'http://xx.xx.xx.xx:9090/probe/webhook/prometheus/'
        http_config:
          basic_auth:
            username: "username"
            password: <secret>
    templates:
    - '/etc/alertmanager/config/*.tmpl'

alertmanager中好像暂时没有这样的配置。

相反,您可以 调用警报管理器 api 以在您的 webhook 系统中的特定时间点获取所有当前触发的警报,方法与 amtool 确实如此。

swagger openapi文档如下:

Alertmanager API