[英]Prometheus Alert Manager for Federation
我们有几个集群,我们的应用程序正在运行。 我们想建立一个中央监控集群,它可以使用 Prometheus Federation 从集群的其余部分抓取指标。
为此,我需要在每个集群中安装 prometheus 服务器,并通过中央集群中的联合安装 prometheus 服务器。我将在中央集群中安装 Grafana,以可视化我们从 prometheus 服务器的其余部分收集的指标。
所以问题是;
我应该在哪里设置警报管理器? 仅用于中央集群还是每个集群还必须是警报管理器?
使用联合时发出警报的最佳做法是什么?
我虽然可以使用入口控制器来公开每个普罗米修斯服务器? 在 k8s 中提供 prometheus 服务器和联邦之间的通信的最佳实践是什么?
基于此 博客
我应该在哪里设置警报管理器? 仅用于中央集群还是每个集群还必须是警报管理器?
使用联合时发出警报的最佳做法是什么?
这里的答案是在每个集群上都这样做。
如果您需要发出警报的数据从一个 Prometheus 移动到另一个 Prometheus,那么您就增加了一个额外的故障点。 当涉及互联网等 WAN 链接时,这尤其危险。 尽可能地,您应该尝试在联邦层次结构中尽可能深入地推送警报。 例如,应该在抓取该目标的 Prometheus 上设置有关目标关闭的警报,而不是可以删除几个步骤的全局 Prometheus。
我虽然可以使用入口控制器来公开每个普罗米修斯服务器? 在 k8s 中提供 prometheus 服务器和联邦之间的通信的最佳实践是什么?
我认为这取决于用例,在我检查的每个文档中,他们只使用 prometheus.yml 中的scrape_configs.static_configs
中的目标
喜欢这里
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
static_configs:
- targets:
- 'source-prometheus-1:9090'
- 'source-prometheus-2:9090'
- 'source-prometheus-3:9090'
或者
喜欢这里
prometheus.yml:
rule_files:
- /etc/config/rules
- /etc/config/alerts
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
static_configs:
- targets:
- 'prometheus-server:80'
此外,值得在本教程中查看他们是如何做到这一点的,他们使用helm在两个集群上构建了两个 prometheus 服务器的中央监控集群。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.