繁体   English   中英

如果有多个导出器,如何区分 Prometheus 中的警报规则

[英]How to differentiate alert rules in Prometheus if there are multiple exporter

我想监控在多台服务器上运行的 docker 容器假设我有 a、b 服务器和容器在其中运行,现在我添加一台服务器 (d) 我想监控所有服务器 (A,B) 内的所有 docker 容器仅从服务器c。 我已将 docker 配置为在所有服务器上公开日志,遵循此docker 文档而不使用 cAdvisor。 目标状态在所有服务器上显示“正常”,但问题是 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"} < 10对于服务器 a 和 b 是相同的,我如何区分两者的 expr。 请分享示例警报文件。提前致谢

我添加了instance='ip'来区分 ie expr: engine_daemon_container_states_containers{instance="serverA",state="running"} < 10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM