Дано. Debian 8 + Zabbix 4.4.
Хочу. Debian 10 + Zabbix 5.х.
1. Плацдарм для нового заббикса.
Действия произвожу на свежий установленный дистрибутив Debian 10.
Для начала надо выровнять версии zabbix. На исходном сервере версия 4.4, значит на сервер назначения я буду устанавливать такую же версию.
Проверить наличие php. Если нет, то:
apt -y install php php-common apt install php php-mysql php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-pdo php-xml libapache2-mod-php apt -y install libapache2-mod-php
Подготовка дистрибутива:
wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb dpkg -i zabbix-release_4.4-1+buster_all.deb apt update
Настройка mariadb:
mysql_secure_installation
Подготовка БД для zabbix-server:
# mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit; zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Установка:
apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
Настройка конфигурации:
nano /etc/zabbix/zabbix_server.conf DBPassword=password
Настройка часового пояса:
/etc/zabbix/apache.conf php_value date.timezone Europe/Riga
У меня почему-то файла /etc/zabbix/apache.conf не оказалось и я копировал его из другой рабочей версии zabbix, уже установленной.
Перезапуск сервисов и добавление в автозагрузку:
systemctl restart zabbix-server zabbix-agent apache2 systemctl enable zabbix-server zabbix-agent apache2
Копирование конфига для веб-интерфейса:
ln -s /etc/zabbix/apache.conf /etc/apache2/sites-enabled/
Открываем веб-интерфейс по адресу своего хоста (я на локальном тренировался) и завершаем установку:
http://10.10.10.172/zabbix/setup.php
Как только веб-интерфейс пустил в настройки по логину Admin и паролю по умолчанию zabbix, система готова к переносу данные. Можно сделать её копию на случай, если что-то при переносе потом пойдёт не так и чтобы не разворачивать всё по новой.
2. Подготовка пациента.
Обновляем пациента до нужной версии, которая поедет на целевой новый сервер.
rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+jessie_all.deb dpkg -i zabbix-release_4.4-1+jessie_all.deb apt update service zabbix-server stop service zabbix-agent stop apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent service zabbix-server start service zabbix-agent start
tail -f /var/log/zabbix/zabbix_server.log — наблюдать за обновлением базы и должно быть в процессе сообщение database upgrade fully completed, например вот так:
7216:20201022:155130.354 completed 99% of database upgrade 7216:20201022:155131.464 completed 100% of database upgrade 7216:20201022:155131.464 database upgrade fully completed 7216:20201022:155131.472 database is not upgraded to use double precision values 7216:20201022:155131.546 server #0 started [main process] 7242:20201022:155131.550 server #1 started [configuration syncer #1]
Теперь версии у меня сравнялись: Zabbix 4.4.10.
Перенос заббикса.
Останавливаем сервер, чтобы в базу не писались данные. Копия базы:
service zabbix-server stop
mysqldump -u root -p zabbix > /var/mysqldump/zabbix.sql
Архив веб-интерфейса:
tar -czf zabbix-web.tar /usr/share/zabbix
Переношу на целевой сервер и разворачиваю дампы. Останавливаю заббикс сервер.Вливаю базу:
service zabbix-server stop
mysql -u root -p zabbix < zabbix.sql
Копирую новые файлы веб-интерфейса в /usr/share/zabbix
Запускаю сервер:
service zabbix-server start
Проверю что всё заработало.
Обновление до 5-й версии.
service zabbix-server stop rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp wget https://repo.zabbix.com/zabbix/5.1/debian/pool/main/z/zabbix-release/zabbix-release_5.1-1+debian10_all.deb dpkg -i zabbix-release_5.1-1+debian10_all.deb apt-get update apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
tail -f /var/log/zabbix/zabbix_server.log — наблюдать за обновлением базы
Получился у меня Zabbix 5.2.0rc2.