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

2-го апреля вышла очередная новая версия крутой и удобной системы мониторинга. Сегодня я расскажу, как выполнить обновление zabbix с версии 4.0 до последней версии 4.2. Инструкция будет подробная и пошаговая, с описанием всех нюансов.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

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

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

Нововведения интересные и кое-где я обновлю сервера, чтобы потестировать новые фичи. Там, где новый функционал не нужен, обновление ставить не буду. Я больше предпочитаю использовать LTS версии в production.

Нововведения Zabbix 4.2 разобрали, приступим к обновлению.

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

Если у вас версия Zabbix ниже 4.0, то предварительно обновите ее до указанной. У меня есть цикл статей на тему обновления Zabbix:

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

# 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.2:

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

Подключение репозитория zabbix 4.2

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

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

# yum clean all
# yum makecache

Debian 9

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

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

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

# wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+stretch_all.deb
# dpkg -i zabbix-release_4.2-1+stretch_all.deb

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

# apt update

Ubuntu 18

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

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

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

# wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
# dpkg -i zabbix-release_4.2-1+bionic_all.deb

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

# apt update

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

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

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

Centos 7

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

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

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

# rpm -qa | grep zabbix
zabbix-sender-4.0.4-1.el7.x86_64
zabbix-threat-control-host-.24-el7.noarch
zabbix-release-4.0-1.el7.noarch
zabbix-threat-control-main-.49-el7.noarch
zabbix-get-4.0.4-1.el7.x86_64
zabbix-web-4.0.4-1.el7.noarch
zabbix-agent-4.0.4-1.el7.x86_64
zabbix-server-mysql-4.0.4-1.el7.x86_64

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

# yum upgrade zabbix-server-mysql zabbix-web 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

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

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

# systemctl start zabbix-agent

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

Starting Zabbix Agent [serveradmin.ru]. Zabbix 4.2.0 (revision 91746).
Starting Zabbix Server. Zabbix 4.2.0 (revision 91746).

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

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

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

Web интерфейс Zabbix 4.2

Можете изучать новую версию zabbix 4.2 и пробовать улучшения.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

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

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

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

У меня очень много статей по настройке zabbix. Все они в отдельном разделе. Так же у меня написана подробная статья по установке и настройке zabbix 4 с моими примерами и рекомендациями.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

