Перенос Graphite на отдельный сервер позволяет разделить нагрузку на два сервера.
Рекомендуется делать перенос на остановленном Mitigator´е (либо остановленной подсистеме graphite).
Дальше по тексту Server1 – сервер с Mitigator, Server2 – сервер, на который переносятся подсистемы.
Предполагается, что на Server2 уже установлен Docker и docker-compose.
Выполнить остановку подсистем на Server1:
cd /srv/mitigator
docker-compose down
либо выполнить остановку части подсистем:
cd /srv/mitigator
docker-compose stop carbon-clickhouse carbonapi clickhouse grafana graphite-clickhouse
Создать бекап томов clickhouse и grafana:
tar -czf clickhouse.tgz -C /var/lib/docker/volumes/mitigator_clickhouse/ .
tar -czf grafana.tgz -C /var/lib/docker/volumes/mitigator_grafana/ .
Переместить бекапы с Server1 на Server2.
Развернуть бекапы на Server2:
mkdir -p /var/lib/docker/volumes/mitigator_clickhouse/ && \
tar -xzf clickhouse.tgz -C /var/lib/docker/volumes/mitigator_clickhouse/
mkdir -p /var/lib/docker/volumes/mitigator_grafana/ && \
tar -xzf grafana.tgz -C /var/lib/docker/volumes/mitigator_grafana/
На Server1 создать, либо дополнить docker-compose.override.yml
следующим:
version: "2.2"
services:
backend:
environment:
BACKEND_GRAPHITE_URL: "http://192.168.10.20/render/"
fwstats:
environment:
FWSTATS_GRAPHITE_ADDRESS: "192.168.10.20:2003"
clickhouse:
scale: 0
graphite-clickhouse:
scale: 0
carbon-clickhouse:
scale: 0
carbonapi:
scale: 0
grafana:
scale: 0
Здесь 192.168.10.20
– условный адрес Server2,
который необходимо заменить на действительный адрес.
На Server2 создаем docker-compose.yml
для подсистем:
mkdir -p /opt/mitigator-graphite
Скачиваем docker-compose.yml
:
wget https://docs.mitigator.ru/dist/grafbase/docker-compose.yml \
-O /opt/mitigator-graphite/docker-compose.yml
Создаем службу для запуска подсистем на Server2:
Скачиваем файл сервиса:
wget https://docs.mitigator.ru/dist/grafbase/docker-compose@.service \
-O /etc/systemd/system/docker-compose@.service
Активируем службу:
systemctl enable docker-compose@mitigator-graphite
На Server2 запустить сервисы:
Выполняем логин на docker.mitigator.ru
docker login docker.mitigator.ru
Перейти в рабочую директорию
cd /opt/mitigator-graphite
Запулить образы
docker-compose pull
Запустить сервис
systemctl start docker-compose@mitigator-graphite
На Server1, если был остановлен целиком, выполнить запуск Mitigator´а как обычно.