如果有多个出口商,如何在普罗米修斯中区分警报规则
How to differentiate alert rules in Prometheus if there are multiple exporter
我想在多台服务器上监控 docker 容器 运行 假设我有 a,b 服务器和其中的容器 运行,现在我添加一台服务器 (d) I只想从服务器 c 监视所有服务器 (A,B) 内的所有 docker 个容器。我已将 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。请分享示例警报文件。提前致谢
我添加了 instance='ip'
来区分,即
expr: engine_daemon_container_states_containers{instance="serverA",state="running"} < 10
我想在多台服务器上监控 docker 容器 运行 假设我有 a,b 服务器和其中的容器 运行,现在我添加一台服务器 (d) I只想从服务器 c 监视所有服务器 (A,B) 内的所有 docker 个容器。我已将 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。请分享示例警报文件。提前致谢
我添加了 instance='ip'
来区分,即
expr: engine_daemon_container_states_containers{instance="serverA",state="running"} < 10