Очистка метрик в Прометее после записи правил расчета - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть федеративная работа в Прометее, которая собирает метрики (количество запросов) с нескольких машин.

Проблема в том, что эти метрики поставляются с широким диапазоном комбинаций меток (например, IP-адрес, метаданные контейнера и т. Д.), Поэтому я добавил правило записи, которое суммирует все входящие метрики и сохраняет их. в новой метрике только с метками, которые мне нужны. В результате у меня есть только ~ 10 комбинаций меток вместо 200 КБ.

Вопрос : Есть ли способ удалить исходные метрики, но не тот, который исходит из правила записи?

Возможные решения:

  • --storage.tsdb.retention.time, но это удалит все (как исходные, так и вычисленные метрики)

  • POST to api/v1/admin/tsdb/delete_series но я искал что-то более элегантное . Кроме того, если я удалю всю серию, что произойдет с правилом записи, у которого еще не было времени для вычисления?

1 Ответ

1 голос
/ 08 ноября 2019

AFAIK, нет способа сделать то, что вы хотите, в пределах одного экземпляра Prometheus, кроме удаления временных рядов, которые вас больше не интересуют. Кстати, /api/v1/admin/tsdb/series , очевидно, принимает start и end параметры, позволяющие, например, удалять только старые образцы исходного временного ряда.

Другая альтернатива состоит в том, чтобы один экземпляр Prometheus выполнял очистку и агрегацию (как вы делаете сейчас) с очень коротким временем хранения. И попросите второй экземпляр Prometheus с длительным временем хранения очистить первый экземпляр для результатов агрегации (и любых других показателей, которые вы хотите сохранить). Это называется "федерация" .

...