[英]How do I group pod metrics by deployment in Prometheus?
Prometheus 具有諸如container_cpu_usage_seconds_total
之類的指標。 但是,它們僅按 pod 分組。 如何按部署/cronjobs/等對它們進行分組?
我能夠通過以下查詢來處理這個問題:
((label_replace((rate(container_cpu_usage_seconds_total{image,=""}[2m]) * on(pod) group_left(owner_name) (sum without (instance) (kube_pod_owner))), "replicaset", "$1", "owner_name". "(.*)")) * on(replicaset) group_left(owner_name) (sum without (instance) (kube_replicaset_owner{})))
這是解釋:
pod
上加入container_cpu_usage_seconds_total
和kube_pod_owner
kube_pod_owner
復制owner_name
label_replace
將kube_pod_owner
的owner_name
重命名為replicaset
replicaset
集上加入 kube_replicaset_ownerkube_replicaset_owner
復制owner_name
(此值是您的部署等) without (instance)
用於從連接集中刪除instance
字段。 因為單個部署可以有多個實例,這可能會導致問題。
最后,直接在最里面的區域對container_cpu_usage_seconds_total
調用rate
function ,否則 Prometheus 會抱怨parse error: ranges only allowed for vector selectors
。 將其放置在最里面的區域是一種解決方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.