我在Prometheus上使用Pushgateway,一切正常,但是在Pushgateway崩溃了几周之后……看一看,有成千上万的度量标准不再使用,手动删除它们几乎是不可能的……所以->
有没有一种方法可以使TTL或其他保留设置(按大小或时间)使Pushgateway指标过期? ...或者两者都可以?
注意:我在普罗米修斯的邮件列表中读到,很多人在一年前或更长时间以来就需要这样的东西...到目前为止,唯一的答案是->这不是普罗米修斯的方式。真的吗...常见,如果这对很多人来说真的很痛苦,也许应该有更好的方法(即使这不是普罗米修斯的方法)
答案 0 :(得分:1)
假设您要在与组相关的度量标准变得过旧(对于给定的定义过旧)时删除该度量标准,那么您将拥有push_time_seconds
度量标准,它由Pushgateway自动定义。
push_time_seconds{instance="foo",job="bar",try="longtime"} 1.598280005888635e+09
利用此信息,您可以编写脚本来请求/获取该指标,并使用该值标识旧的数据组({instance="foo",job="bar",try="longtime"}
)。该API可让您删除与旧数据相关的指标:
curl -X DELETE http://pushgateway:9091/metrics/job/bar/instance/foo/try/longtime
这可以通过几行bash脚本或python完成。
答案 1 :(得分:1)
没有得到 Prometheus 团队的积极回应。所以实现相同。
https://github.com/dinumathai/pushgateway
docker pull dmathai/prom-pushgateway-ttl:latest
docker run -d -p 9091:9091 dmathai/prom-pushgateway-ttl:latest --metric.timetolive=60s