繁体   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