从单独的 Prometheus 服务器监控 Kubernetes 集群及其所有服务、节点和 Pod



我的场景如下

有一个 Prometheus 服务器,我想监控我的 DevOps 服务器、dev 部署(这是一个有 10 个 pod 的 kubernetes 集群(、qa 部署和 prod 部署。

我想通过中央普罗米修斯服务器监控所有这些部署和DevOps服务器。

我看过几篇关于这种情况的文章。 但它们都提到了 Kubernetes 集群上的 Setup Prometheus。

查看有关如何在单独的普罗米修斯服务器上配置 k8s 集群的帮助。

根据 Prometheus Github 及其文档上的问题,从多个 K8s 集群获取数据的唯一最佳方法是使用 Federation。

无论如何,您都会有几个 Prometheus 服务器(不仅因为存储数据,还因为,例如,处理用于定义检查的自定义资源,请参阅设计文档了解它是如何工作的(,但在联合模式下,可以一起使用它的数据。

因此,您可以配置普罗米修斯的分层联邦。在该模式下,您可以将单独的 Prometheus 用作更高级别的服务器,它将从集群上的服务器收集数据。

您可以配置服务器以从在 K8s 集群上运行/federate Prometheus 服务器的端点获取指标。

来自文章:

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

最新更新