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