1-го октября как-то буднично и без отдельной рассылки вышла новая версия сервера мониторинга Zabbix 4.0. Сегодня я расскажу, как выполнить обновление zabbix с версии 3.4 до последней версии 4.0. Я уже давно использовал альфа версии, потом rc, так что уже неплохо знаком с новой версией, и она мне очень понравилась.
Я просмотрел весь сайт, но так и не увидел отдельной новости или объявления о выходе новой версии 4.0. На самом сайте уже все обновлено, как будто 4.0 вышла уже давно. Я подписан на рассылку zabbix, но последнее сообщение было 19 сентября о выходе Zabbix 4.0.0rc1. В общем, я ничего не знал про релиз 4.0, пока мне тут в комментариях в одной статье не спросили, когда будет статья про 4.0. Начну ее писать сразу же после этой. У меня накопилось много новой и полезной информации для статьи по установке и настройке zabbix.
Для начала краткий обзор основных нововведений:
- Изменилась визуализация данных. В виджетах на дашборде можно строить графики, которые раньше были недоступны. Изменения графиков — это то, что больше всего просили пользователи у разработчиков. На фоне Grafana, Kibana и т.д. графики zabbix выглядят жуткой архаикой. Их даже как-то неловко показывать тем, кто не знаком с заббиксом совсем, но видел другие системы визуализации информации.
- Удобный выбор периодов для отображения информации. Это первое, что я заметил и оценил, когда поставил первую версию zabbix 4.0. Это действительно удобно и экономит время.
- Оптимизирован режим Kiosk для вывода информации в полноэкранном режиме на отдельные дисплеи или видеостены. Можно убрать все лишние элементы интерфейса, не относящиеся непосредственно к графикам и данным.
- Появился новый компактный режим просмотра проблем. В нем на экран помещается больше полезной информации.
- Появилась поддержка компрессии при передачи информации от zabbix proxy. В версии 4.0 она включена по-умолчанию. Это позволит снизить нагрузку на сеть в больших распределенных системах.
- Появилось больше настроек в разделе реакции на проблему. Можно закрыть проблему или изменить важность без подтверждения и отправки оповещения. На все это выдаются соответствующие права.
- Появились новые права доступа, основанные на тэгах.
- Появился новый http агент для сбора данных! Вот это любопытная штука, надо будет попробовать.
- Появились дополнительные настройки для HTTP аутентификации.
- Добавлены две новые высококонтрастные темы для интерфейса. Мне вообще не понравились, не оценил.
И многое другое. Подробное описание с картинками вы можете посмотреть на отдельной странице What’s New in Zabbix 4.0 LTS на сайте. Для полноты картины ссылка на Release Notes for Zabbix 4.0.0.
Нововведения Zabbix 4.0 разобрали. Приступим к обновлению прошлой версии 3.4 до 4.0.
Подготовка к обновлению
Если у вас версия Zabbix ниже 3.4, то предварительно обновите ее до указанной. Если вы используете zabbix proxy, то схема обновления должна быть следующая: останавливаете и обновляете сервер, обновляете и запускаете по очереди все прокси. После этого запускаете основной сервер.
Перед обновлением, сделаем на всякий случай бэкап базы данных. Для этого предварительно остановим сервер.
# systemctl stop 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 4.0:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
Старый репозиторий от версии 3.4 будет автоматически удален.
Очищаем и пересоздаем кэш yum:
# yum clean all # yum makecache
Debian 9
Удаляем пакет текущего репозитория:
# rm -Rf /etc/apt/sources.list.d/zabbix.list
Подключаем новый:
# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb # dpkg -i zabbix-release_4.0-2+stretch_all.deb
Обновляем информацию о репозиториях:
# apt update
Ubuntu 18
Удаляем пакет текущего репозитория:
rm -Rf /etc/apt/sources.list.d/zabbix.list
Подключаем новый:
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb # dpkg -i zabbix-release_4.0-2+bionic_all.deb
Обновляем информацию о репозиториях:
# apt update
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/4.0/ Дальнейшее обновление не будет отличаться от текущего.
К обновлению подготовились, можно приступать.
Установка обновления zabbix 3.4 до 4.0
Centos 7
Устанавливаем само обновление zabbix на сервер Centos 7 следующей командой:
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
Это список программ заббикса для общего случая. Если у вас установлено что-то еще, лучше обновить все сразу. Посмотреть список установленных пакетов zabbix можно командой:
# rpm -qa | grep zabbix zabbix-web-mysql-3.4.13-1.el7.noarch zabbix-server-mysql-3.4.13-1.el7.x86_64 zabbix-release-3.4-2.el7.noarch zabbix-agent-3.4.13-1.el7.x86_64 zabbix-web-3.4.13-1.el7.noarch zabbix-get-3.4.12-1.el7.x86_64 zabbix-sender-3.4.12-1.el7.x86_64
В моем случае есть еще пакеты zabbix-get и zabbix-sender. Обновляем все сразу:
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender
Debian 9/Ubuntu 18
Устанавливаем само обновление 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 [serveradmin.ru]. Zabbix 4.0.0 (revision 85308).
Starting Zabbix Server. Zabbix 4.0.0 (revision 85308).
Теперь можно идти в веб интерфейс и смотреть на обновленную версию zabbix server. Перед этим почистите кэш браузера и удалите куки от страницы заббикса. Если этого не сделать, то могут быть проблемы и ошибки, с чем я не раз сталкивался.
В веб интерфейса в самом низу будет показана текущая версия сервера:
Можете знакомиться с нововведениями и брать их на вооружение.
Заключение
Описанное обновление заббикса я выполнил по ходу написания статьи на одном из небольших рабочих серверов. Все прошло без проблем. Так что если у вас будут какие-то ошибки или проблемы, то это скорее всего ваши локальные. Если у вас web интерфейс работает на nginx, не забудьте изменить владельца директории /etc/zabbix/web на nginx. Я после обновления частенько забываю это сделать и вижу пустой белый экран, вместо окна авторизации.
В скором времени выйдет моя новая статья по установке zabbix 4.0, где я поделюсь своими советами и рекомендациями по настройке, которые я обычно делаю на новых серверах. Раньше я эту информацию не публиковал, ограничиваясь общими советами. Теперь решил поделиться именно своими наработками и опытом. Еще я там впервые не буду отключать SELinux, а то уже утомили претензии по этому поводу, как-будто это что-то, без чего заббикс сервер просто невозможен.
If you liked my post, feel free to subscribe to my rss feeds