我的场景如下
有一个prometheus服务器,我想监控我的devops服务器,开发部署(这是一个有10个pod的kubernetes集群),qa部署和prod部署。
我想通过中央prometheus服务器监控所有这些部署和devops服务器。
我在这种情况下看过几篇文章。但它们都提到了在Kubernetes集群上设置prometheus。
寻找有关如何在单独的prometheus服务器上配置k8s集群的帮助。
基于Prometheus Github及其留档的问题,从几个K8s集群获取数据的唯一最佳方法是使用联邦。
无论如何,您将拥有多个Prometheus服务器(不仅是因为存储数据,还因为,例如,处理用于定义检查的自定义资源,请参阅有关其工作原理的设计文档),但在联合模式下,可以一起使用它的数据。
因此,您可以配置例如Prometheus的分层联邦。在这种模式下,您可以将单独的Prometheus用作更高级别的服务器,它将从集群上的服务器收集数据。
您可以配置您的服务器以从运行在K8s集群上的Prometheus服务器的/联邦
endpoint获取指标。
来自文章:
- 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'