【问题标题】:How to differentiate alert rules in Prometheus if there are multiple exporter如果有多个导出器,如何区分 Prometheus 中的警报规则
【发布时间】:2021-03-18 12:30:17
【问题描述】:

我想监控在多台服务器上运行的 docker 容器 假设我有 a、b 服务器和其中运行的容器,现在我添加一个服务器 (d) 我想监控所有服务器 (A,B) 中的所有 docker 容器仅来自服务器 c。我已将 docker 配置为在遵循此 docker docs 的所有服务器上公开日志,而不使用 cAdvisor 。目标状态在所有服务器上都显示为“ok”,但问题是 docker 的所有容器的表达式都相同 Prometheus 无法区分服务器 任何人都可以使用表达式共享示例 Prometheus 规则文件,即停止容器的数量应该不小于 x 。这是我当前的规则文件

groups:

- name: Server_A
  rules:
  - alert: Central_service_down
    expr: engine_daemon_container_states_containers{state="running"} < 10
    for: 50s
    labels:
      severity: critical
      instance: <IP_of_A>:9323
    annotations:
      summary: "Monitor service non-operational"
      description: "Demo Service {{ $labels.instance }} is down."
- name: Server_B
  rules:
  - alert: Central_service_down
    expr: engine_daemon_container_states_containers{state="running"} < 10
    for: 50s
    labels:
      severity: critical
      instance: <IP_of_B>:9323
    annotations:
      summary: "Monitor service non-operational"
      description: "Demo Service {{ $labels.instance }} is down."

您可以看到expr: engine_daemon_container_states_containers{state="running"} &lt; 10 对于服务器 a 和 b 是相同的,我如何区分两者的 expr。请分享示例警报文件。在此先感谢

【问题讨论】:

    标签: prometheus prometheus-alertmanager prometheus-node-exporter


    【解决方案1】:

    我添加了instance='ip' 来区分,即 expr: engine_daemon_container_states_containers{instance="serverA",state="running"} &lt; 10

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 2022-01-26
      • 2016-08-30
      • 2021-04-23
      • 1970-01-01
      相关资源
      最近更新 更多