如何配置 Prometheus Alertmanager 在任何容器出现故障时发出警报?

问题描述 投票:0回答:1

我正在使用 Prometheus Alertmanager 监控数十台主机以及这些主机上的数百个容器。当任何容器出现故障时我需要收到通知。我从文档中了解到可以为每个容器配置规则。然而,考虑到容器数量巨大,这种方法似乎不切实际。

有人可以指导我如何有效地配置这样的规则吗?任何帮助将不胜感激。谢谢。

我尝试按照 Alertmanager 文档中的建议为每个容器设置单独的规则。 然而,考虑到容器数量巨大,这种方法被证明效率极低且难以管理。

prometheus grafana rules prometheus-alertmanager cadvisor
1个回答
0
投票

第一步是在 prometheus.yml 中定义警报规则。

将此container.rules添加到主配置prometheus中:

rule_files:
 - 'container.rules' 

然后用以下内容填充container.rules:

sudo nano /etc/prometheus/container.rules

groups:
- name: cadvisor_alerts
  rules:
  - alert: ContainerDown
    expr: container_last_seen{job="cadvisor"} < time() - 300
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "Container down on {{ $labels.instance }}"
      description: "Container {{ $labels.container_name }} on {{ $labels.instance }} has not been seen for more than 5 minutes."

此查询检查容器最后一次出现是否超过 5 分钟(300 秒)前,表明它可能已关闭。

现在重新启动普罗米修斯服务:

sudo systemctl restart prometheus

您可以在 { http 或 https }://{ prometheus-url }:9090/alerts 中查看警报

© www.soinside.com 2019 - 2024. All rights reserved.