Prometheus 如何计算普罗米修斯·格拉法纳的正常运行时间%或停机时间%

Prometheus 如何计算普罗米修斯·格拉法纳的正常运行时间%或停机时间%,prometheus,grafana,metrics,micrometer,Prometheus,Grafana,Metrics,Micrometer,如何使用以下查询过程计算prometheus grafana中已存在的%正常运行时间{application=“$application”,instance=“$instance”,job!=“jobid”}您不想使用该度量来计算正常运行时间。数字重置的事实,只意味着进程重新启动 相反,我建议使用普罗米修斯自动创建的up度量。然后,您需要按应用程序对其进行分组,并忽略实例和作业ID 比如: sum(up{application="$application"} == 1) by (applicat

如何使用以下查询过程计算prometheus grafana中已存在的%正常运行时间{application=“$application”,instance=“$instance”,job!=“jobid”}

您不想使用该度量来计算正常运行时间。数字重置的事实,只意味着进程重新启动

相反,我建议使用普罗米修斯自动创建的
up
度量。然后,您需要按应用程序对其进行分组,并忽略实例和作业ID

比如:

sum(up{application="$application"} == 1) by (application) /
 sum(up{application="$application"}) by (application)

这样,您就可以将成功完成的数量除以该应用程序的总数。

不幸的是,“sum(up{application=“$application”}==1)除以(application)”行不起作用,我得到了一个语法错误。此外,我无法通过应用程序找到度量值,而是使用了实例,因为
up
是普罗米修斯在刮取实例时创建的一个特殊度量值,只有在普罗米修斯刮取和/或重新标记时,标签
应用程序才会出现。我不确定您的语法错误是什么,因为它对我有效。我可以使用实例和作业进行计算吗?您还可以分享计算正常运行时间%的精确表达式,这将非常有用。有趣的是,如果您使用的是Grafana云代理,这同样有效!