Home » Telegram » Бэкап базы данных Zabbix

Бэкап базы данных Zabbix

Хочу порекомендовать полезный скрипт для бэкапа базы данных Zabbix - https://github.com/npotorino/zabbix-backup. Его особенность в том, что он позволяет выбрать, какие таблицы ты будешь бэкапить со всеми данными, а для каких только структуру.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.

Это полезно, когда вам нужно перенести конфигурацию мониторинга Zabbix на другой сервер, но при этом вам не нужны исторические данные. Скрипт позволяет сделать полный бэкап таблиц с настройками, а, к примеру, events, history, trends перенести пустыми.

К сожалению, в описании указана поддержка только до версии 5.0. Не факт, что корректно заработает на 5.2 и выше, но вероятность большая, что все будет ОК. Я лично не проверял это. Для предыдущих версий пользовался скриптом, все отлично было.

Единственный нюанс сразу уточню для тех, кто будет переносить только конфигурацию. У меня после восстановления на новом сервере не работал сбор данных по неизвестной причине. Помог полный экспорт всех узлов в xml файл, удаление и импорт их же из xml файла. После этого данные пошли в систему.

Пример того, как с помощью этого скрипта можно забэкапить базу данных zabbix на Postgresql с TimeScaleDB:

git clone https://github.com/npotorino/zabbix-backup
cd zabbix-backup
./zabbix-dump -t psql -H localhost -P 5432 -o /var/backup

Восстановление базы zabbix:

systemctl stop zabbix-server.service
sudo -u postgres dropdb zabbix
sudo -u postgres createdb -O zabbix zabbix

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
echo "SELECT timescaledb_pre_restore();" | sudo -u postgres psql zabbix

gunzip /var/backup/zabbix_cfg_localhost_20200730-1810_db-psql-5.0.1.sql.gz
sudo -u postgres psql zabbix < /var/backup/zabbix_cfg_localhost_20200730-1810_db-psql-5.0.1.sql

echo "SELECT timescaledb_post_restore();" | sudo -u postgres psql zabbix
systemctl restart postgresql-12.service
systemctl start zabbix-server.service

На этом все.

Источник - мой канал: https://t.me/srv_admin/411.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "«Administrator Linux. Professional» в OTUS. Вы научитесь делать профессиональный подбор конфигурации, управлять процессами, обеспечивать безопасность, выполнять развертывание, настройку и обслуживание сетей. Проверьте себя на вступительном тесте и смотрите подробнее программи ссылке.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

2 комментария

  1. Здравствуйте, при восстановлении из дампа базы данных сделанного скриптом https://github.com/npotorino/zabbix-backup возникает проблема как вы и описывали с тем что не начинается сбор данных. Причина в таблице item_rtdata, данный скрипт сохраняет только схему этой таблицы, а необходимо сохранять и схему и данные. В скрипте необходимо скорректировать строчку
    item_rtdata 4.4.0 - 4.4.4 SCHEMAONLY
    И удалить из неё метку SCHEMAONLY
    После этого после восстановления, сбор данных будет корректный.

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar