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

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

Введение

Ранее я написал подробную статью по установке и настройке Zabbix 5, где в том числе рассказал своими словами обо всех основных нововведениях. Настоятельно рекомендую с ними ознакомиться, прежде чем обновляться. Обязательно сначала прочитайте всю статью, только потом начинайте обновление. По ходу дела будут важные замечания.

Второй момент. В этой версии очень много изменений, как в настройках, так и в интерфейсе. Обновлять без подготовки не рекомендую. Если у вас несколько серверов, начните с самого простого. Если же только один, то настоятельно рекомендую сделать его копию и проверить обновление на ней.

Еще один момент, который я упускал, когда обновлялся со старых версий Zabbix. В новых версиях часто обновляются стандартные шаблоны, но вы их не увидите при обновлении. У вас останутся работать старые версии. Новые нужно вручную переносить из свежих установок и подключать к хостам.

С одной стороны это плюс, так как шаблоны зачастую меняются очень сильно. Нужен ручной контроль. А с другой стороны неудобно вручную обновлять все шаблоны, которые еще и зависимости свои имеют. Рассмотрю все эти моменты по ходу дела. Приступаем к обновлению сервера мониторинг Zabbix версии 4.4 до 5.0.

Подготовка к обновлению

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

systemctl stop zabbix-server

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

Failed to stop zabbix-server.service: Connection timed out
See system logs and 'systemctl status zabbix-server.service' for details.

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

/usr/bin/mysqldump --opt -v --databases zabbix -uzabbix -p'password' | /usr/bin/gzip -c > /root/zabbix.sql.gz
zabbixназвание базы данных заббикса
-uzabbixключ -u и дальше имя пользователя базы данных
-p’password’ключ -p и дальше пароль пользователя бд, если в пароле есть спецсимволы, экранируйте их одиночными кавычками

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

cp -R /usr/share/zabbix /root

Centos 7

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

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

Centos 8

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

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

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

yum clean all
yum makecache

Debian 10

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

rm -Rf /etc/apt/sources.list.d/zabbix.list

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

wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb

dpkg -i zabbix-release_5.0-1+buster_all.deb

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

apt update

Ubuntu 18

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

rm -Rf /etc/apt/sources.list.d/zabbix.list

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

wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb

dpkg -i zabbix-release_5.0-1+bionic_all.deb

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

# apt update

Ubuntu 20

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

rm -Rf /etc/apt/sources.list.d/zabbix.list

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

wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb

dpkg -i zabbix-release_5.0-1+focal_all.deb

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

apt update

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

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

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

Centos 8

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

yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent

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

rpm -qa | grep zabbix
zabbix-agent-4.4.8-1.el8.x86_64
zabbix-web-4.4.8-1.el8.noarch
zabbix-release-5.0-1.el8.noarch
zabbix-web-mysql-4.4.8-1.el8.noarch
zabbix-server-mysql-4.4.8-1.el8.x86_64
zabbix-get-4.4.8-1.el8.x86_64
zabbix-sender-4.4.8-1.el8.x86_64

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

yum upgrade zabbix-server-mysql zabbix-web zabbix-agent zabbix-get zabbix-sender

Centos 7

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

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

yum remove zabbix-web-*

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

yum install centos-release-scl

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

[zabbix-frontend]name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

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

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

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

yum update zabbix-*

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

SetHandler "proxy:unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock|fcgi://localhost"

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

systemctl restart zabbix-server httpd

systemctl enable --now rh-php72-php-fpm

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

Debian / Ubuntu

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

apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent

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

systemctl start zabbix-server

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

tail -f /var/log/zabbix/zabbix_server.log

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

systemctl start zabbix-agent

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

Starting Zabbix Agent [Zabbix server]. Zabbix 5.0.0 (revision 9665d62db0).
Starting Zabbix Server. Zabbix 5.0.0 (revision 9665d62db0).

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

chown -R nginx:nginx /etc/zabbix/web

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

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

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

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

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

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

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

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

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

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

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

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

Источник: https://serveradmin.ru/obnovlenie-zabbix-4-4-do-5-0/

Was this helpful?

0 / 0