【问题标题】:Certain Prometheus alerts end up as "Not grouped"某些 Prometheus 警报最终显示为“未分组”
【发布时间】:2021-09-05 19:20:13
【问题描述】:

我正在 AKS 1.19.9 上使用 Prometheus Alertmanager (bitnami/alertmanager:0.21.0) 运行 Prometheus (bitnami/prometheus:2.25.2)。
警报由 Alertmanager 处理,Alertmanager 又将警报路由到松弛通道。

我注意到最近某些警报最终出现在 Prometheus Alertmanager WebUI 中的“未分组”部分,并且没有进入 Slack 频道。

我无法解释这一点,因为它们按 [cluster, alertname] 分组并且确实包含这些标签(在屏幕截图中模糊,但 cluster 包含相同的值)。

为了让事情变得更加混乱(无论如何对我来说),某些警报也有这些标签并且发送正确。

配置中的警报管理器路由树:

spec:
  route:
    groupWait: 30s
    groupInterval: 5m
    repeatInterval: 3h
    receiver: fallback
    routes:
    - matchers:
      - name: team
        value: platform-engineering
      groupBy: [cluster, alertname]
      receiver: fallback
      routes:
      - matchers:
        - name: severity
          value: critical
        groupBy: [cluster, alertname]
        receiver: alerts-critical
      - matchers:
        - name: severity
          value: warning
        groupBy: [cluster, alertname]
        receiver: alerts-warning

有人愿意试一试这里有什么问题吗?我显然错过了一些东西:-)
非常感谢!

【问题讨论】:

    标签: kubernetes prometheus azure-aks prometheus-alertmanager


    【解决方案1】:

    认为我找到了问题所在。 集群上运行的 Prometheus 由 Prometheus 操作员配置:bitnami/prometheus-operator:0.53.1 上面列出的路由树是您在部署之前查看 Prometheus 警报管理器配置时看到的。

    但是……当您部署后访问 Prometheus 警报管理器 WebUI 并单击页面顶部的“状态”选项卡时,它讲述了一个不同的故事。 我发现运营商在部署期间向路由树中注入了一个额外的匹配器。

    这显然会对警报的匹配和分组产生影响,特别是如果击中路由树的警报并非源自命名空间监控。

    在我的例子中,这里只有监控工作负载,大部分工作负载来自监控之外的命名空间。

    阅读 Prometheus Operator repo 上的 GitHub issue 3737,证实了这一怀疑。

    作为一种解决方法,我尝试了 Till Adam 的建议:

    kind: clustermanagement
    namespace: prometheus
    source_namespace: '{{ $labels.namespace }}'
    

    有了这个,我们在 prometheus 命名空间中有一个 alertmanagerconfig 负责所有与集群相关的警报,无论指标最初具有什么命名空间标签。

    请注意,使用此功能时也应调整您的警报规则!发出警报的实际命名空间现在位于source_namespace

    我遇到的唯一边缘情况是您最终丢失了命名空间标签。这似乎发生在警报表达式使用聚合运算符(例如计数)时。

    如果我没记错的话,PR3821 将介绍此挑战的修复程序(全局 alertmanagerconfig)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      相关资源
      最近更新 更多