将 Pod 指标拉取到外部普罗米修斯
Pull pod metrics to external prometheus
我正在尝试使用 EKS 集群内部的所有指标 EC2(CPU、内存、磁盘)和 Pods(CPU、内存、磁盘)现有的普罗米修斯(集群外部)。我开始使用 node-exporter、kube-state-metrics 添加数据,但我一直坚持部署 metrics-server。使用 helm 我确认并安装了它,kube top
和 kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods" | jq
正在提取数据,但是有人可以建议我如何将所有这些提取到我的外部 Prometheus 吗?
有没有办法将其公开给 /metrics URL?
谢谢!
我认为你最好的选择是使用 prometheus federation。在该设置中,
您将拥有一个集群内 prometheus 和您原来的外部 prometheus。集群内的 prometheus 进行实际的收集和临时存储。
在您的外部普罗米修斯中,您将抓取集群内普罗米修斯的 /federate
端点。 /federate
专为您正在尝试的用例而设计
这是实现高效且可靠的指标抓取的最佳方法。通过 apiserver 获取指标不是一个好方法。即使可能,也会给 apiserver 带来不必要的压力。
我正在尝试使用 EKS 集群内部的所有指标 EC2(CPU、内存、磁盘)和 Pods(CPU、内存、磁盘)现有的普罗米修斯(集群外部)。我开始使用 node-exporter、kube-state-metrics 添加数据,但我一直坚持部署 metrics-server。使用 helm 我确认并安装了它,kube top
和 kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods" | jq
正在提取数据,但是有人可以建议我如何将所有这些提取到我的外部 Prometheus 吗?
有没有办法将其公开给 /metrics URL?
谢谢!
我认为你最好的选择是使用 prometheus federation。在该设置中,
您将拥有一个集群内 prometheus 和您原来的外部 prometheus。集群内的 prometheus 进行实际的收集和临时存储。
在您的外部普罗米修斯中,您将抓取集群内普罗米修斯的
/federate
端点。/federate
专为您正在尝试的用例而设计
这是实现高效且可靠的指标抓取的最佳方法。通过 apiserver 获取指标不是一个好方法。即使可能,也会给 apiserver 带来不必要的压力。