Настройка времени хранения метрик в Graphite

Mitigator хранит данные графиков в Graphite-ClickHouse.

Свежие данные хранятся с большим разрешением, затем прореживаются:

Срок Разрешение
1 сутки 5 секунд
1 неделя 10 секунд
5 дней 1 минута
30 дней 5 минут
145 дней 10 минут

Времена хранения не суммируются, то есть данные за последний день последней недели хранятся с разрешением 5 секунд, а следующие 6 дней (не 7) хранятся с разрешением 10 секунд. В отличие от стандартного хранилища Graphite, ClickHouse продолжает хранить метрики с самым низким разрешением из заданных и за пределами настроенного срока (с настройками по умолчанию — после 145 дней).

Параметры задаются в файле конфигурации clickhouse-rollup-config.xml. Синтаксис описан в документации ClickHouse.

Из запущенного контейнера базовую версию можно получить командой:

docker cp mitigator_clickhouse_1:/etc/clickhouse-server/config.d/clickhouse-rollup-config.xml .

Изменение конфигурации делается при остановленных контейнерах:

docker-compose stop graphite-clickhouse clickhouse

Рекомендуется менять только параметры раздела mitigator.

Нужно подготовить и смонтировать новый файл конфигурации сервису ClickHouse. Если файлы созданы в /srv/mitigator, монтирование выполняется через docker-compose.override.yml следующим образом:

version: "2.2"
services:
  clickhouse:
    volumes:
    - ./clickhouse-rollup-config.xml:/etc/clickhouse-server/config.d/clickhouse-rollup-config.xml:ro

Далее нужно запустить Graphite с новыми настройками:

docker-compose up -d