从单独的prometheus服务器监视kubernetes集群及其所有服务,节点和pod

时间:2018-03-19 09:28:38

标签: kubernetes monitoring prometheus

我的情景如下

有一个prometheus服务器,我想监控我的devops服务器,开发部署(这是一个包含10个pod的kubernetes集群),qa部署和prod部署。

我想通过中央prometheus服务器监控所有这些部署和devops服务器。

我在这方面看过几篇文章。但他们都将komenetes集群中的设置prometheus引用。

寻求有关如何在单独的prometheus服务器上配置k8s群集的帮助。

1 个答案:

答案 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'