【发布时间】: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"} < 10 对于服务器 a 和 b 是相同的,我如何区分两者的 expr。请分享示例警报文件。在此先感谢
【问题讨论】:
标签: prometheus prometheus-alertmanager prometheus-node-exporter