首页 > 解决方案 > 将 pod 指标拉取到外部 prometheus

问题描述

我正在尝试使用现有的 Prometheus(集群外部)从 EKS 集群内部聚合所有指标、EC2(CPU、内存、磁盘)和 Pod(CPU、内存、磁盘)。我开始使用 node-exporter、kube-state-metrics 添加数据,但我一直在部署 metrics-server。使用 helm 我配置并安装了它,kube top并且kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods" | jq正在提取数据,但是有人可以建议我如何将所有这些都拉到我的外部 Prometheus 上吗?有没有办法将此暴露给 /metrics URL?谢谢!

标签: kubernetesprometheusamazon-eks

解决方案


我认为你最好的选择是使用普罗米修斯联盟。在那个设置中,

  1. 您将拥有一个集群内 prometheus 和您原来的外部 prometheus。集群内的 prometheus 进行实际的收集和临时存储。

  2. 在您的外部 prometheus 中,您将抓取/federate集群内 prometheus 的端点。/federate专为您正在尝试的用例而设计

这是获得高性能和可靠的指标抓取的最佳方法。通过 apiserver 获取指标不是一个好方法。即使有可能,也会给 apiserver 带来不必要的压力。


推荐阅读