【问题标题】:Is there a way to query Prometheus to count failed jobs in time range?有没有办法查询 Prometheus 以计算时间范围内的失败作业?
【发布时间】:2021-04-16 19:49:58
【问题描述】:

为 cron 作业收集了几个指标,遗憾的是我不确定如何正确使用它们。

我想使用kube_job_status_failed == 1 指标。我可以使用 job=~“+.myjobname.+“ 的正则表达式来汇总 cron 作业的所有失败尝试。

这就是我卡住的地方。有没有办法计算给定时间段内不同标签的数量(=失败的尝试次数)?

或者我可以用其他方式使用这些指标,即检查在给定时间段内是否存在kube_job_status_succeeded{job=~“+.myjobname+.“}==1

我觉得我离解决这个问题很近了,但我就是想不通。

编辑:添加图片This shows that there clearly are several succeded jobs over time, I just have no clue on how to count them

【问题讨论】:

  • 您是要计算特定作业的 kube_job_status_failed == 1 的数量,还是要计算失败的不同作业的数量
  • 一个 cron 作业每 n 分钟创建一个作业(将其命名为 job_name=myjobname-{randomNums}),我想查找在给定时间段内(名称包含 myjobname)具有 kube_status_failed 的作业数量== 1. 所以它基本上是同一个工作以不同的名称开始,我想找到遵循具有这种特定状态的名称模式的工作数量。

标签: kubernetes prometheus grafana


【解决方案1】:

这应该为您提供在 1 小时内与作业名称匹配的失败作业数:

count_over_time(kube_job_status_failed{job=~“+.myjobname+.“}==1 [1h])

【讨论】:

  • 这给了我一个解析错误:范围只允许矢量选择器.. :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多