42 комментария

  1. Виктор

    Делаю все по инструкции Debian 9. zabbix_server (Zabbix) 4.0.25
    Revision 32662425e6 28 September 2020
    Но в итоге не обновляется

    Ign:1 http://deb.debian.org/debian stretch InRelease
    Ign:2 http://security.debian.org/debian-security stretch/updates InRelease
    Ign:3 http://deb.debian.org/debian stretch-updates InRelease
    Err:4 http://security.debian.org/debian-security stretch/updates Release
    404 Not Found [IP: 151.101.86.132 80]
    Ign:5 http://deb.debian.org/debian-security stretch/updates InRelease
    Err:6 http://deb.debian.org/debian stretch Release
    404 Not Found [IP: 151.101.86.132 80]
    Err:7 http://deb.debian.org/debian stretch-updates Release
    404 Not Found [IP: 151.101.86.132 80]
    Err:8 http://deb.debian.org/debian-security stretch/updates Release
    404 Not Found [IP: 151.101.86.132 80]
    Ign:9 http://ftp.us.debian.org/debian stretch InRelease
    Ign:10 http://repo.zabbix.com/zabbix/3.5/debian stretch InRelease
    Ign:11 http://ftp.us.debian.org/debian stretch-updates InRelease
    Err:12 http://ftp.us.debian.org/debian stretch Release
    404 Not Found [IP: 64.50.236.52 80]
    Err:13 http://repo.zabbix.com/zabbix/3.5/debian stretch Release
    404 Not Found [IP: 178.128.6.101 80]
    Err:14 http://ftp.us.debian.org/debian stretch-updates Release
    404 Not Found [IP: 64.50.236.52 80]
    Reading package lists... Done
    E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does no longer have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://deb.debian.org/debian stretch Release' does no longer have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://deb.debian.org/debian stretch-updates Release' does no longer have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://deb.debian.org/debian-security stretch/updates Release' does not have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://ftp.us.debian.org/debian stretch Release' does not have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://repo.zabbix.com/zabbix/3.5/debian stretch Release' does not have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    E: The repository 'http://ftp.us.debian.org/debian stretch-updates Release' does not have a Release file.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    root@zabbix-srv:~# apt install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent -y
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Skipping zabbix-agent, it is not installed and only upgrades are requested.
    Skipping zabbix-frontend-php, it is not installed and only upgrades are requested.
    Skipping zabbix-server-mysql, it is not installed and only upgrades are requested.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    • Debian 9 уже вроде не поддерживается. Её стандартные репозитории недоступны. Вам надо архивные подключить. В ошибке явно об этом написано.

  2. Сергей

    apt-get install zabbix-server-mysql
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Чтение информации о состоянии… Готово
    Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
    неосуществимо, или же вы используете нестабильную версию дистрибутива, где
    запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
    Следующая информация, возможно, вам поможет:

    Следующие пакеты имеют неудовлетворённые зависимости:
    zabbix-server-mysql : Зависит: libevent-2.1-6 (>= 2.1.8-stable) но он не может быть установлен
    Зависит: libmysqlclient20 (>= 5.7.11) но он не может быть установлен
    Зависит: libsnmp30 (>= 5.7.3+dfsg-1.8ubuntu3~dfsg) но он не может быть установлен
    E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

  3. Приветствую.
    Решил обновить заббикс с 4.0 на 4.2, застрял в самом начале, где надо делать бэкап базы.
    Скрин
    https://yadi.sk/i/AYw8WK9IkMF7_g
    Кто подскажет, что не так, не смог найти проблему.

    • На всякий текст приложу
      root@Zabbix:/# /usr/bin/mysqldump --opt -v --databases zabbix -uroot -p'zabbix' | /usr/bin/gzip -c > /root/zabbix.sql.gz
      bash: /usr/bin/gzip: Нет такого файла или каталога
      -- Connecting to localhost...
      -- Retrieving table structure for table acknowledges...
      -- Sending SELECT query...
      -- Retrieving rows...
      mysqldump: Got errno 32 on write

      • Так написано же, в чем проблема:

        bash: /usr/bin/gzip: Нет такого файла или каталога

        У вас либо gzip не установлен, либо он живет по другому пути. Скорее всего /bin/gzip.

        • Спасибо Владимир. Самое интересное, что gzip установлен. Искал по всем директориями, не нашел. До /bin не дошел.
          Сменил путь, заработал. Спасибо ещё раз.

  4. Обновлялся ZBx 4.0.6 --> 4.2.5

    Браузер Firefox , куки , кэш чистил.

    The frontend does not match Zabbix database. Current database version (mandatory/optional): 4000000/4000003. Required mandatory version: 4020000. Contact your system administrator.

    • appliance@zabbix:~$ dpkg -l | grep zabbix
      ii zabbix-agent 1:4.2.5-1+xenial amd64 Zabbix network monitoring solution - agent
      ii zabbix-frontend-php 1:4.2.5-1+xenial all Zabbix network monitoring solution - PHP front-end
      ii zabbix-get 1:4.2.5-1+xenial amd64 Zabbix network monitoring solution - get
      ii zabbix-java-gateway 1:4.2.5-1+xenial all Zabbix network monitoring solution - java-gateway
      ii zabbix-release 4.2-2+xenial all Zabbix official repository configuration
      ii zabbix-sender 1:4.2.5-1+xenial amd64 Zabbix network monitoring solution - sender
      ii zabbix-server-mysql 1:4.2.5-1+xenial amd64 Zabbix network monitoring solution - server (MySQL)

    • Надо смотреть лог сервера zabbix. Возможно база не обновилась из-за какой-то ошибки.

      • Не хватает места на диске. Машина установлена на виртуалке. Добавил объема для хоста. Пытаюсь расширить раздел по этой инструкции https://www.zabbix.com/documentation/4.0/ru/manual/appliance . Команда pvs выводит только вновь созданный раздел. Не видит zabbix-vg .........

        • Расширил раздел. Все комманды обновления прошли как по маслу ........... но в конце та же ошибка. Я так понимаю не обновился пакет zabbix-server-mysql . Куда копать в этот раз, где смотреть логи ?

          • mysql> SELECT version();
            +-------------------------+
            | version() |
            +-------------------------+
            | 5.7.26-0ubuntu0.16.04.1 |
            +-------------------------+
            1 row in set (0.00 sec)

          • Какая ошибка в конце? Нужно смотреть лог zabbix-server на предмет обновления структуры БД. Она скорее всего не обновилась из-за какой-то ошибки.

            • log ----> user zabbix acces denied

              Нашёл на форуме, что при обновлении пакетов запрашивает \\ обновлять или нет файлы конфигурации\\ я нажал тогда Y......

              Лечится пастом пароля пользователя zabbix в файле /etc/zabbix/zabbix_server.conf

              Спасибо, Вам, за статью и за помощь. Узнал много нового для себя !

              • Если старый конфиг затерли во время обновления, то конечно ничего работать не будет. Надо вернуть в новый настройки из старого.

  5. Михаил

    Лучшая статья. Лучший сайт. Много полезных статей. По статье без проблем обновил zabbix.
    Но давно мучает один вопрос, а именно возможность загрузки фоновых изображений для карт сетей для zabbix. Загрузка ограничена размеров в примерно около 1 MB, а большие карты невозможно ужать в этот размер. Было бы неплохо почитать статью об изменении параметра ограничивающего загрузку в 1 MB. Сколько не пытался менять параметры ограничивающие загрузку так и не получилось ошибка вывода "413 Request Entity Too Large nginx/1.16.0".

    • Так это ограничение на уровне web сервера, а не zabbix. Эта ошибка nginx легко гуглится и исправляется. Ничего ужимать не надо.

  6. Добрый день!
    При использовании Nginx еще необходимо после обновления сменить владельца /var/lib/php/session.
    # chown -R nginx:nginx /var/lib/php/session

    • Это да, правда не после обновления zabbix. Не помню точно, кто меняет права на эту директорию. php-fpm наверно.

  7. Добрый день.
    Можете подсказать , почему сайт недоступен?
    Забикс обновился, оунера поменял на веб, забикс стартанул и сервер и агент. 80 порт слушается. Ошибка HTTP 500 . Кеш\куки чистил.

    https://prnt.sc/o0dqk0
    http://prntscr.com/o0dwj5
    http://prntscr.com/o0eet9

  8. Сергей

    Добрый день, после обновления до 4.2 отвалились все windows клиенты, по snmp принтеры работают.

    LogFile=c:\zabbix_agentd.log
    LogFileSize=10
    Hostname=host1
    ListenIP=0.0.0.0
    StartAgents=0
    ServerActive=192.168.8.244

    Все хосты в zabbix добавляются автоматически, если руками прописывать ip то работает, но ip получают по dhcp.

  9. Сергей

    Все просто разобрался) Спасибо, Вам за ваши статьи!!!!

  10. Сергей

    при обновлении произошла проблема

    Access denied for user 'zabbix'@'localhost' (using password: NO)
    1430:20190501:152200.375 database is down: reconnecting in 10 seconds
    1430:20190501:152210.376 [Z3001] connection to database 'zabbix' failed: [1045

  11. 2-го апреля же!

      • Сергей

        Сергей
        21.05.2019 at 16:30

        Добрый день, после обновления до 4.2 отвалились все windows клиенты, по snmp принтеры работают.

        LogFile=c:\zabbix_agentd.log
        LogFileSize=10
        Hostname=host1
        ListenIP=0.0.0.0
        StartAgents=0
        ServerActive=192.168.8.244

        Все хосты в zabbix добавляются автоматически, если руками прописывать ip то работает, но ip получают по dhcp.

  12. Александр

    А если я устанавливал 4 версию zabbix из исходников для поддержки шифрования способ, описанный в статье, подойдет мне?

    • Очевидно, что нет. Здесь установка идет из пакетов. Хотя я не понял, зачем собирать из исходников. Шифрование работает в дефолтной установке, которая выполняется по-умолчанию. Если уж начали собирать из исходников, то и эту версию соберите так же с теми же ключами.

      • Александр

        Как оказалось в дефолтной шифрование не работает, только после переустановки сервера из исходников с поддержкой шифрования заработало

        • Какое именно шифрование? Шифрование PSK с агентом точно работает. Я им пользуюсь регулярно.

          • Александр

            PSK агент и сервер. У меня почему то не заработало. Начал смотреть документацию zabbix, там было сказано: "Для поддержки шифрования Zabbix должен быть скомпилировать и связан с по крайней мере одной крипто библиотекой"

  13. Вопрос по новым графикам. На дашборде они есть и интервалы времени при наведении мыши показываются. А в мониторинге, так старые графики и остались. В оф. статье говорится, что они появились, только не говориться где. Везде или только на дашборде?

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

      • Спасибо за ответ. Да, статьи всегда достойны внимания , за это тоже респект.

  14. Алексей

    "Старые скрипты и проверки не отвалились. " - а если установлен Zabbix третьей версии? Отвалятся они или апгрейд пройдет без проблем?

    Спасибо за статью.

    • Я же не знаю, что у вас там настроено и работает. Надо последовательно тестировать и обновлять. Кое-что у меня ломалось, но уже не помню при переходе на какую версию. Кажется при переходе с 2.4 на 3.0.

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

    Поправьте вот здесь на 4.2.

    А в целом спасибо большое спасибо за статьи о мониторинге.

    • Спасибо, поправил. Я 4.2 потестил в двух местах. Проблем не обнаружил. Старые скрипты и проверки не отвалились. Можно обновляться, если нужны нововведения. Если нет, я бы остался на 4.0 пока.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar