Удаление метрик из Prometheus выдает ошибку: не реализовано

Я хотел бы удалить все показатели для временного ряда mymetricname{foo="bar"} в установке Prometheus 2.0.0-beta.2.

В настоящее время я получаю сообщение об ошибке при вызове HTTP API:

curl -X DELETE -g \
  'http://localhost:9090/api/v1/series?match[]=mymetricname{foo="bar"}'

{"status":"error","errorType":"internal","error":"not implemented"}

Но затем утверждение из автор видимо предполагает, что такой вид захода стал возможен очень давно (еще в 2015 году). Что здесь происходит?

ОБНОВЛЕНИЕ Кажется маловероятным, что проблема связана с неправильно экранированными буквами в URL-адресе, потому что следующее работает отлично:

curl -X GET -g \
  'http://localhost:9090/api/v1/series?match[]=mymetricname{foo="bar"}'

{"status":"success","data":[<data>]}

person rookie09    schedule 31.10.2017    source источник


Ответы (2)


В Prometheus 2.0 конечная точка переместилась на POST с телом на /api/v2/admin/tsdb/delete_series

Например:

curl -XPOST -g 'http://localhost:9090/api/v2/admin/tsdb/delete_series' -d '{"matchers": [{"name": "__name__", "value": "up"}]}'
person brian-brazil    schedule 31.10.2017
comment
Спасибо, это приближается. Я включил действия административного контроля с помощью -web.enable-admin-api и попытался сопоставить мои фактические временные ряды с этим параметром: -d '{"matchers": [{"__name__": "mymetricname", "foo": "bar"}]}'. Однако curl возвращает {}, и временной ряд пока кажется незатронутым. - person rookie09; 31.10.2017
comment
Вы также можете использовать свойства min_time и max_time, чтобы ограничить объем данных, удаляемых из метрик. - person Bounz; 05.04.2018

Изучение исходный код для Prometheus 2.0.0-beta.2 (api.go в строке 361) указывает, что эта функциональность действительно не реализована. (Это также относится к текущей основной ветке.)

В проблеме #2760 упоминается, что удаление в настоящее время отключено в Prometheus 2.0.

person rookie09    schedule 31.10.2017