Обновление Zabbix 4.4 до 5.0

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

Недав­но вышла новая вер­сия сер­ве­ра Zabbix 5.0. Сего­дня я рас­ска­жу, как обно­вить преды­ду­щую вер­сию zabbix 4.4 до акту­аль­ной 5.0. Делать это при­дет­ся в обя­за­тель­ном поряд­ке всем, так как вер­сия 4.4 не LTS и име­ет огра­ни­чен­ное вре­мя под­держ­ки. В то вре­мя 5.0 как раз LTS с цик­лом под­держ­ки в 5 лет.

Важ­ный нюанс. Мини­маль­ные систем­ные тре­бо­ва­ния к вер­сии php для Zabbix 5 - 7.2 Так что преж­де чем обнов­лять сам сер­вер мони­то­рин­га, убе­ди­тесь, что у вас сто­ит под­хо­дя­щая вер­сия php.

Перед обнов­ле­ни­ем, сде­ла­ем на вся­кий слу­чай бэкап базы дан­ных. Для это­го пред­ва­ри­тель­но оста­но­вим сервер.

У меня что-то актив­но писа­лось в базу, поэто­му сер­вер выклю­чал­ся дол­го. При этом systemd выдал ошибку:

Я про­ве­рил лог zabbix-server, что­бы убе­дить­ся в кор­рект­ном выклю­че­нии. Там все нор­маль­но было, сер­вер штат­но завер­шил рабо­ту, допи­сав то, что у него там нако­пи­лось. Так что бэкапим.

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

На вся­кий слу­чай сохра­ним php скрип­ты админ­ки, что­бы мож­но было опе­ра­тив­но запу­стить ста­рую вер­сию в слу­чае нештат­ной ситу­а­ции. Хотя лич­но я сде­лал сне­пшот вир­ту­ал­ки перед обнов­ле­ни­ем, что­бы отка­тить­ся назад в слу­чае проблем.

Centos 7

Под­клю­ча­ем репо­зи­то­рий вер­сии zabbix 5.0:

Centos 8

Ста­рый репо­зи­то­рий от вер­сии 4.4 будет авто­ма­ти­че­ски удален.

Очи­ща­ем и пере­со­зда­ем кэш yum:

Debian 10

Уда­ля­ем пакет теку­ще­го репозитория:

Под­клю­ча­ем новый:

Обнов­ля­ем инфор­ма­цию о репозиториях:

Ubuntu 18

Уда­ля­ем пакет теку­ще­го репозитория:

Под­клю­ча­ем новый:

Обнов­ля­ем инфор­ма­цию о репозиториях:

Ubuntu 20

Уда­ля­ем пакет теку­ще­го репозитория:

Под­клю­ча­ем новый:

Обнов­ля­ем инфор­ма­цию о репозиториях:

Если у вас дру­гие вер­сии систем, то про­стой най­ди­те ссыл­ки паке­тов под свою вер­сию в офи­ци­аль­ном репо­зи­то­рии — https://repo.zabbix.com/zabbix/5.0/ Даль­ней­шее обнов­ле­ние не будет отли­чать­ся от текущего.

К обнов­ле­нию под­го­то­ви­лись, мож­но приступать.

Установка обновления zabbix 4.4 до 5.0

Centos 8

Уста­нав­ли­ва­ем само обнов­ле­ние zabbix на сер­вер Centos сле­ду­ю­щей командой:

Это спи­сок паке­тов заб­бик­са для обще­го слу­чая. Если у вас уста­нов­ле­но что-то еще, луч­ше обно­вить все сра­зу. Посмот­реть спи­сок уста­нов­лен­ных паке­тов zabbix мож­но командой:

В при­ве­ден­ном при­ме­ре есть еще паке­ты zabbix-get и zabbix-sender. Обнов­ля­ем все сразу:

Centos 7

В Centos 7 обно­вить Zabbix с 4-й верт­ки на 5-ю может ока­зать не такой про­стой зада­чей. Свя­за­но это с тем, что необ­хо­ди­ма вер­сия php 7.2, в ее в базо­вых репо­зи­то­ри­ях Centos 7 нет. Необ­хо­ди­мо под­клю­чать репо­зи­то­рий centos-release-scl и ста­вить паке­ты из него. Но про­сто так взять и поста­вить не полу­чит­ся, будет кон­фликт с теку­щи­ми вер­си­я­ми паке­тов. Так что нуж­но акку­рат­но что-то уда­лить, а что-то доба­вить. Дей­ству­ем акку­рат­но и внимательно.

Уда­ля­ем ста­рые паке­ты, кото­рые будут заме­не­ны при обновлении:

Под­клю­ча­ем репо­зи­то­рий centos-release-scl:

Редак­ти­ру­ем файл /etc/yum.repos.d/zabbix.repo, раз­ре­шая обнов­лять­ся паке­там из zabbix-frontend. Не забудь­те про­ве­рить, что у вас под­клю­чил­ся репо­зи­то­рий от 5-й версии.

