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

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

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

О том, что ново­го появи­лось в вер­сии 4.2 очень подроб­но рас­ска­зал автор систе­мы мони­то­рин­га - Алек­сей Вла­ды­шев в ста­тье на хаб­ре.
  • Под­держ­ка Prometheus. Это очень кру­той шаг впе­ред в раз­ви­тии. Пре­ме­те­ус очень попу­ляр­ная совре­мен­ная систе­ма мони­то­рин­га кон­тей­нер­ных систем, кото­рые актив­но раз­ви­ва­ют­ся и внед­ря­ют­ся. Заб­бикс сде­лал важ­ный шаг, настро­ив про­стую интеграцию.
  • Опти­ми­за­ция высо­ко­ча­стот­но­го мони­то­рин­га. Очень удоб­ная шту­ка, кото­рая поз­во­лит суще­ствен­но эко­но­мить место в базе дан­ных. Как извест­но, база дан­ных - узкое место рабо­ты систе­мы мони­то­рин­га в целом. Так что инстру­мент, кото­рый поз­во­лит суще­ствен­но сокра­тить коли­че­ство запи­сей, не поте­ряв функ­ци­о­нал, очень полезен.
  • Обра­бот­ка дан­ных с помо­щью javascript. Я не умею писать на javascript и тем не менее пони­маю важ­ность и удоб­ство это­го ново­вве­де­ния. Обра­бот­ку дан­ных мож­но делать на сер­ве­ре прак­ти­че­ски в любом виде. Мень­ше скрип­тов на местах, боль­ше обра­бо­ток на сер­ве­ре. С таким под­хо­дом удоб­нее управ­лять и мас­шта­би­ро­вать систе­му. Это одно­знач­но плюс. Надо учить javascript.
  • Тест пре­про­цес­син­га. Теперь мож­но настро­ить итем, пре­про­цес­синг и тут же посмот­реть, как он рабо­та­ет. Не надо ждать, когда актви­ру­ет­ся эле­мент и нач­нут посту­пать дан­ные. Это эко­но­мит вре­мя отладки.
  • Пре­про­цес­синг на сто­роне прок­си. Тут все понят­но и без объ­яс­не­ний. Сни­ма­ем нагруз­ку с сер­ве­ра и рас­пре­де­ля­ем ее по прокси.
  • Тэги для шаб­ло­нов и узлов. Я лич­но поль­зу­юсь тэга­ми, поэто­му рад рас­ши­ре­нию это­го функ­ци­о­на­ла. Будет удоб­нее фор­ми­ро­вать спис­ки на осно­ве каких-то признаков.
  • Тест спо­со­бов опо­ве­ще­ний. Вро­де мелочь, но как же надо­еда­ет отла­жи­вать спо­со­бы опо­ве­ще­ния, когда что-то не рабо­та­ет. При­хо­дит­ся созда­вать какой-то триг­гер и посто­ян­но его дер­гать, что­бы про­ве­рить рабо­ту. Осо­бен­но это акту­аль­но для опо­ве­ще­ний в telegram. Теперь мож­но будет про­ве­рять опо­ве­ще­ния пря­мо из интер­фей­са настроек.
  • HTML фор­мат опо­ве­ще­ний. Мне лич­но не акту­аль­но, хва­та­ет и тек­сто­вых. Но я видел, как люди кол­хо­зят скрип­та­ми кра­си­вые html опо­ве­ще­ния. Теперь это будет рабо­тать из коробки.
  • Новый фильтр в кон­фи­гу­ра­ции триг­ге­ров. Отлич­но, что обра­ти­ли вни­ма­ние на этот нюанс. Теку­щий фильтр реаль­но не удоб­ный, осо­бен­но когда на хосте сот­ни триг­ге­ров. Мне при­хо­ди­лось искать триг­ге­ры через спи­сок ите­мов. Сна­ча­ла ищешь нуж­ный итем, потом пере­хо­дишь в триг­гер. Фильтр ите­мов более удобный.
  • Точ­ное вре­мя на гра­фи­ке. Нако­нец-то это сде­ла­ли. Теперь мож­но наве­сти на гра­фик и уви­деть точ­ное вре­мя. На неко­то­рых гра­фи­ках невоз­мож­но точ­но узнать вре­мя, если шаг боль­шой, циф­ры в линии вре­ме­ни мел­кие. Эта про­бле­ма решена.
Обра­щаю вни­ма­ние на то, что вер­сия 4.2 не LTS вер­сия. Ее под­держ­ка будет толь­ко 6 меся­цев, в отли­чие от LTS, где под­держ­ка 5 лет. Так что если вам не нужен новый функ­ци­о­нал, обнов­лять­ся не сто­ит. Через неко­то­рое вре­мя при­дет­ся обнов­лять­ся вновь.

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

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

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

Centos 7

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

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

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

Debian 9

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

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

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

Ubuntu 18

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

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

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

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

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

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

 

Centos 7

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

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

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

Debian 9/Ubuntu 18

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

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

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

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

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

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

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