🐹 Prometheus: Удаление метрик временных рядов.

Содержание:

1. Введение.
2. Удаление Time Series метрик.
3. Оригиналы источников информации.


1. Введение.

Иногда может возникать необходимость удалить некоторые метрики из Prometheus, если эти метрики нежелательны или вам просто нужно освободить место на диске.

Временные ряды (time series) в Prometheus могут быть удалены только по административному HTTP API (отключен по умолчанию).

Чтобы включить его, запустите Prometheus с опцией --web.enable-admin-api, которую можно передать через start-up скрипт или docker-compose файл, в зависимости от способа установки Prometheus.

2. Удаление Time Series метрик.

Используйте следующий синтаксис, чтобы удалить все метрики временных рядов, которые соответствуют некоторому ярлыку (label):

# curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={foo="bar"}'

Чтобы удалить метрики временных рядов, соответствующие определенному job или instance, выполните:

# curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={job="node_exporter"}'
# curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={instance="192.168.0.1:9100"}'

Чтобы удалить все данные из Prometheus, выполните:

# curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={__name__=~".+"}'

Внимание! Обратите внимание, что приведенные выше API-вызовы не удаляют данные немедленно. Фактические данные все еще существуют на диске и будут очищены через определенные период в будущем.

При запуске Prometheus используйте опцию --storage.tsdb.retention, чтобы задать период по прошествии которого необходимо удалять старые данные, например --storage.tsdb.retention=365d. По умолчанию Prometheus хранит данные 15 дней.

Чтобы окончательно очистить данные удаленные с помощью delete_series, необходимо отправить clean_tombstones запрос к API:

# curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/clean_tombstones'

Успешный код завершения для обоих delete_series и clean_tombstones — это 204, но, иногда, код может вообще не отображаться, а команда засчитывается.

3. Оригиналы источников информации.

  1. shellhacks.com «Prometheus: Удаление метрик временных рядов».