Хочу порекомендовать полезный скрипт для бэкапа базы данных Zabbix - https://github.com/npotorino/zabbix-backup. Его особенность в том, что он позволяет выбрать, какие таблицы ты будешь бэкапить со всеми данными, а для каких только структуру.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Это полезно, когда вам нужно перенести конфигурацию мониторинга 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.
Подскажите, можно ли этим скриптом пользоваться не останавливая zabbix-server, на ходу?
Да, можно.
Здравствуйте, при восстановлении из дампа базы данных сделанного скриптом https://github.com/npotorino/zabbix-backup возникает проблема как вы и описывали с тем что не начинается сбор данных. Причина в таблице item_rtdata, данный скрипт сохраняет только схему этой таблицы, а необходимо сохранять и схему и данные. В скрипте необходимо скорректировать строчку
item_rtdata 4.4.0 - 4.4.4 SCHEMAONLY
И удалить из неё метку SCHEMAONLY
После этого после восстановления, сбор данных будет корректный.
Спасибо за полезную информацию.