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

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

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

Срок Разрежение
меньше суток 5 секунд
от суток до недели 10 секунд
от недели до месяца 1 минута
от месяца до 145 дней 5 минут
свыше 145 дней 10 минут

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

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

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

docker cp $(docker-compose ps -q clickhouse):/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