Переезд или перенос Zabbix Server

Thank you for reading this post, don't forget to subscribe!

закон­чи­лась под­держ­ка Centos 8 и я пере­ез­жаю поти­хонь­ку на Debian. Во-вто­рых, в Centos 7 под­держ­ка Zabbix Server пре­кра­ще­на, начи­ная с вер­сии 5.4. То есть до 5.4 вы не обно­ви­тесь, не пере­ехав на дру­гую систему.

под­держ­ка самой систе­мы 7-й вер­сии будет до 2023 года. По идее, она всё еще акту­аль­но. Но это в тео­рии, на прак­ти­ке есть про­бле­мы. При­чин у коман­ды Zabbix несколько:

  1. Ста­рая вер­сия php 5.4, а надо мини­мум 7.2 для ново­го веб интерфейса.
  2. TLS под­клю­че­ния к базе дан­ных не под­дер­жи­ва­ют­ся в Centos 7.
  3. Ста­рые паке­ты OpenSSL не под­дер­жи­ва­ют TLS 1.3.

Все эти про­бле­мы так или ина­че мож­но решить, но ребя­та из Zabbix реши­ли, что оно не сто­ит того. Слиш­ком мно­го хло­пот с этой уже уста­рев­шей систе­мой. И я их пре­крас­но пони­маю, так как сам устал от подоб­ных про­блем со ста­ры­ми пакетами.

В ито­ге для даль­ней­ше­го обнов­ле­ния Zabbix Server нуж­но мигри­ро­вать с Centos 7 на какую-то дру­гую систе­му. Я выбрал в каче­стве такой систе­мы Debian 11.

Подготовка к переносу Zabbix Server

Пер­вое, что вам нуж­но сде­лать для пере­но­са Zabbix Server - уста­но­вить точ­но такую же вер­сию на новый сер­вер. Если пере­но­си­те Zabbix Server 5.0, то на новый сер­вер уста­нав­ли­ва­е­те тоже 5.0

Вам нуж­но не толь­ко уста­но­вить и под­го­то­вить сам сер­вер, но и пере­не­сти все кон­фи­гу­ра­ци­он­ные фай­лы и скрип­ты со ста­ро­го сер­ве­ра на новый. Мож­но про­сто ско­пи­ро­вать с пере­за­пи­сью дефолт­ных кон­фи­гов. А так же создать базу дан­ных MySQL или PostgreSQL, в зави­си­мо­сти от того, что исполь­зу­е­те, с таким же име­нем, поль­зо­ва­те­лем и паро­лем, как на ста­ром сер­ве­ре. Это не обя­за­тель­но, но так будет удоб­нее. Не при­дёт­ся кон­фиг сер­ве­ра менять.

Когда закон­чи­те, може­те запу­стить Zabbix Server на новом сер­ве­ре и зай­ти в веб интер­фейс. Если вас встре­тит уста­нов­щик, зна­чит всё сде­ла­ли пра­виль­но. Мож­но выпол­нить чистую уста­нов­ку и убе­дить­ся, что всё гото­во, веб интер­фейс рабо­та­ет. В это же вре­мя сове­тую вни­ма­тель­но посмот­реть и пере­не­сти со ста­ро­го сер­ве­ра всё, что может при­го­дить­ся - external scripts, зада­чи cron, настрой­ки sudoers и мно­гое дру­гое, что мог­ло исполь­зо­вать­ся в про­цес­се эксплуатации.

Если вы исполь­зу­е­те рус­ский язык в веб интер­фей­се, то в Debian или Ubuntu не забудь­те доба­вить локаль ru_RU:

# dpkg-reconfigure locales

И далее добавь­те ru_RU.UTF-8. Ста­вить по умол­ча­нию её не обязательно.

Перенос Zabbix Server

Теперь мож­но перей­ти непо­сред­ствен­но к пере­но­су сер­ве­ра мони­то­рин­га. Для это­го оста­но­ви­те ста­рый сервер:

# systemctl stop zabbix-server zabbix-agent

Дела­ем дамп базы дан­ных. В нём хра­нит­ся вся инфор­ма­ция по мони­то­рин­гу, кото­рую нуж­но перенести.

# /usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -p'password' | /usr/bin/gzip -c > ~/zabbix.sql.gz

zabbix назва­ние базы дан­ных заббикса
-uzabbix ключ -u и даль­ше имя поль­зо­ва­те­ля базы данных
-p'password' ключ -p и даль­ше пароль поль­зо­ва­те­ля бд, если в паро­ле есть спец­сим­во­лы, экра­ни­руй­те их оди­ноч­ны­ми кавычками

Этот дамп нуж­но пере­не­сти на новый сер­вер. Може­те исполь­зо­вать любой при­выч­ный для вас спо­соб. В про­стых слу­ча­ях я пред­по­чи­таю scp:

# scp ~/zabbix.sql.gz root@10.1.3.19:/tmp

10.1.3.19 - ip адрес ново­го сер­ве­ра, на кото­рый пере­но­сим Zabbix. На ста­ром сер­ве­ре служ­бу zabbix-server боль­ше не запускаем.

Пере­хо­дим на новый сер­вер, рас­па­ко­вы­ва­ем архив базы данных:

# gunzip ~/zabbix.sql.gz

Откры­ва­ем кон­соль MySQL и вос­ста­нав­ли­ва­ем дамп в базу дан­ных Zabbix:

# mysql -u root -p
> use zabbix;
> source ~/zabbix.sql;

Дожи­да­ем­ся окон­ча­ния залив­ки. Это может длить­ся очень дол­го, если база большая.

После того, как загру­зит­ся дамп, мож­но зай­ти в веб интер­фейс ново­го сер­ве­ра и убе­дить­ся, что всё вос­ста­нов­ле­но и сер­вер выгля­дит так­же, как на ста­ром месте. Если всё ОК, то выклю­чай­те ста­рый сер­вер мони­то­рин­га и боль­ше не вклю­чай­те с этим IP. А на новом настрой­те IP адрес ста­ро­го и тоже для вер­но­сти перезагрузите.

После того, как новый сер­вер с пере­не­сён­ным Zabbix загру­зит­ся, все аген­ты нач­нут отправ­лять на него инфор­ма­цию, так как для них ниче­го не поме­ня­лось. Фак­ти­че­ски на этом пере­нос закончен.