普罗米修斯:使用正则表达式减少重复规则

时间:2018-05-22 07:39:52

标签: 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(jenkins_job_last_build_total_tests{jobname="MyJenkinsJob_1"})
                or (absent(jenkins_job_last_build_total_tests{jobname="MyJenkinJobs_1"})*0) )

由于逻辑(等式)对于所有作业都是通用的!,我可以通过更改变量值作业名来使用相同的表达式。

我们可以使用一些reg表达式,这样我就不必重复硬编码(创建新规则)Jenkins作业名称(例如:MyJenkinsJob_1,MyJenkinsJob_2,MyJenkinsJob_3,......)。普罗米修斯有没有可用的功能!

1 个答案:

答案 0 :(得分:0)

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