【问题标题】:Prometheus: Reducing repeated rules using regexpPrometheus:使用正则表达式减少重复规则
【发布时间】:2018-05-22 07:39:51
【问题描述】:

在 Prometheus 录制规则中, 我想记录我每个 Jenkins 工作的失败率。

这个表达式将允许我这样做。 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、......)。 Prometheus 中是否有任何可用的功能!

【问题讨论】:

    标签: prometheus prometheus-operator prometheus-alertmanager prometheus-net


    【解决方案1】:

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

    【讨论】:

    • 这种查询(Expr In Recording rules)是不是很可取,或者故意避免bcz的查询可能需要时间!
    猜你喜欢
    • 2016-02-10
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多