Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Prometheus 普罗米修斯:使用regexp减少重复规则_Prometheus_Prometheus Operator_Prometheus Alertmanager_Prometheus Net - Fatal编程技术网

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可能需要时间!