В этом разделе представлены шаги, требующиеся для успешного обновления с 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) см. в разделе Обновление между минорными версиями.
Остановите сервер Zabbix, чтобы убедиться, что никакие новые данные не будут добавлены в базу данных.
Если обновляете Zabbix прокси, агента или агента 2, то остановите и эти компоненты:
Более невозможно запустить обновлённый сервер и иметь более старые необновлённые прокси, пересылающие данные на более новый сервер. Такой подход, который никогда ни рекомендовался, ни поддерживался 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:
Прежде чем приступить к обновлению, обновите текущий пакет репозитория до последней версии, чтобы обеспечить совместимость с новейшими пакетами и включить все последние обновления безопасности или исправления ошибок.
На RHEL 9 выполните:
На RHEL 8, выполните:
Для более старых версий RHEL замените линк выше на правильный из репозитория Zabbix. Однако, обратите внимание, что пакеты для этих версий могут не включать все компоненты Zabbix. Список включённых компонентов см. в пакетах Zabbix.
Затем очистите кэш менеджера пакетов dnf
(включая заголовки, метаданные и файлы пакетов, загруженные во время предыдущих установок или обновлений):
При последующей работе dnf
загрузит свежие метаданные из репозиториев, поскольку старые метаданные будут очищены.
См. также: Известные проблемы для обновления пакета конфигурации репозитория в RHEL.
Для обновления компонентов Zabbix вы можете выполнить что-то вроде:
mysql
на pgsql
.server
на proxy
.zabbix-agent
на zabbix-agent2 zabbix-agent2-plugin-*
.Обновление Zabbix агента 2 командой dnf install zabbix-agent2
может вызвать ошибку. Для дополнительной информации, смотрите Известные проблемы.
Для корректного обновления веб-интерфейса Apache также выполните:
Обязательно ознакомьтесь с Заметками по обновлению, чтобы проверить, не требуются ли какие-то изменения в параметрах конфигурации.
Запустите обновлённые компоненты Zabbix.
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent
systemctl start zabbix-agent2
После обновления вам, возможно, потребуется очистить cookies веб-браузера и кэш веб-браузера, чтобы веб-интерфейс Zabbix работал должным образом.
Имеется возможность обновления между минорными версиями Zabbix 6.0.x (например, с 6.0.1 до 6.0.3).
Для обновления минорной версии Zabbix выполните:
Для обновления минорной версии только Zabbix сервера выполните:
Для обновления минорной версии только Zabbix агента выполните:
или, для Zabbix агента 2: