Резервное копирование и восстановление данных мониторинга Prometheus
Содержание
Обзор функции
Данные мониторинга Prometheus хранятся в формате TSDB (Time Series Database) и поддерживают функции резервного копирования и восстановления. Данные мониторинга сохраняются в назначенном пути внутри контейнера Prometheus (указанном в конфигурации storage.tsdb.path, по умолчанию /prometheus).
Сценарии использования
- Сохранение исторических данных мониторинга при миграции системы
- Предотвращение потери данных из-за непредвиденных инцидентов
- Миграция данных мониторинга на новый экземпляр Prometheus
Предварительные требования
- Установлен плагин ACP Monitoring с Prometheus (имя компонента вычислений —
prometheus-kube-prometheus-0, тип —StatefulSet) - Привилегии администратора кластера
- Достаточно свободного места для хранения в целевом расположении
Порядок выполнения операций
Резервное копирование данных
Перед началом резервного копирования обратите внимание: при сохранении данных мониторинга Prometheus сначала помещает собранные данные в кэш, а затем периодически записывает их в каталог хранения. Следующие методы резервного копирования используют каталог хранения как источник данных, поэтому данные, находящиеся в кэше на момент резервного копирования, не включаются.
Метод 1: Резервное копирование каталога хранения (рекомендуется)
-
Используйте команду kubectl cp для резервного копирования:
-
Резервное копирование из бэкенда хранения (в зависимости от типа хранилища, выбранного при установке):
- LocalVolume: копировать из каталога
/cpaas/monitoring/prometheus - PV: копировать из каталога монтирования PV (рекомендуется установить для PV параметр persistentVolumeReclaimPolicy в значение
Retain) - StorageClass: копировать из каталога монтирования PV
Метод 2: Резервное копирование с помощью снимка (snapshot)
-
Включите Admin API:
Добавьте конфигурацию:
Примечание: после обновления и сохранения конфигурации Pod Prometheus (имя Pod: prometheus-kube-prometheus-0-0) перезапустится. Дождитесь, пока все Pod будут в статусе Running, прежде чем выполнять дальнейшие операции.
-
Создайте снимок:
Восстановление данных
-
Скопируйте резервные данные в контейнер Prometheus:
-
Переместите данные в указанный каталог:
Упрощение: если при установке плагина тип хранилища — LocalVolume, достаточно скопировать резервные данные напрямую в каталог
/cpaas/monitoring/prometheus/prometheus-db/на узле, где установлен плагин.
Результаты операций
- После завершения резервного копирования в целевом каталоге будет находиться полный набор данных мониторинга в формате TSDB
- После восстановления Prometheus автоматически загрузит исторические данные мониторинга
Дополнительная информация
Описание формата данных TSDB
Пример структуры данных в формате TSDB:
Особенности резервного копирования данных
- Резервные копии не включают данные, находящиеся в кэше на момент создания копии
- Рекомендуется выполнять резервное копирование данных регулярно
- При использовании PV-хранилища рекомендуется установить persistentVolumeReclaimPolicy в значение
Retain
Следующие шаги
- Проверить корректность восстановления данных мониторинга
- Регулярно планировать задачи резервного копирования
- При использовании метода резервного копирования со снимком можно отключить Admin API при необходимости