如何在 Prometheus + AlertManager 中将警报添加到某些 Prometheus 作业名称?
How can I add alerts in Prometheus + AlertManager to certain Prometheus Job Names?
我 运行 几个团队的 prometheus 实例,我希望能够为各个团队管理的服务器添加警报。
一个例子可能比我解释得更清楚:
假设 Team-A 想要添加一些服务器以供 Prometheus 监控。此外,他们希望在某些情况下(内存不足、停机等)发出警报。
目前,根据我的设置,所有作业名称中的所有服务器都在使用同一组规则进行监控和警报。我想要的是:
Docker-服务器收到一组警报-A
Nginx-服务器在一组警报-B 上得到警报
我不确定要在 Prometheus.yml 和 alert.rules.yml 文件中做什么才能实现这一点。
感谢任何帮助。
我终于弄明白了。
在 alertmanager 的 alert.rules.yml 文件中,您可以在 'expr' 行中指定一个正则表达式。
例如,如果我想监控服务器 'test1'、'test2'、'test3' 上的停机时间,您可以这样做:
expr: up{job=~"test1|test2|test3"} == 0
我 运行 几个团队的 prometheus 实例,我希望能够为各个团队管理的服务器添加警报。
一个例子可能比我解释得更清楚:
假设 Team-A 想要添加一些服务器以供 Prometheus 监控。此外,他们希望在某些情况下(内存不足、停机等)发出警报。
目前,根据我的设置,所有作业名称中的所有服务器都在使用同一组规则进行监控和警报。我想要的是:
Docker-服务器收到一组警报-A
Nginx-服务器在一组警报-B 上得到警报
我不确定要在 Prometheus.yml 和 alert.rules.yml 文件中做什么才能实现这一点。
感谢任何帮助。
我终于弄明白了。
在 alertmanager 的 alert.rules.yml 文件中,您可以在 'expr' 行中指定一个正则表达式。
例如,如果我想监控服务器 'test1'、'test2'、'test3' 上的停机时间,您可以这样做:
expr: up{job=~"test1|test2|test3"} == 0