Уста­нав­ли­ва­ем новые пакеты:

Обнов­ля­ем существующие:

Теперь убе­ди­тесь, что у вас акти­ви­ро­ван новый кон­фиг zabbix для apache. У вас дол­жен быть файл /etc/httpd/conf.d/zabbix.conf, а в нем сле­ду­ю­щая строка:

Она отве­ча­ет за исполь­зо­ва­ния новой вер­сии php 7.2 из паке­та php-fpm. Пере­за­пус­ка­ем все службы:

После это­го у вас долж­но кор­рект­но прой­ти обнов­ле­ние zabbix на 5-ю вер­сию в Centos 7.

Debian / Ubuntu

Уста­нав­ли­ва­ем само обнов­ле­ние zabbix на сер­вер с Debian или Ubuntu сле­ду­ю­щей командой:

Даль­ше инструк­ция общая для всех систем. После завер­ше­ния обнов­ле­ния, запус­ка­ем сервер:

В момент запус­ка про­изой­дет обнов­ле­ние базы дан­ных. Для малень­кой базы (1-2 гб) это не зай­мет мно­го вре­ме­ни. Вы може­те даже не заме­тить про­цес­са. Если база боль­ше, то надо подо­ждать, пока не закон­чит­ся обнов­ле­ние. Сле­дить за ним мож­но с помо­щью про­смот­ра лог фай­ла zabbix сервера.

После завер­ше­ния обнов­ле­ния базы, сер­вер запу­стит­ся. После это­го мож­но запу­стить и агент.

В логах аген­та и сер­ве­ра мож­но посмот­реть вер­сию запу­щен­ных сервисов.

Теперь мож­но идти в веб интер­фейс и смот­реть на обнов­лен­ную вер­сию zabbix server. Перед этим почи­сти­те кэш бра­у­зе­ра и уда­ли­те куки от стра­ни­цы заб­бик­са. Если это­го не сде­лать, то могут быть про­бле­мы и ошиб­ки, с чем я не раз стал­ки­вал­ся. Если у вас в каче­стве веб сер­ве­ра исполь­зу­ет­ся nginx, не забудь­те поме­нять вла­дель­ца дирек­то­рии /etc/zabbix/web на nginx, в том слу­чае, если веб сер­вер рабо­та­ет от него. После обнов­ле­ния он будет при­над­ле­жать apache, а web интер­фейс не заработает.

Може­те лице­зреть обнов­лен­ную вер­сию web интерфейса.

Сна­ча­ла про­вел обнов­ле­ние на неболь­шом сер­ве­ре. У меня весь про­цесс про­шел без оши­бок и накла­док. Новый интер­фейс сра­зу заработал.

Основные изменения в интерфейсе Zabbix 5.0

Я потра­тил неко­то­рое вре­мя, пока искал при­выч­ные настрой­ки на новых местах. Что­бы сэко­но­мить вам вре­мя, дам несколь­ко подсказок.

Web про­вер­ки и гра­фи­ки теперь живут в раз­де­ле Узлы сети.

Я дол­го искал web про­вер­ки и пере­пу­гал­ся, не убра­ли ли их совсем из систе­мы. Для меня это очень акту­аль­ный функ­ци­о­нал. С его помо­щью настро­ен мони­то­ринг сайтов.

Для того, что­бы посмот­реть на одном экране набор про­из­воль­ных гра­фи­ков хот­са, надо перей­ти в Узлы сети, открыть гра­фи­ки кон­крет­но­го хоста. Затем перей­ти в Фильтр и там выбрать необ­хо­ди­мые гра­фи­ки. Ста­ло удобно.

Рань­ше, что­бы быст­ро посмот­реть несколь­ко гра­фи­ков на одном экране, надо было их соби­рать в даш­борд или ком­плекс­ный экран. Теперь мож­но без про­блем выве­сти в три кли­ка все, что надо.

Настрой­ка шаб­ло­нов опо­ве­ще­ний теперь нахо­дит­ся в спо­со­бах опо­ве­ще­ний. Все ста­рые шаб­ло­ны, что были в дей­стви­ях, уда­ле­ны. Так что сохра­няй­те их перед обновлением.

Вот под­твер­жде­ние того, что несмот­ря на обнов­ле­ние zabbix server до 5.0, шаб­лон остал­ся старый.

В новом шаб­лоне это­го триг­ге­ра уже нет. Так что добав­лять в систе­му и обнов­лять шаб­ло­ны у хостов при­дет­ся вруч­ную. Я уже немно­го зани­мал­ся этим еще в вер­сии 4.4 и могу ска­зать, что это хло­пот­но. В новых шаб­ло­нах боль­ше дан­ных и триг­ге­ров, кото­рые не все­гда и не вез­де нуж­ны. Надо вни­ма­тель­но все смот­реть и отклю­чать не нуж­ное. А так же редак­ти­ро­вать неко­то­рые триг­ге­ры под свои нужды.

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