我已经设置了Prometheus和Grafana来监视我的kubernetes集群,并且一切正常。然后我在Grafana中为我的应用程序创建了自定义仪表板.Prometheus中可用的指标如下,并且我在grafana中添加了相同的指标:
sum(irate(container_cpu_usage_seconds_total {namespace =“ test”,pod_name =“ my-app-65c7d6576b-5pgjq”,container_name!=“ POD”} [1m]))由(container_name)
问题是,我的应用程序在kubernetes中作为pod运行,因此,当删除或重新创建pod时,该pod的名称将发生变化,并且将与上述指标“ my- app-65c7d6576b-5pgjq”。因此,上述指标的数据将不再起作用。并且我必须在Grafana中再次添加新指标。请让我知道如何克服这种情况。
答案 0 :(得分:0)
答案由manu thankachan提供:
我已经做到了。在查询中进行了一些更改,如下所示:
sum(irate(container_cpu_usage_seconds_total {namespace =“ test”, container_name =“ my-app”,container_name!=“ POD”} [1m]))由 (容器名称)
答案 1 :(得分:0)
如果直接创建pod(不是部署的一部分),则只有pod名称与我们提到的相同。
如果pod是Deployment的一部分,它将具有来自副本集的唯一字符串,并且还以随机5个字符结尾以维护唯一名称。
因此,始终尝试使用container_name
标签,或者如果您的Kubernetes版本> v1.16.0,则使用container
标签