我有一个CronJob,它每20分钟运行一次,只收集构建持续时间超过特定值的Jenkins多分支作业上的活动构建,并将这些指标与构建持续时间作为值发布到Prometheus Pushgateway。因此,如果构建完成,则不会推送此指标。我已经使用下面的Prometheus配置设置了警报。
- alert: BuildDurationExceeded
expr: jenkins_build_duration > 7200
annotations:
title: 'Build duration is too long at {{ $labels.instance }}'
description: 'Build time of job {{ $labels.job }} on {{ $labels.instance }} exceeded 2h.'
labels:
severity: 'high'下面是普罗米修斯中存在的一个度量值
jenkins_build_duration{branch="repo/branch_name",build_number="5",instance="https://jenkins-instance.com/",jenkins_url="https://jenkins-instance.com/job/repo/job/branch_name/5/",job="jenkins_metrics_job",job_name="repo"} 10000使用此配置,一旦创建警报,它将永久保留且不会被删除。如何在给定作业的指标不是定期的情况下处理此用例,并在指标不再可用时删除警报?
发布于 2020-10-07 16:20:08
我们通过使用Prometheus python client库API delete_from_gateway显式删除不再相关的指标来修复此问题。
https://stackoverflow.com/questions/63592412
复制相似问题