Обновление Zabbix 5.2 до 5.4

17 мая 2021 года состоялся релиз версии 5.4 популярной системы мониторинга Zabbix. В своей статье я расскажу, как обновиться до новой версии Zabbix 5.4 с предыдущего релиза 5.2. В качестве операционных систем, на которых будет выполняться обновление выступят Centos 8, Debian 10, Ubuntu 20. Напомню, что Zabbix Server больше не поддерживает Centos 7.

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

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

Обновление Zabbix 5.2 до 5.4

Что нового в Zabbix 5.4?

Все нововведения свежей версии Zabbix 5.4 вы можете прочитать в официальном релизе - https://www.zabbix.com/ru/whats_new_5_4. Я среди них выделил следующие:

  1. Ну конечно же новый синтаксис триггеров. Странно, что они это изменение не поставили на первое место. Я уже делал заметку (https://t.me/srv_admin/684) по этому поводу, так что не буду повторяться. Изменение очень значимое и полезное.
  2. Планировщик для pdf отчетов. Теперь можно будет настроить отправку регулярных отчетов себе на почту или куда-то еще. Интересная и полезная возможность. Для руководства в самый раз.
  3. Новые расширенные способы агрегации данных. Это следствие использования нового синтаксиса. Примеры этого уже были в заметке, на которую дал ссылку в начале.
  4. Обновлена визуализация. Как я понял, появилась возможность объединять дашборды в виде отдельных страниц на одном экране. В целом, полезно. Сам часто думаю о том, что переключаться между дашбордами не очень удобно и быстро. Надо бы это как-то упростить. Придумали поместить их во вкладки на дашборде. Посмотрим, удобно ли будет на практике.

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

  • Новые api токены с истекающим сроком действия.
  • Tags стали поддерживаться еще большим количеством объектов (templates, hosts, host prototypes, triggers, metrics, events)
  • У шаблонов появились уникальные ID, теперь не будем с одинаковыми именами путаться.
  • Улучшено масштабирование.
  • Появились какие-то Global scripts. Из описания не понял, для чего они.
  • Появились локальные value maps. Раньше все глобально хранилось в одном месте.
  • Добавились интеграции с Brevis, Express, iTop, RocketChat, Signal, VictorOps.
  • Добавились шаблоны для APC UPS hardware, Hikvision cameras, etcd, Hadoop, Zookeeper, Kafka, AMQ, HashiCorp Vault, MS Sharepoint, MS Exchange, smartclt, Gitlab, Jenkins, Apache Ignite и других.

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

Рекомендую мою статью по установке и настройке Zabbix 5. Там я разбираю различные варианты установки, выполняю первоначальную настройку и делюсь своим опытом эксплуатации данной системы мониторинга.

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

Также отдельно обращаю внимание, что с большой долей вероятности сломается интеграция с Grafana, если в метриках использовали Applications, так как их в 5.4 отменили и заменили полностью триггерами. Будете получать ошибку: Method not found. Incorrect API "application".

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

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

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

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

# systemctl stop zabbix-server zabbix-agent

У меня что-то активно писалось в базу, поэтому сервер выключался долго. Я проверил лог 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 8

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

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

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

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

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

# dnf clean all
# dnf makecache

Debian 10

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

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

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

# wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
# dpkg -i zabbix-release_5.4-1+debian10_all.deb

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

# apt update

Ubuntu 20

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

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

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

# wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
# dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb

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

# apt update

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

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

Установка обновления zabbix 5.2 до 5.4

Centos 8

Для начала проверим список установленных пакетов zabbix в системе.

# rpm -qa | grep zabbix
zabbix-release-5.4-1.el8.noarch
zabbix-web-5.2.6-1.el8.noarch
zabbix-web-mysql-5.2.6-1.el8.noarch
zabbix-server-mysql-5.2.6-1.el8.x86_64
zabbix-sender-5.2.6-1.el8.x86_64
zabbix-agent-5.2.6-1.el8.x86_64
zabbix-web-deps-5.2.6-1.el8.noarch

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

# dnf upgrade zabbix-web zabbix-web-mysql zabbix-server-mysql zabbix-agent zabbix-sender

Обновление Zabbix 5.2 до 5.4

После завершения обновления, запускаем zabbix-server.

# systemctl start zabbix-server

Проверяем лог сервера. Необходимо дождаться обновления базы данных. Важно не трогать в этот момент сервер, не прерывать обновление, не пытаться его перезапустить. Если база большая, обновление может длиться очень долго. Рекомендую сначала где-то протестировать этот процесс, прежде чем обновлять прод.

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

Upgrade базы данных zabbix

В конце должны получить примерно следующее сообщение:

8366:20210518:201617.746 completed 100% of database upgrade
8366:20210518:201617.746 database upgrade fully completed
8366:20210518:201617.750 database is not upgraded to use double precision values

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

После обновления переходите в web интерфейс и проверяйте версию Zabbix. Должна быть 5.4.

Версия веб интерфейса 5.4

На этом обновления Zabbix до 5.4 на Centos завершено.

Debian / Ubuntu

Проверяем, какие пакеты Zabbix у нас установлены на сервере:

# dpkg -l | grep zabbix

Устанавливаем обновление zabbix server и остальных пакетов на Debian или Ubuntu следующей командой:

# apt upgrade zabbix-agent zabbix-frontend-php zabbix-nginx-conf zabbix-server-mysql

После завершения обновления, запускаем сервер:

# 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.4.0 (revision 5059e20a75).
Starting Zabbix Server. Zabbix 5.4.0 (revision 5059e20a75).

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

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

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

Заключение

Напоминаю, что с обновлением 5.4 появились и новые шаблоны. Они автоматически не появятся у вас на сервере. Их нужно будет скачать и импортировать вручную из репозитория - https://github.com/zabbix/zabbix/tree/release/5.4/templates. Это же касается и способов оповещения, которые регулярно добавляются. Если не обновили их вручную при переходе на 5-ю ветку, то так же можете забрать их из репы и импортировать к себе на сервер.

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

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

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

Автор Zerox

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

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

  1. Приветствую,
    не знаю живо ли мертво ли, но задам вопрос.
    После перезда с 5.2 на 5.4 перестало работать меню, открывается на заглавной странице и оно пустое, слева меню не работает, ссылки до которых есть досту-работают, куда копать?

    • Как минимум, кэш браузера почистить надо. А вообще 5.4 уже не поддерживается. Надо хотя бы до 6.0 обновиться.

  2. Andrew Grekhov

    Владимир, ждём вашу статью про обновление zabbix.
    Про переход на php8. Про специфику перехода с 6.0.9 на 6.0.10.
    Нововведения: Чуток изменился интерфейс Monitoring->Hosts, переписали отображение графиков Monitoring->Hosts->Graphs (уничтожив старый интерфейс),
    добавлены два новых триггера, housekeeper стал жрать меньше ресурсов, логи авторизации очеловечили.

  3. Обновился с Zabix 5.4.2 на Zabbix 6.2.3 (revision 98ee88fc19d)

    1. Upgrade с mariadb-server-10.3 на mariadb-server-10.8
    Сначала после апгрейда не хотела стартовать MariaDB

    # journalctl -eu mariadb
    Starting MariaDB 10.8.5 database server...
    ...
    [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.

    Разкомментировал log_bin строчку и получилось (забегая вперед, далее закоментировал и log_bin и expire_logs_days):
    # vim /etc/mysql/mariadb.conf.d/50-server.cnf

    log_bin = /var/log/mysql/mysql-bin.log
    expire_logs_days = 10
    #max_binlog_size = 100M

    # systemctl restart mariadb
    # journalctl -eu mariadb

    Все, предупреждение пропало.

    2. Upgrade Zabix 5.4.2 на Zabbix 6.2.3 (revision 98ee88fc19d)
    Эти строчки говорят только о том то сервер не смог стартовать. Дело не в правах.
    # journalctl -eu zabbix-server.service
    ноя 01 17:43:18 077-zbx1 systemd[1]: Stopped Zabbix Server.
    ноя 01 17:43:18 077-zbx1 systemd[1]: Starting Zabbix Server...
    ноя 01 17:43:20 077-zbx1 systemd[1]: zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: Operation not permitted
    ноя 01 17:43:20 077-zbx1 systemd[1]: zabbix-server.service: Failed with result 'protocol'.
    ноя 01 17:43:20 077-zbx1 systemd[1]: Failed to start Zabbix Server.

    Логи говорят, что в этом замешены бинарные логи.
    # vim /var/log/zabbix/zabbix_server.log

    13010:20221101:192213.997 using configuration file: /etc/zabbix/zabbix_server.conf
    13010:20221101:192214.016 current database version (mandatory/optional): 06010048/06010048
    13010:20221101:192214.016 required mandatory version: 06020000
    13010:20221101:192214.016 optional patches were found
    13010:20221101:192214.016 starting automatic database upgrade
    13010:20221101:192214.016 [Z3005] query failed: [1419] You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) [
    create trigger hosts_insert after insert on hosts
    for each row
    insert into changelog (object,objectid,operation,clock)
    values (1,new.hostid,1,unix_timestamp())]
    13010:20221101:192214.016 database upgrade failed
    13010:20221101:192214.018 database could be upgraded to use primary keys in history tables

    Отключаю бинарные логи совсем.
    # vim /etc/mysql/mariadb.conf.d/50-server.cnf

    Закомментировал эти строчки
    #log_bin = /var/log/mysql/mysql-bin.log
    #expire_logs_days = 10
    #max_binlog_size = 100M

    # systemctl restart mariadb
    # journalctl -eu mariadb
    # systemctl restart zabbix-server.service
    # journalctl -eu zabbix-server.service

  4. Здраствуйте, будет новый ПОСТ о обновление ZABBIX 5.4 до 6.0, Учитывая все нюансами база данных. 3дня мучаюсь, ошибка со стороны БД идет, у меня Centos8 Postgresql,Nginx, Zabbix

  5. Попробовал обновиться - и откатился назад. После обновления PHP с 8.0 до 8.1 получил ошибку "DB type "MYSQL" is not supported by current setup." - победить не смог, как прочитал - это изменения в функциях PHP 8.1, нет времени с ними разбираться.

  6. Сергий

    Приветствую всех. Есть тут кто-то, кто пользует функционал вызова удаленных команд? В частности интересует доступ по SSH на коммутатор и выполнение там, к примеру, перезагрузки по триггеру. На версии 4 это работало, после установки 5.4 перестало работать. Причем логин пользователя на коммутаторе виден успешный, сам заббикс говорит что все выполнено, но, по факту, ничего не происходит. Подскажите как быть, свои мысли уже кончились. Доп.инфу напишу если будут вопросы.

  7. Аноним

    Первый раз пишу комментарии к статьям.
    Спасибо огромное за мануал!

  8. Как выводить раз в день вечером список онлайн компьютеров в сети?

  9. Напомню, что Zabbix Server больше не поддерживает Centos 7.
    Забавно, а с 31го декабря 2021 не поддерживается сам CentOS 8.

  10. Andrew Grekhov

    > Tags стали поддерживаться еще большим количеством объектов (templates, hosts, host prototypes, triggers, metrics, events)
    Было раньше поле "application" могло принимать любые значения, и использовалось,например, для сортировки в configure-> HOSTS.
    Теперь поле можно задавать любым, и ему соответствие так же любым. Например зададим пару: inv status
    Используется в Dashbord-> cteate -> Data Overview
    Внизу задаём ту же пару: inv "Contains" status
    Получим таблицу: hostname, и все items у которых стоит эта пара.
    Сортировка только по алфавиту, и не более 20 символов в ячейке, и вроде не более 20 Items оттображает.

    Сильно переделан "Value Mapping" не понимаю как его использовать на новых хостах.
    Версии 5.4.1 и 5.4.3

  11. Александр

    Здравствуйте. Имея Zabbix 5.2, установленный на Centos 8 решил обновиться на 5.4. Обновил весь состав пакетов CentOS, включая пакеты Zabbix командой dnf upgrade.
    После обновления смотрю логи обновления базы данных MySQL: # tail -f /var/log/zabbix/zabbix_server.log.
    Получаю следующую ошибку:

    8297:20210813:165008.964 current database version (mandatory/optional): 05030019/05030019
      8297:20210813:165008.964 required mandatory version: 05040000
      8297:20210813:165008.964 starting automatic database upgrade
      8297:20210813:165008.966 [Z3005] query failed: [1091] Can't DROP 'error'; check that column/key exists [alter table hosts drop column error]
      8297:20210813:165008.966 database upgrade failed

    Как быть?

    • Аноним

      Проблема была решена добавлением строки erros в таблицу hosts базы данных MySQL. ALTER TABLE zabbix.hosts ADD COLUMN error INT Обновление базы прошло успешно, но в логе стал ругаться на недостаток CacheSize. В конфиге поставил CacheSize=128M. Вроде помогло. Пока полёт нормальный.

  12. Аноним

    Добрый день.
    Обновился и пропали комплексные экраны, оказывается они их убрали и сделали избранные графики.
    в мануале сказано:
    Избранные графики
    Этот виджет состоит из ссылок на наиболее необходимые графики. Чтобы добавить ссылку в этот список, при просмотре графика необходимо нажать на кнопку Добавить в избранное.
    уже 2 дня ищу кнопку "Добавить в избранное"? где это добавлять?

  13. Алексей

    The Zabbix database version does not match current requirements. Your database version: 5020000. Required version: 5040000. Please contact your system administrator.

    Спасибо !
    yum update -y

  14. Евгений

    С 5.0 до 5.4 обновление происходит штатно. Centos 8
    Но столкнулся с такой проблемой после обновления. У меня zabbix работает с связке с jira. А именно жира создает запросы используя mail handler, ловит письма на ящике от zabbix
    В 5.0 все было хорошо, но в 5.4 началась такая история.
    Тело сообщений, содержащие кирилицу некорректно обрабатывается jira остается лежать в кодировке ISO-8859-1. На выходе в теле заявки получаем кракозябры.

    Если смотреть в почтовом клиенте само письмо от zabbix например в том же оутлук, там отображение корректное.
    Есть только одна статья у жиры по этому поводу но не помогает эта настройка.
    https://confluence.atlassian.com/jirakb/unable-to-decode-mail-subject-or-body-when-creating-issue-from-email-226166336.html

    Вот меня и мучает вопрос на чьей стороне проблема. Но раз это случилось после обновления заббикса то скорее всего на его стороне что то поменялось.
    У кого какие мысли?

    • Евгений

      PS: Причем это касается только тела письма. Тема обрабатывается нормально.

  15. Обновил заббикс и пытаюсь импортировать новые шаблоны для APC и Hikvision.
    Заббикс одинаково ругается на эти шаблоны - Unable to parse at line 7 (near "").

    Какие есть варианты?

    • Евгений

      Очевидно смотреть что там в line 7 ему не нравится в этих шаблонах. Сравнивать с теми шаблонами которые он кушает нормально.

    • Какой формат шаблона?

  16. Аноним

    слишком много рекламы

  17. Аноним

    хрень

  18. Сергей

    Вопрос - Можно обновлять с 5.0 на 5.4 напрямую или только через 5.2 ?

    • В теории можно. Я видел информацию, что в пределах одной ветки можно перескакивать релизы. Но лично сам не проверял.

  19. Сергей

    добрый день! при автом атичесокм формировании отчета на почту приходит пустой pdf фаил, кто-нибудь сталкиваляс с подобным?

    • Добрый день, была такая же проблема, полностью скопировал url нужной мне панели, вставил строку сюда:(администрирование > общее > прочие > URL веб-интерфейса )

  20. сперва было
    [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR: constraint "c_items_3" of relation "items" does not exist
    [alter table items drop constraint c_items_3]
    создал ему, чтоб было что удалять
    теперь
    [Z3005] query failed: [0] PGRES_FATAL_ERROR:ERROR: foreign key constraint "c_items_3" cannot be implemented
    DETAIL: Key columns "valuemapid" and "valuemapid" are of incompatible types: numeric and bigint.
    [alter table items add constraint c_items_3 foreign key (valuemapid) references valuemap (valuemapid)]
    с тем же эффектом
    (дошли до 1%)
    что делать то ?

    • создал...
      ALTER TABLE public.items
      ADD CONSTRAINT c_items_3 FOREIGN KEY (valuemapid)
      REFERENCES public.valuemaps (valuemapid);
      теперь мы ругаемся, что такой уже есть... (

  21. Спасибо.
    А у вас есть статьи по работе с zabbix с помощью контейнеров?
    Какие плюсы и минусы, как в контейнер например питон установить?

    • Не понял вопроса. В какой контейнер и зачем устанавливать python? Сам zabbix в контейнерах я не запускаю, так как не вижу смысла.

  22. Здравствуйте. Вы писали статью как обновить на centos 7 zabbix c 5.0 до 5.2. Если обновить 5.2 до 5.4 таким же образом несмотря на то что zabbix не поддерживает centos 7 к чему это приведет или может привести?

    • Не совсем понял, как вы планируете обновлять zabbix 5.2 до 5.4 если для него нет пакетов на centos 7? Тут только один вариант - собирать свой пакет из исходников. Но это хлопотно. Лучше сразу переносить на другую систему. Рано или поздно придется это сделать. Я тут не вижу особо смысла возиться с обновлением на centos 7.

  23. Всем добрый день. Столкнулся с ошибкой при обновлении БД (обновлялся с 5.2 на 5.4)
    [Z3005] query failed: [1832] Cannot change column 'scriptid': used in a foreign key constraint 'c_opcommand_2' [alter table opcommand modify `scriptid` bigint unsigned not null]
    что с этим можно сделать?

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

    • привет, ниже пост прочитай =)
      от 24.05.2021 at 12:19

  24. Не много не в тему обновлений. Но если у кого-то появились надежды на то что есть интеграция itop и заббикс. Не надейтесь)
    Заббикс просто может создавать по триггеру запросы или инциденты в itop. Это все что может данная "интеграция". Причем если придет статус решена это не закроет задачу, а просто её обновит и теперь её не возможно будет сдвинуть по цепочке движения)

    Хотите что бы заработало надо брать напильник и пилить)

  25. кто сталкнулся с такой проблеммой

    Unsupported DB! MariaDB version is 50505 which is smaller than minimum of 100037
    current database version (mandatory/optional): 05030069/05030069
    required mandatory version: 05040000
    starting automatic database upgrade
    [Z3005] query failed: [1832] Cannot change column 'scriptid': used in a foreign key constraint 'c_opcommand_2' [alter table opcommand modify `scriptid` bigint unsigned not null]
    database upgrade failed

    делаем так
    systemctl stop zabbix_server.service
    подключемся к базе
    mysql -u root

    Смотрим в базе
    show columns from zabbix.opcommand;

    правим
    ALTER TABLE zabbix.opcommand DROP FOREIGN KEY c_opcommand_2;

    Стартуем сервер
    systemctl start zabbix_server.service

    В этот момент смотрим лог
    tail -f /var/log/zabbix/zabbix_server.log

  26. Аноним

    Unable to determine current Zabbix database version: the table "dbversion" was not found.

  27. Шильке Александр

    Добрый день. Обновился).
    Если пароль не правильный - вообще не пускает. Если правильный - вот такое).

    You are not logged in
    You must login to view this page.
    If you think this message is wrong, please consult your administrators about getting the necessary permissions.

    Debian 10. 5.2 -> 5.4 Обновлял.
    Вот зараза). Читаю .. Может всnречали проблему такую ?

    • Шильке Александр

      Извиняюсь. Проблемы скорее всего нет.
      Мониторинг не боевой, за проксирующим nginx стоит. Младший брат чего-то намудрил с экспериментами с cloudflare и доменом - думаю оно).
      Отбой.

    • Не встречал. Может надо кэш и куки почистить? Попробуйте в режиме инкогнито зайти.

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

    И еще вопрос, если можно, немного с другой области: насколько считается безопасным "высовывать" порт zabbix-а наружу (без ограничения по ip)? Как решают задачу мониторинга устройств, имеющих разный внешний ip адрес?

    • 1. Да, с обновлением в целом проблем нет, но раньше нельзя было добавить шаблон с тем же именем. Так что были некоторые проблемы с обновлением одного и того же шаблона. Чтобы добавить новый шаблон к хосту, надо отцепить от него старый шаблон и удалить все айтемы с одинаковыми именами. То есть по сути надо было отцепить шаблон и полностью очистить все данные, что он собрал. Это было очень неудобно и я редко обновлял шаблоны. С добавлением новых проблем не было. Но сейчас, как я понял, этот механизм немного изменили. Я еще не пробовал обновлять существующий шаблон.

      2. Наружу 100% не безопасно выставлять. При возможности закрывать доступ по ip. Обычно сервер имеет статический адрес, так что с этим проблем нет. Устройства могут сами отправлять данные на сервер, так что это не обязательно проблема, что у них меняется ip. В общем случае объединяют все устройства по vpn и мониторят. Но все от ситуации зависит. Могут быть разные подходы.

      • 2. Вот про отправку данных на сервер я и веду речь. Т.е клиент с динамическим ip. Т.е. мы не можем ограничить со стороны сервера фильтрацию по адресу клиента. Поднимать впн от клиента не всегда возможно (не со всех устройств). Насколько протокол zabbix (tcp:10050) считается дырявым? Кто как решает такую задачу?

        • Дырявым не считается. Я иногда оставляю открытый доступ, когда по-другому никак. Но при этом обязательно подключение то tls настраиваю. В целом, это не страшно. У меня проблем не было.

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

  29. Quezovercoatl

    Здравствуйте. Спасибо за статью.

    После обновления возникла ошибка при попытке подключиться к вебморде :
    The Zabbix database version does not match current requirements. Your database version: 5020000. Required version: 5040000. Please contact your system administrator.

    В логах сервера обнаружилась запись:
    30003:20210520:125036.186 [Z3001] connection to database 'zabbix' failed: [0] fe_sendauth: no password supplied

    Оказалось, что при обновлении конфиг заббикс-сервера был перезаписан на дефолтный. После копирования забэкапленного перед обновлением конфига и рестарта службы все заработало. Потому рекомендую помимо БД бэкапить еще и конфиг сервера.

    • Это на какой системе? Сколько раз обновлял zabbix, ни разу такого не было, чтобы затерли существующий конфиг. Любой пакетный менеджер как минимум спросит, что будем делать, если приезжает новый конфиг. Можно либо старый оставить, либо перезаписать его новым.

      • Quezovercoatl

        Debian 10, БД Postgres.
        Обновлял 4 пакета:
        apt upgrade zabbix-agent zabbix-apache-conf zabbix-frontend-php zabbix-release zabbix-server-pgsql
        Никаких вопросов по ходу установки apt не задавал.

        • Очень странное поведение. Я сервера на Debian не держу, все на Centos. А вот когда агентов обновляю, apt спрашивает, что будем делать с со старым конфигом, перезаписываем или оставляем. Я всегда оставляю и проблем не возникает.

        • В официальном гайде заббикса есть вот такое:

          apt-get install zabbix-apache-conf

          У меня на ubuntu 20.04 без этой команды заббикс тоже вопил про несоответствие версий БД

    • The Zabbix database version does not match current requirements. Your database version: 5020000. Required version: 5040000. Please contact your system administrator.

      такая же ошибка, conf не менялся. на всякий случай переписал. centos 8

      • Смотрите лог zabbix server после первого запуска новой версии. У вас, судя по всему, не обновилась база данных. Возможно была какая-то ошибка. Обычно она отражена в логе.

      • Аноним

        Не остановил перед обновлением сервер и агент

      • Сергей Т.

        ты обновил не все пакеты, у меня тоже самое было после апгрейда 5.2 на 5.4

        вот для CentOS:::

        dnf upgrade -y zabbix-server-mysql zabbix-web-mysql
        dnf upgrade -y zabbix-sender zabbix-agent
        dnf upgrade -y zabbix-get
        dnf upgrade -y zabbix-java-gateway

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

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

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