【问题标题】:How to match the PrometheusRule to the AlertmanagerConfig with Prometheus Operator如何使用 Prometheus Operator 将 PrometheusRule 与 AlertmanagerConfig 匹配
【发布时间】:2021-03-16 21:46:32
【问题描述】:

我有多个prometheusRules(rule a, rule b),每个规则定义了不同的exp来约束alert;然后,我有不同的AlertmanagerConfig(一个接收器是松弛的,然后另一个接收器是opsgenie);我们如何在规则和alertmanagerconfig 之间建立联系?例如:如果触发了规则 a,我想向 slack 发送消息;如果触发了规则 b,我想向opsgenie 发送消息。

这是我尝试过的,但是,它不起作用。我错过了什么吗?

这是prometheuisRule 文件

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  labels:
    prometheus: service-prometheus
    role: alert-rules
    app: kube-prometheus-stack
    release: monitoring-prom
  name: rule_a
  namespace: monitoring
spec:
  groups:
    - name: rule_a_alert
      rules:
        - alert: usage_exceed
          expr: salesforce_api_usage > 100000
          labels:
            severity: urgent

这是alertManagerConfig

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  labels:
    alertmanagerConfig: slack
  name: slack
  namespace: monitoring
  resourceVersion: "25842935"
  selfLink: /apis/monitoring.coreos.com/v1alpha1/namespaces/monitoring/alertmanagerconfigs/opsgenie-and-slack
  uid: fbb74924-5186-4929-b363-8c056e401921
spec:
  receivers:
  - name: slack-receiver
    slackConfigs:
    - apiURL:
        key: apiURL
        name: slack-config
  route:
    groupBy:
    - job
    groupInterval: 60s
    groupWait: 60s
    receiver: slack-receiver
    repeatInterval: 1m
    routes:
    - matchers:
      - name: job
        value: service_a
      receiver: slack-receiver

【问题讨论】:

    标签: kubernetes prometheus prometheus-alertmanager prometheus-operator


    【解决方案1】:

    您需要匹配警报的标签,在您的情况下,您尝试将标签 job 与不存在的值 service_a 匹配。您可以通过更改 alertManagerConfig 文件中的 match 来匹配 prometheuisRule 文件中确实存在的标签,例如 severity:

    route:
      routes:
      - match:
          severity: urgent
        receiver: slack-receiver
    

    或者您可以在 prometheuisRule 文件中添加另一个标签:

    spec:
      groups:
        - name: rule_a_alert
          rules:
            - alert: usage_exceed
              expr: salesforce_api_usage > 100000
              labels:
                severity: urgent
                job: service_a
    

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 2017-11-25
      • 2017-12-24
      • 2022-08-24
      • 1970-01-01
      • 2019-10-31
      相关资源
      最近更新 更多