我的情景如下
有一个prometheus服务器,我想监控我的devops服务器,开发部署(这是一个包含10个pod的kubernetes集群),qa部署和prod部署。
我想通过中央prometheus服务器监控所有这些部署和devops服务器。
我在这方面看过几篇文章。但他们都将komenetes集群中的设置prometheus引用。
寻求有关如何在单独的prometheus服务器上配置k8s群集的帮助。
答案 0 :(得分:0)
根据有关普罗米修斯Github及其文档的问题,从多个K8群集中获取数据的唯一最佳方法是使用Federation。
无论如何,您将拥有多个Prometheus服务器(不仅因为存储数据,还因为处理custom resource用于定义检查,请参阅design document有关其工作方式),但在联邦模式下,可以将它的数据一起使用。
因此,您可以配置Prometheus的Hierarchical Federation。在该模式下,您可以将单独的Prometheus用作更高级别的服务器,该服务器将从群集中的服务器收集数据。
您可以配置服务器以获取在K8群集上运行的Prometheus服务器的/federate
端点获取指标。
来自article:
- 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'