Prometheus 普罗米修斯:使用regexp减少重复规则

Prometheus 普罗米修斯:使用regexp减少重复规则,prometheus,prometheus-operator,prometheus-alertmanager,prometheus-net,Prometheus,Prometheus Operator,Prometheus Alertmanager,Prometheus Net,在普罗米修斯的记录规则中, 我想记录我的每一份詹金斯工作的失败率 这个表达式将允许我这样做。MyJenkinsJob_1的失败率 ( sum(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"}) or (absent(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"})*0) ) / ( sum(je

在普罗米修斯的记录规则中, 我想记录我的每一份詹金斯工作的失败率

这个表达式将允许我这样做。MyJenkinsJob_1的失败率

 ( sum(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"})
                or (absent(jenkins_job_last_build_failed_tests{jobname="MyJenkinsJob_1"})*0) )
          /
( sum(jenkins_job_last_build_total_tests{jobname="MyJenkinsJob_1"})
                or (absent(jenkins_job_last_build_total_tests{jobname="MyJenkinJobs_1"})*0) )
因为逻辑(等式)对于所有作业都是通用的,我可以通过更改变量值jobname来使用相同的表达式


我们可以用一些reg表达式来实现它,这样我就不必反复硬编码(创建新规则)Jenkins作业名称(例如:MyJenkinsJob_1、MyJenkinsJob_2、MyJenkinsJob_3……)。普罗米修斯有什么功能可以使用吗

对于这个特定的查询,这是不可能的,因为您需要提供一个应该以某种方式存在的所有
jobname
值的列表。我建议您查看配置管理系统的模板支持,为您生成规则。

这种查询(记录规则中的Expr)不是很理想吗,或者查询的bcz可能需要时间!