簡體   English   中英

如何獲取在 prometheus 中運行的 pod 數量

[英]How to get number of pods running in prometheus

我正在從 prometheus 中抓取 kubernetes 指標,並且需要提取正在運行的 pod 的數量。

我可以看到 container_last_seen 指標,但我應該如何讓 Pod 不運行。 有人可以幫忙嗎?

如果您需要獲取正在運行的 pod 的數量,您可以使用 pod 指標列表中的指標https://github.com/kubernetes/kube-state-metrics/blob/master/docs/pod-metrics.md (要獲得純粹關於 pod 的信息,使用特定於 pod 的指標是有意義的)。 例如,如果您需要獲取每個命名空間的 pod 數量,它將是: count(kube_pod_info{namespace="$namespace_name"}) by (namespace)獲取集群上運行的所有 pod 的數量,然后執行: count(kube_pod_info)

假設您想根據您的問題標簽在 Grafana 中顯示它,例如,從此Kubernetes App Metrics儀表板:

count(count(container_memory_usage_bytes{container_name="$container", namespace="$namespace"}) by (pod_name))

您可以只導入儀表板並使用查詢。

根據您的配置/部署,您可以調整變量container_namenamespaceby (pod_name)分組並count 'ing 它就可以了。 可以使用除pod_name之外的其他標簽,只要它在您要計數的 pod 之間共享即可。

如果您只想查看某個命名空間中“已部署”的 pod 的數量,您可以使用之前答案中的解決方案。

我的用例是在某個命名空間中查看當前正在運行的 pod,下面是我的解決方案:

'min_over_time(sum(group(kube_pod_container_status_ready{namespace="BC_NAME"}) by (pod,uid)) [5m:1m]) OR on() vector(0)'

請將 BC_NAME 替換為您的命名空間名稱。 時間跨度為您提供了良好的數據。

如果未找到數據 - 當前沒有運行 pod,則返回“0”

暫無
暫無

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

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