[英]Prometheus is not collecting pod metrics
我將 Prometheus 和 Grafana 部署到我的集群中。
當我打開儀表板時,我沒有獲得 pod CPU 使用率的數據。
當我檢查 Prometheus UI 時,它顯示 pods 0/0 up,但是我的集群中有很多 pods 正在運行。
可能是什么原因? 我在所有節點中都運行了節點導出器。
我正在為 kube-state-metrics 獲取此信息,
I0218 14:52:42.595711 1 builder.go:112] Active collectors: configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,jobs,limitranges,namespaces,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets
I0218 14:52:42.595735 1 main.go:208] Starting metrics server: 0.0.0.0:8080
這是我的 Prometheus 配置文件: https : //gist.github.com/karthikeayan/41ab3dc4ed0c344bbab89ebcb1d33d16
我能夠點擊並獲取以下數據:
http://localhost:8080/api/v1/nodes/<my_worker_node>/proxy/metrics/cadvisor
正如karthikeayan在評論中提到的:
好的,我在
values.yaml
評論中發現了一些有趣的values.yaml
, prometheus.io/ scrape :只values.yaml
值為 true 的pod,當我在 k8s configmap 中刪除這個 relabel_config 時,我在 prometheus ui 中得到了數據..不幸的是 k8s configmap沒有評論,我相信 helm 會在部署之前刪除評論。
只是為了澄清:
kube-state-metrics 與 metrics-server
metrics-server是一個受Heapster啟發的項目,旨在實現 Kubernetes 監控管道的目標。 它是一個集群級別的組件,它通過摘要 API 從 Kubelet 服務的所有 Kubernetes 節點定期抓取指標。 指標被聚合、存儲在內存中並以 Metrics API 格式提供。 度量服務器僅存儲最新值,不負責將度量轉發到第三方目的地。
kube-state-metrics專注於從 Kubernetes 的對象狀態生成全新的指標(例如基於部署、副本集等的指標)。 它在內存中保存 Kubernetes 狀態的完整快照,並基於它不斷生成新的指標。 就像度量服務器一樣,它也不負責將其度量導出到任何地方。
將 kube-state-metrics 作為單獨的項目還可以從 Prometheus 等監控系統訪問這些指標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.