1. Red Hat Enterprise Linux

Обзор

В этом разделе представлены шаги, требующиеся для успешного обновления с Zabbix 5.4.x на последнюю версию Zabbix 6.0.x с использованием официальных пакетов 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 для показа последних записей файла журнала и возможных ошибок в реальном времени. Это может быть критичным для промышленных инсталяций.

Инструкции по обновлению между минорными версиями Zabbix 6.0.x (например, с 6.0.1 до 6.0.3) см. в разделе Обновление между минорными версиями.

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

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

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

systemctl stop zabbix-server

Если обновляете Zabbix прокси, агента или агента 2, то остановите и эти компоненты:

systemctl stop zabbix-proxy
       systemctl stop zabbix-agent
       systemctl stop zabbix-agent2

Более невозможно запустить обновлённый сервер и иметь более старые необновлённые прокси, пересылающие данные на более новый сервер. Такой подход, который никогда ни рекомендовался, ни поддерживался 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 8, выполните:

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

Для более старых версий RHEL замените линк выше на правильный из репозитория Zabbix. Однако, обратите внимание, что пакеты для этих версий могут не включать все компоненты Zabbix. Список включённых компонентов см. в пакетах Zabbix.

Затем очистите кэш менеджера пакетов dnf (включая заголовки, метаданные и файлы пакетов, загруженные во время предыдущих установок или обновлений):

dnf clean all

При последующей работе dnf загрузит свежие метаданные из репозиториев, поскольку старые метаданные будут очищены.

См. также: Известные проблемы для обновления пакета конфигурации репозитория в RHEL.

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

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

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

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

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

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 работал должным образом.

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

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

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

sudo dnf upgrade 'zabbix-*'

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

dnf upgrade 'zabbix-server-*'

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

dnf upgrade 'zabbix-agent-*'

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

dnf upgrade 'zabbix-agent2-*'