多个部署的普罗米修斯警报

Prometheus Alert for Multiple Deployments

我需要为 kubernetes 集群上给定应用程序 运行 的许多实例公开的 prometheus 指标实施警报。

必须按照以下格式在 .yaml 文件中创建警报:

- name: some-alert-name
  interval: 30s
  rules:
  - alert: name-alert
    expr: <Expression To Make>
    labels:
      event_id: XXXXX
    annotations:
      description: "Project {{ $labels.kubernetes_namespace }} / App {{ $labels.app }} / Pod {{ $labels.kubernetes_pod_name }} / Instance {{ $labels.instance }}."
      summary: "{{ $labels.kubernetes_namespace }}"

应用于警报的条件类似于:givenMetricValue > 4

我可以毫无问题地获取所有实例的指标值,因为我可以这样做:metricName{app=~"common-part-of-deployments-name-.*"}"

我的问题是有一个独特的警报,如果其中一个满足条件,就会触发一个表达式。

这可以做到吗? 如果可以,我该怎么做?

事实证明,如果您想使用像

这样的通用“全取”表达式来创建警报

metricName{app=~"common-part-of-deployments-name-.*"}"

将为正则表达式匹配的每个部署触发警报。因此,您只需要一个带有通用表达式的警报。