Обновление 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/



2021-03-10T21:45:24
Software