簡體   English   中英

帶有 pod 標簽的 Prometheus kubelet 指標

[英]Prometheus kubelet metrics with pod labels

我想弄清楚,如何使用 prometheus-stack 將 pod 標簽從 kubelet 指標中獲取到指標標簽中 在我們的環境中,我們需要 hash pod 名稱(由於長度限制),因此我們的應用程序名稱、環境和單元名稱保存在 pod 標簽中。

我們使用 prometheus-stack(helm 安裝)從 kubelet(/metrics、/metrics/cadvisor)收集指標,由於指標標簽中缺少 pod 標簽,很難知道哪個指標屬於哪個應用程序。

Prometheus-stack 使用 sd_kubernetes_config 和端點規則來收集 kubelet 指標,其中 __meta 標簽無法用於 pod 標簽。 還有另一種方法如何在度量標簽中獲取該標簽?

我還嘗試使用 kubeStateMetrics 收集 pod_labels 指標,我可以在其中獲取包含 pod 標簽的指標,但我無法弄清楚如何以 cadvisor 的指標將顯示其值的方式顯示這兩個指標,而 kubeStateMetrics 的指標將用於顯示它的標簽(在普羅米修斯圖中)。

感謝您的任何建議。

據我所知,您真的可以使用基於 pod 標簽的過濾指標。 看原答案:

您可以使用+運算符加入指標。 在這里, group_left()將包含來自右側度量kube_pod_labels label_source 您加入的指標被強制為零(即0 * kube_pod_labels ),這樣它就不會影響第一個指標的結果。

(
kube_pod_info{namespace="test"}
)
   + on(namespace) group_left(label_source)
(
   0 * kube_pod_labels
)

事實上,度量標准可能會很長而且很糟糕。 但是,在 prometheus 中創建您期望的內容是一種有效的方法,即帶有 pod 標簽的 kubelet 指標。

另請參閱本指南- 它描述了如何通過 label 將 Prometheus 指標與 PromQL 和另一個指南- 如何使用 PromQL 連接以更有效地大規模查詢 Prometheus 指標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM