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

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

Что нового в версии zabbix 4.4

  • Новый zabbix-agent, напи­сан­ный на Go. Из новых воз­мож­но­стей аген­та заяв­ле­но - фрейм­ворк для касто­ми­за­ции про­ве­рок, воз­мож­ность сохра­не­ния состо­я­ния меж­ду про­вер­ка­ми, более гиб­кий пла­ни­ров­щик, более эффек­тив­ная пере­да­ча дан­ных, заме­на теку­щих аген­тов с под­держ­кой боль­ше­го коли­че­ства плат­форм в будущем.
  • Веб­ху­ки и более про­дви­ну­тая логи­ка для дей­ствий и опо­ве­ще­ний на осно­ве JavaScript. С помо­щью этих улуч­ше­ний ста­нет про­ще настра­и­вать инте­гра­цию с внеш­ни­ми сервисами.
  • Новый стан­дарт для шаб­ло­нов. Как я понял, раз­ра­бот­чи­ки реши­ли упо­ря­до­чить созда­ние шаб­ло­нов и пред­ло­жи­ли свой фор­мат для их оформ­ле­ния. Подроб­нее опи­са­но в Zabbix template guidelines. Я пока еще не вни­кал и не раз­би­рал­ся с этой темой. Посмот­рим, что в ито­ге полу­чит­ся. На мой взгляд хоро­ший шаг сде­лан. Дав­но пора было как-то упо­ря­до­чить шаблоны.
  • Как я уже ска­зал ранее, добав­ле­на под­держ­ка TimescaleDB. Это долж­но суще­ствен­но уве­ли­чить про­из­во­ди­тель­ность хра­ни­ли­ща дан­ных, что явля­ет­ся узким место систе­мы мони­то­рин­га zabbix.
  • Реа­ли­зо­ва­на база зна­ний для ите­мов и триг­ге­ров. Теперь их мож­но будет доку­мен­ти­ро­вать. Любо­пыт­ная фича, надо будет попро­бо­вать. Я обыч­но поле description для это­го рань­ше использовал.
  • Рас­ши­рил­ся функ­ци­о­нал визу­а­ли­за­ции. Появи­лись новые видже­ты для даш­бор­дов, новые типы гра­фи­ков, воз­мож­ность агре­ги­ро­вать дан­ные с помо­щью функций.
  • Доба­ви­лась под­держ­ка новых вер­сий опе­ра­ци­он­ных систем - centos 8, debian 10 и т.д.
Обра­щаю вни­ма­ние на то, что вер­сия 4.4 не LTS вер­сия. Ее под­держ­ка будет толь­ко 6 меся­цев, в отли­чие от LTS, где под­держ­ка 5 лет. Так что если вам не нужен новый функ­ци­о­нал, обнов­лять­ся не сто­ит. Через неко­то­рое вре­мя при­дет­ся обнов­лять­ся вновь.

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

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

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

Centos 7

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

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

Centos 8

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

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

Debian 9

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

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

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

Debian 10

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

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

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

Ubuntu 18

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

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

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

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

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

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

Centos

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

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

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

Debian / Ubuntu

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

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

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

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

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

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

В веб интер­фей­се в самом низу будет пока­за­на теку­щая вер­сия сервера:

Про­це­ду­ра обнов­ле­ния Zabbix сер­ве­ра обыч­но не слож­ная. Про­бле­мы чаще все­го воз­ни­ка­ют в двух случаях:

  1. Про­бле­мы с зави­си­мо­стя­ми паке­тов, чаще все­го php или mysql.
  2. Боль­шая база дан­ных, кото­рая очень дол­го обнов­ля­ет­ся, либо не обнов­ля­ет­ся по какой-то причине.

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

Ино­гда база не обнов­ля­ет­ся из-за каких-то про­блем с запи­ся­ми. Чаще все­го в полях acknowledged, куда мож­но пона­пи­сать все­го, что угод­но. Надо тоже раз­би­рать­ся по месту и уда­лять то, что меша­ет обнов­ле­нию. Но в общем и целом, обнов­ле­ние про­хо­дит штат­но и лич­но у меня нико­гда не было с ним проблем.