如何让Prometheus指标仅返回特定Deployment的Pod数据?
修改kube_pod_created查询以返回特定Deployment的结果
要让kube_pod_created仅返回目标Deployment的Pod数据,有两种常用的可靠方式:
方式一:通过Deployment标签过滤(推荐)
如果你的Pod带有deployment标签(kube-state-metrics默认会给Pod添加对应Deployment的标签),直接用标签选择器筛选:
kube_pod_created{deployment="consumer-deployment"}
方式二:通过Pod名称前缀匹配
如果Pod没有deployment标签,利用Deployment生成的Pod名称规律(通常是Deployment名称-随机后缀),用正则匹配前缀:
kube_pod_created{pod=~"consumer-deployment-.*"}
扩展:查询该Deployment下所有Pod的运行时长
如果要把你原来的特定Pod运行时长查询,改成统计整个Deployment下所有Pod的运行时长,只需要把原查询中的特定Pod条件替换成上述筛选规则即可,示例如下:
sum by(namespace, pod) ( (last_over_time(kube_pod_completion_time[1d]) - last_over_time(kube_pod_created{pod=~"consumer-deployment-.*"}[1d])) or (time() - kube_pod_created{pod=~"consumer-deployment-.*"}) )
内容的提问来源于stack exchange,提问作者trey
相关产品推荐
相关产品推荐

