Mitigator хранит данные графиков в Graphite-ClickHouse. В базовой настройке метрики хранятся максимум 182 дня, при необходимости можно изменить время хранения и точность.
Параметры задаются в двух файлах конфигурации (rollup.xml
и clickhouse-rollup-config.xml
),
базовое содержимое первого файла:
<graphite_rollup>
<!-- mitigator -->
<pattern>
<regexp>^mitigator\.</regexp>
<function>max</function>
<retention>
<age>0</age>
<precision>5</precision>
</retention>
<retention>
<age>86400</age>
<precision>10</precision>
</retention>
<retention>
<age>604800</age>
<precision>60</precision>
</retention>
<retention>
<age>2592000</age>
<precision>300</precision>
</retention>
<retention>
<age>12528000</age>
<precision>600</precision>
</retention>
</pattern>
<!-- carbon -->
<pattern>
<regexp>^carbon\.</regexp>
<function>avg</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>432000</age>
<precision>300</precision>
</retention>
</pattern>
<!-- default -->
<default>
<function>avg</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>86400</age>
<precision>300</precision>
</retention>
</default>
</graphite_rollup>
базовое содержимое второго файла:
<yandex>
<graphite_rollup>
<!-- mitigator -->
<pattern>
<regexp>^mitigator\.</regexp>
<function>max</function>
<retention>
<age>0</age>
<precision>5</precision>
</retention>
<retention>
<age>86400</age>
<precision>10</precision>
</retention>
<retention>
<age>604800</age>
<precision>60</precision>
</retention>
<retention>
<age>2592000</age>
<precision>300</precision>
</retention>
<retention>
<age>12528000</age>
<precision>600</precision>
</retention>
</pattern>
<!-- carbon -->
<pattern>
<regexp>^carbon\.</regexp>
<function>avg</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>432000</age>
<precision>300</precision>
</retention>
</pattern>
<!-- default -->
<default>
<function>avg</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>86400</age>
<precision>300</precision>
</retention>
</default>
</graphite_rollup>
</yandex>
можно заметить, что содержимое файлов идентично за исключением наличия у последнего
верхенего уровня <yandex>
.
Синтаксис файла конфигурации описан в документации ClickHouse. В базовом варианте данные за последние сутки хранятся с интервалом 5 секунд, за последнюю неделю — 10 секунд и т. д. Важно понимать, что времена хранения не суммируются, то есть самые старые данные будут на 182 дня назад. Рекомендуется менять только параметры раздела mitigator.
Для изменения настроек нужно подготовить и примонтировать
новые файлы конфигурации сервису Graphite и 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-clickhouse:
volumes:
- ./rollup.xml:/etc/graphite-clickhouse/rollup.xml:ro
Все манипуляции выполняются на остановленных контейнерах.
docker-compose stop graphite-clickhouse clickhouse
Запустить Graphite с новыми настройками:
docker-compose up -d