Обслуживание

Резервное копирование

Резервная копия (бэкап) хранит настройки, сделанные через web-интерфейс и API. В нее не входят данные графиков, по которым также строятся отчеты.

Восстановление возможно только на ту же версию Mitigator´а, с которой была сделана резервная копия.

Создание резервной копии

  • При работающем Mitigator´е:

    docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
    docker cp mitigator_postgres_1:/tmp/backup.sql .
    
    • При остановленном Mitigator´е:
    docker-compsose up -d postgres
    docker-compose exec postgres sh -c 'backup > /tmp/backup.sql'
    docker cp mitigator_postgres_1:/tmp/backup.sql .
    docker-compose down postgres
    

После выполнения любой из приведенных команд следует вручную убедиться, что резервная копия создалась без ошибок:

tail backup.sql

Восстановление из резервной копии

  1. Остановить Mitigator:

    docker-compose down
    
    1. Удалить существующую базу:
    docker volume rm mitigator_postgres
    
  2. Восстановить данные:

    docker-compose run --rm postgres restore <backup.sql >restore.log
    

    Файл restore.log в норме не содержит полезной информации, однако при обнаружении проблем восстановления данных он может быть полезен для технической поддержки.

    1. Запустить Mitigator:
    docker-compose up -d
    

Обновление

Перед обновлением настоятельно рекомендуется сделать резервную копию.

  1. Загрузить актуальный Compose-файл:

    wget https://docker.mitigator.ru/dist/docker-compose.yml
    
    1. Совершить вход в хранилище образов со своими учетными данными:
    docker login docker.mitigator.ru
    
  2. Скачать образы:

    docker-compose pull
    
    1. Перезапустить все компоненты Mitigator´а:
    systemctl restart mitigator
    

Смена конфигурации

Применить правки любых файлов конфигурации в /srv/mitigator:

systemctl reload mitigator

При этом могут быть перезапущены релевантные компоненты Mitigator´а.

После смены сетевых портов, то есть после редактирования /etc/systemd/system/mitigator.service.d/nics.conf, необходимо:

systemctl daemon-reload
systemctl restart mitigator

При этом Mitigator будет полностью выключен и заново включен.

Скрипт получения и восстановления конфигурации Mitigator´а

Доступен скрипт MBackup для получения в формате JSON-файла основных настроек системы через API, а также для восстановления из полученного файла (только на чистую систему).

Такой файл не содержит настроек пользователей, сети, журналов и не может в полной мере заменить резерное бекапирование.

Возможные сценарии использования:

  • Отслеживание изменений настроек системы (регулярное получение файла и его сравнение с предыдущей версией).
  • Перенос основных настроек на другой стенд, создание шаблона настроек.
  • Дублирование функциональности резервного копирования и восстановления.