На днях в блоге Zabbix вышла полезная статья по бэкапу сервера мониторинга. Мне она показалась подробной и полезной, так что решил её законспектировать для вас. Я сам всё это знаю, но некоторые вещи, типа экспорта и импорта хостов долго не знал и не использовал, хотя это удобно.
1️⃣ Вся основная информация Zabbix Server живёт в базе данных. Так что если не хочется заморачиваться с бэкапом, просто сохраняй БД. Всё остальное так или иначе можно будет восстановить, но без БД придётся очень многое настраивать с нуля.
Если не нужны бэкапы исторических данных, а это основной объём БД, то можно пропустить таблицы с History, Trends и Events. Вот их список: history, history_unit, history_text, history_str, history_log, trends, trends_unit, events. Без них сервер мониторинга будет полностью восстановлен, но без накопленных данных. Часто это вполне приемлемый вариант, который уменьшает объем бэкапов на 90-95%.
2️⃣ К бэкапу БД стоит добавить файлы самого Zabbix Server и веб сервера Nginx или Apache. Это директории: /etc/nginx/, /etc/httpd/, /etc/apache2, /etc/zabbix/, /usr/lib/zabbix.
3️⃣ Если вам нет нужды бэкапить или переносить всю базу данных, Zabbix предоставляет возможность экспорта и импорта отдельных компонентов через веб интерфейс. Вы можете выгрузить в конфигурационные файлы следующие типы данных: Hosts, Templates, Media types, Maps, images, Host groups и Template groups только через API.
Я долгое время не обращал внимания на то, что можно экспортировать и импортировать хосты. Про шаблоны, понятное дело знал, без импрота их не добавить в систему. А вот про хосты не знал, хотя это иногда очень удобно. Например, хочется поднять мониторинг с нуля, с новыми шаблонами, настройками и т.д., так как иногда это проще, чем обновлять очень старый сервер. И тут очень поможет экспорт хостов. Сохраняем их на старом сервере и переносим на новый.
Рекомендую обратить внимание на такую возможность. Это бывает удобно как для переноса сервера, так и для каких-то тестов на втором сервере. Туда можно выгрузить часть хостов, добавить второй сервер в настройки агентов и протестировать какие-то новые шаблоны.
4️⃣ Бэкап перечисленных выше объектов в автоматическом режиме через API и метод configuration.export. Пример использования показан в документации.
Я в общем случае делаю бэкапы виртуальной машины и обязательно отдельно бэкап самой БД тем или иным способом. Если база небольшая, то обычным дампом, не забывая отключать блокировку таблиц при этом, иначе мониторинг во время снятия дампа тупит и спамит триггерами. Если большая, то другими инструментами в зависимости от типа БД.
#zabbix #backup