1. Red Hat Enterprise Linux

Обзор

В этом разделе представлены шаги, требующиеся для успешного обновления с Zabbix 5.4.x на Zabbix 6.0.x using с использованием официальных пакетов Zabbix для Red Hat Enterprise Linux.

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

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

В зависимости от размера базы данных, обновление базы данных на версию 6.0 может занять значительное время.

Перед обновлением убедитесь, что Вы прочитали соответствующие заметки по обновлению!

Доступны следующие заметки по обновлению:

Обновление с Читать заметки по обновлению полностью Наиболее важные изменения между версиями
5.4.x Для:
Zabbix 6.0
Повышены минимально требуемые версии баз данных;
Сервер/прокси не запустится с устаревшей базой данных;
Записи аудитного журнала теряются из-за изменения структуры базы данных.
5.2.x Для:
Zabbix 5.4
Zabbix 6.0
Повышены минимально требуемые версии баз данных;
Агрегируемые элементы данных убраны в качестве отдельного типа.
5.0.x LTS Для:
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Минимально требуемая версия PHP повышена с 7.2.0 до 7.2.5.
4.4.x Для:
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Исключена поддержка IBM DB2 (в качестве внутренней базы данных Zabbix);
Минимально требуемая версия PHP повышена с 5.4.0 до 7.2.0;
Повышены минимально требуемые версии баз данных;
Изменена директория для файлов Zabbix PHP.
4.2.x Для:
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Убраны способы оповещений Jabber и Ez Texting.
4.0.x LTS Для:
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Более старые прокси более не могут пересылать данные обновлённому серверу;
Более новые агенты более не способны работать с более старыми серверами Zabbix.
3.4.x Для:
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Библиотеки «libpthread» и «zlib» теперь обязательны;
Убрана поддержка простого текстового протокола, заголовки теперь обязательны;
Более не поддерживаются агенты Zabbix версий pre-1.4;
Параметр Server в настройках пассивного прокси теперь обязателен.
3.2.x Для:
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Исключена поддержка SQLite в качестве внутренней базы данных для Zabbix сервера/веб-интерфейса;
Регулярные выражения, совместимые с PERL (Perl Compatible Regular Expressions, PCRE) поддерживаются вместо расширенных POSIX;
Библиотеки «libpcre» и «libevent» обязательны для сервера Zabbix;
Проверка кода завершения добавлена для пользовательских параметров, удалённых команд и элементов данных system.run[] без флага «nowait», а также для скриптов, выполняемых сервером Zabbix;
Zabbix Java gateway должен быть обновлён для поддержки новой функциональности.
3.0.x LTS Для:
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Обновление базы данных может быть медленным, в зависимости от размера таблиц истории.
2.4.x Для:
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Минимально требуемая версия PHP повышена с 5.3.0 до 5.4.0
Параметр агента LogFile должен быть указан.
2.2.x LTS Для:
Zabbix 2.4
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Распределённый мониторинг с использованием нод убран.
2.0.x Для:
Zabbix 2.2
Zabbix 2.4
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Zabbix 5.0
Zabbix 5.2
Zabbix 5.4
Zabbix 6.0
Минимально требуемая версия PHP повышена с 5.1.6 до 5.3.0;
Для правильной работы сервера (с MySQL) требуется база данных MySQL с учётом регистра букв; для правильной работы сервера Zabbix с базой данных MySQL требуется набор символов utf8 и тип сравнения (collation) utf8_bin. См. скрипты создания базы данных.
Вместо PHP extension «mysql» теперь требуется «mysqli».

Вы также можете хотеть проверить требования для 6.0.

Во время обновления может быть удобно запустить две параллельных сессии SSH, выполняя шаги обновления в одной и следя за журналами обновлений в другой. Например, выполните tail -f zabbix_server.log или tail -f zabbix_proxy.log во второй сессии SSH для показа последних записей файла журнала и возможных ошибок в реальном времени. Это может быть критичным для промышленных инсталяций.

Процедура обновления

1 Остановите процессы Zabbix

Остановите сервер Zabbix, чтобы убедиться, что никакие новые данные не будут добавлены в базу данных.

systemctl stop zabbix-server

Если обновляете прокси, то остановите и его тоже.

systemctl stop zabbix-proxy

Более невозможно запустить обновлённый сервер и иметь более старые не обновлённые прокси, пересылающие данные на более новый сервер. Такой подход, который никогда ни рекомендовался, ни поддерживался Zabbix, теперь официально запрещён, поскольку сервер будет игнорировать данные от необновлённых прокси.

2 Сделайте резервную копию существующей базы данных Zabbix

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

3 Сделайте резервную копию файлов настроек, PHP и бинарных файлов Zabbix

Сделайте резервную копию бинарных файлов Zabbix, файлов настроек и директории с файлами PHP.

Файлы настроек:

mkdir /opt/zabbix-backup/
       cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
       cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/

Файлы PHP и бинарные файлы Zabbix:

cp -R /usr/share/zabbix/ /opt/zabbix-backup/
       cp -R /usr/share/zabbix-* /opt/zabbix-backup/
4 Обновите пакет конфигурации репозитория

Чтобы продолжить обновление, необходимо обновить текущий пакет репозитория. На RHEL 9 выполните:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm

(Для более старых версий RHEL замените линк выше на правильный из репозитория Zabbix)

5 Обновите компоненты Zabbix

Для обновления компонентов Zabbix вы можете выполнить что-то вроде:

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

При использовании PostgreSQL замените в команде mysql на pgsql. При обновлении прокси замените в команде server на proxy. При обновлении агента 2 замените в команде zabbix-agent на zabbix-agent2.

Обновление Zabbix агента 2 командой dnf install zabbix-agent2 может вызвать ошибку. Для дополнительной информации, смотрите Известные проблемы.

Для корректного обновления веб-интерфейса Apache на RHEL 8 также выполните:

dnf install zabbix-apache-conf  
6 Проверьте параметры конфигурации компонентов

Обязательно ознакомьтесь с Заметками по обновлению, чтобы проверить, не требуются ли какие-то изменения в параметрах конфигурации.

7 Запустите процессы Zabbix

Запустите обновленные компоненты Zabbix.

systemctl start zabbix-server
       systemctl start zabbix-proxy
       systemctl start zabbix-agent
       systemctl start zabbix-agent2
8 Очистите cookies и кэш в веб-браузере

После обновления вам, возможно, потребуется очистить cookies веб-браузера и кэш веб-браузера, чтобы веб-интерфейс Zabbix работал должным образом.

Обновление между минорными версиями

Имеется возможность обновления между минорными версиями 6.0.x (например, с 6.0.1 до 6.0.3). Процедура минорного обновления версии очень проста.

Для выполнения минорного обновления версии Zabbix необходимо выполнить:

sudo dnf upgrade 'zabbix-*'

Для выполнения обновления минорной версии Zabbix сервера выполните:

sudo dnf upgrade 'zabbix-server-*'

Для выполнения обновления минорной версии Zabbix агента выполните:

sudo dnf upgrade 'zabbix-agent-*'

или, для Zabbix агента 2:

sudo dnf upgrade 'zabbix-agent2-*'