Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get number of pods running in prometheus

I am scraping the kubernetes metrics from prometheus and would need to extract the number of running pods.

I can see container_last_seen metrics but how should i get no of pods running. Can someone help on this?

like image 601
MAG Avatar asked Dec 03 '18 14:12

MAG


2 Answers

If you need to get number of running pods, you can use a metric from the list of pods metrics https://github.com/kubernetes/kube-state-metrics/blob/master/docs/pod-metrics.md for that (To get the info purely on pods, it'd make sens to use pod-specific metrics). For example if you need to get the number of pods per namespace, it'll be: count(kube_pod_info{namespace="$namespace_name"}) by (namespace) To get the number of all pods running on the cluster, then just do: count(kube_pod_info)

like image 126
Anna Slastnikova Avatar answered Sep 19 '22 06:09

Anna Slastnikova


Assuming you want to display that in Grafana according to your question tags, from this Kubernetes App Metrics dashboard for example:

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

You can just import the dashboard and play with the queries.

Depending on your configuration/deployment, you can adjust the variables container_name and namespace, grouping by (pod_name) and count'ing it does the trick. Some other label than pod_name can be used as long as it's shared between the pods you want to count.

like image 32
Clorichel Avatar answered Sep 19 '22 06:09

Clorichel