Table of Contents

1. Обновление из исходных кодов

Обзор

Этот раздел описывает требуемые шаги для успешного обновления с Zabbix 5.4 до Zabbix 6.0.x с использованием официальных исходных кодов Zabbix.

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

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

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

В зависимости от размера базы данных обновление базы данных до версии 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
Прекращена поддержка IBM DB2;
Минимально требуемая версия 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 совместимые регулярные выражения (PCRE) вместо POSIX расширенных;
Библиотеки «libpcre» and «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 для правильной работы сервера; для корректной работы Zabbix сервера с базой данных MySQL требуются кодировка utf8 и тип сравнения utf8_bin. Смотрите скрипты создания базы данных.
Вместо расширения PHP «mysql» требуется расширение «mysqli».

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

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

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

1 Остановите сервер

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

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

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

3 Резервное копирование файлов конфигурации, PHP файлов и бинарных файлов Zabbix

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

4 Установите новые бинарные файлы сервера

Воспользуйтесь этими инструкциями для компиляции Zabbix сервера из исходных кодов.

5 Проверьте параметры конфигурации сервера

Убедитесь, что реализованы последние параметры конфигурации (если есть), обычно упоминаемые в соответствующих подразделах страниц Заметки по обновлению и Что нового.

6 Запустите новые бинарные файлы Zabbix

Запустите сервер. Проверьте файлы журналов, чтобы удостовериться, что сервер запустился успешно.

Zabbix сервер после запуска автоматически обновит базу данных. При запуске Zabbix сервер сообщает текущую (обязательную и опциональную) и требуемую версии базы данных. Если текущая обязательная версия старше требуемой версии, Zabbix сервер автоматически выполнит требуемые патчи обновления базы данных. Начало и прогресс (в процентах) обновления базы данных записываются в файл журнала Zabbix сервера. Когда обновление завершится, в файл журнала запишется сообщение: "database upgrade fully completed". В случае сбоя какого-либо из патчей обновления Zabbix сервер не запустится. Zabbix сервер также не запустится, если текущая обязательная версия более новая, чем требуемая. Zabbix сервер запустится только, если текущая обязательная версия базы данных соответствует требуемой обязательной версии.

8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
       8673:20161117:104750.259 required mandatory version: 03040000

До запуска сервера:

  • Убедитесь, что пользователь базы данных имеет достаточно прав (create table, drop table, create index, drop index).
  • Убедитесь что у вас достаточно свободного дискового пространства.
7 Установите новый веб-интерфейс Zabbix

Минимально требуемая версия PHP — 7.2.5. Обновите, если потребуется, и затем следуйте инструкциям по установке.

8 Очистите cookies и кэш в веб-браузере

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

Процесс обновления прокси

1 Остановите прокси

Остановите Zabbix прокси.

2 Резервное копирование файлов конфигурации и бинарного файла Zabbix прокси

Выполните резервное копирование бинарного файла Zabbix прокси и файла конфигурации.

3 Установите новые бинарные файлы прокси

Воспользуйтесь этими инструкциями для компиляции Zabbix прокси из исходных кодов.

4 Проверьте параметры конфигурации прокси

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

6 Запустите новый Zabbix прокси

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

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

Процесс обновления агента

Обновление агентов не является обязательным. Вы можете обновить агенты только, если это требуется для доступа к новому функционалу.

Процедурой обновления, описанной в этом разделе, можно воспользоваться для обновления как Zabbix агента, так и Zabbix агента 2.

1 Остановите агент

Остановите Zabbix агент.

2 Резервное копирование файлов конфигурации и бинарных файлов Zabbix агента

Выполните резервное копирование бинарного файла Zabbix агента и файла конфигурации.

3 Установите новые бинарные файлы агента

Воспользуйтесь этими инструкциями для компиляции Zabbix агента из исходного кода.

В качестве альтернативы, вы можете загрузить уже скомпилированные Zabbix агенты со страницы загрузки Zabbix.

4 Проверьте параметры конфигурации агента

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

5 Запустите новый Zabbix агент

Запустите новый Zabbix агент. Проверьте файлы журналов, чтобы удостовериться, что агент запустился успешно.

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

При обновлении между минорными версиями 6.0.x (например, с 6.0.1 до 6.0.3) необходимо выполнить те же самые действия для сервера / прокси / агента, как и при обновлении между мажорными версиями. Единственное различие заключается в том, что при обновлении между минорными версиями изменения в базе данных отсутствуют.