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


Общая информация о данных системы

Система мониторинга использует три основных хранилища данных, каждое из которых содержит критически важную информацию:

  1. PostgreSQL

    • Тип данных: Конфигурационные данные платформы

    • Содержимое:

      • Настройки агентов мониторинга

      • Конфигурация дашбордов

      • Пользовательские настройки и права доступа

      • Конфигурация алертов и уведомлений

    • Критичность: Высшая (без этих данных система не сможет функционировать)

  2. VictoriaMetrics

    • Тип данных: Метрики временных рядов

    • Содержимое:

      • Сырые метрики, собираемые агентами

      • Вычисляемые метрики платформы

      • Состояния алертов и история срабатываний

    • Критичность: Высокая (потеря приведет к разрыву истории метрик)

  3. ClickHouse

    • Тип данных: События и логи

    • Содержимое:

      • SNMP-трапы и системные события

      • Внешние события (вебхуки)

      • Пользовательские и системные логи

      • История действий пользователей

    • Критичность: Средняя (данные важны для аудита и анализа)

Стратегии резервного копирования

Общие принципы

  1. Правило 3-2-1:

    3 копии данных

    2 разных типа носителей

    1 копия вне площадки

  2. Градуированное хранение:

    Ежедневные бэкапы хранить 7 дней

    Еженедельные - 1 месяц

    Ежемесячные - 1 год

Специфические стратегии для каждого хранилища

Компонент

Метод бэкапа

Частота RPO (допустимая потеря)

RTO (время восстановления)

PostgreSQL

Полный + WAL

Ежедневно 15 минут

1-4 часа

VictoriaMetrics

Полные + инкрементальные

Еженедельно 1 час

4-8 часов

ClickHouse

Полные + репликация партиций

Ежедневно 4 часа

2-6 часов

Важно

Доступно автоматическое создание бэкапа postgresql через инструмент rubackup.

Лучшие практики

  1. Проверка бэкапов

    • Еженедельно: Проверять целостность случайного бэкапа

    • Ежеквартально: Полное тестовое восстановление на стенде

  2. Мониторинг процесса бэкапирования

    • Настроить алерты на:

      • Пропущенные бэкапы

      • Ошибки при создании бэкапов

      • Заполнение хранилища бэкапов

  3. Безопасность

    • Шифровать все бэкапы перед отправкой вне площадки

    • Использовать отдельные учетные записи с минимальными правами

    • Хранить учетные данные для бэкапов в секрет-менеджере

  4. Оптимизация

    • Для больших БД использовать:

    • Инкрементальные бэкапы

    • Многопоточное сжатие

    • Дедупликацию данных

Процедура полного восстановления

Порядок восстановления:

  1. Восстановить PostgreSQL (конфигурация платформы)

  2. Восстановить VictoriaMetrics (метрики)

  3. Восстановить ClickHouse (события и логи)

Временные метки:

  • Использовать одинаковую точку восстановления для всех компонентов

  • Для транзакционных данных между компонентами учитывать задержки репликации