Обновление до 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