Обновление до v20.06
Старый сервис Graphite (включавший в себя go-carbon с хранилищем whisper, carbonapi, grafana) мигрирует в пять отдельных сервисов: ClickHouse (server), Graphite-ClickHouse, Carbon-ClickHouse, Carbonapi и Grafana.
Преимущества
-
Самое важное: существенно (примерно на порядок) снижается утилизация диска по объему записи/чтения, iops, файловым дискрипторам, занимаемому объему;
-
Возможность оптимизации инсталяций методом использования имеющихся сервисов для нескольких инсталяций.
Инструкция по обновлению
Для обновления рекомендуется выбрать окно минимальной активности: обновление выполняется с рестартом сервисов. Также, на миграцию данных нужно некоторое время (около 10 минут).
Обновление стенда
Перед обновлением настоятельно рекомендуется сделать резервную копию.
-
Обновить
docker-compose(бинарный) до последней версии (инструкция по установке); -
Остановить Митигатор:
docker-compose down -
Скачать новый
docker-compose.ymlи поместить его в рабочий каталог (/srv/mitigator);wget https://docs.mitigator.ru/v20.06/dist/docker-compose.yml -O /srv/mitigator/docker-compose.ymlЕсли в нем были сделаны правки для адаптеров Mellanox, воспроизвести их в новой версии файла.
-
Изменить во всех иных
docker-compose*.ymlконфигурациях (если они есть), например,docker-compose.override.ymlверсию конфигурации (version: "2.1") на новую (version: "2.2"):sed -i 's$version: "2.1"$version: "2.2"$g' /srv/mitigator/docker-compose*.yml -
Записать в файл
.envстроку с версией (если файла нет, создать его):VERSION=v20.06 -
Совершить вход в хранилище образов со своими учетными данными:
docker login docker.mitigator.ru -
Скачать образы:
docker-compose pull
Перенос данных
Если старые данные графиков сохранять не требуется, можно перейти к следующему разделу.
-
Запустить
ClickHouseследующей командой:docker-compose up -d clickhouse -
Установить пакет python3-pip и PyPI пакет ClickHouse драйвера (нужен для скрипта переноса):
apt install -y python3-pip pip3 install clickhouse-driver -
Загрузить скрипт переноса данных из Whisper в ClickHouse и сделать его исполняемым:
wget https://docs.mitigator.ru/v20.06/dist/whisher-to-clickhouse.py chmod +x whisher-to-clickhouse.py -
Установить пакет
jq, если его нет:apt install -y jq -
Запустить скрипт переноса, указав IP-адрес контейнера ClickHouse и директорию volume graphite (старого):
./whisher-to-clickhouse.py \ $(docker inspect mitigator_clickhouse_1 | jq -r .[0].NetworkSettings.Networks.mitigator_default.IPAddress) \ /var/lib/docker/volumes/mitigator_graphite/_data/mitigator
Завершение
-
Выполнить запуск MITIGATOR:
docker-compose up -d -
Убидиться, что все сервисы поднялись без ошибок:
docker-compose ps(
mitigator_frontend_1со статусом0– это нормально); -
Перейти в интерфейс управления, проверить что архивные графики отображаются; новые графики рисуются;
-
Удалить старый volume с метриками:
docker volume rm mitigator_graphite