Как установить срок хранения для метрик Pushgateway для истечения срока действия?

Я использую Pushgateway с Prometheus, и все в порядке, но через пару недель Pushgateway рушится ... если посмотреть, есть масса показателей, которые больше не используются, и удалить их вручную практически невозможно ... так что - ›

Есть ли способ истечь метрики Pushgateway с помощью TTL или некоторых других настроек хранения, таких как размер или время? ... а может и то, и другое?

ПРИМЕЧАНИЕ. Я прочитал в списке рассылки Прометея множество людей, которым требовалось что-то подобное год назад или более ... и пока единственный ответ - ›это не прометеевский способ сделать это ... правда? ... часто, если это настоящая боль для многих людей, возможно, должен быть лучший способ (даже если это не метод Прометея)


person Carlos Saltos    schedule 22.08.2020    source источник
comment
Метрики для пакетной работы сложны. Команда приняла решение не из-за Promethean пути, а потому, что трудно оправдать функцию, которая в основном ведет к антипаттернам. С практической точки зрения хотелось бы немного антипаттерна :)   -  person Michael Doubez    schedule 24.08.2020
comment
Если вам нужно перенести метрики Prometheus в централизованное хранилище, обратите внимание на VictoriaMetrics. Он поддерживает прием метрик через различные протоколы, включая текст Prometheus формат экспозиции.   -  person valyala    schedule 08.04.2021


Ответы (2)


Предположим, вы хотите удалить метрики, относящиеся к группе, когда они становятся слишком старыми (для данного определения слишком старых), у вас есть метрика 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.

person Michael Doubez    schedule 24.08.2020
comment
БОЛЬШОЙ !! ... спасибо, дружище, это поможет !! - person Carlos Saltos; 30.09.2020

Не получил положительного ответа от команды 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

person Dinu Mathai    schedule 07.04.2021
comment
это действительно здорово! Спасибо. Надеюсь, вы будете его поддерживать как можно дольше: D - person Stepan K.; 12.04.2021
comment
Добро пожаловать, конечно @StepanK. - person Dinu Mathai; 12.04.2021