Table of Contents

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

Обзор

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

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

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

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

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

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

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

Обновление с Прочитайте заметки по обновлению полностью Важные заметки/изменения между версиями
4.2.x Для:
Zabbix 4.4
Удалены способы оповещения Jabber, Ez Texting.
4.0.x LTS Для:
Zabbix 4.2
Zabbix 4.4
Более старые прокси более не могут передавать данные на обновленный сервер;
Более новые агенты более не могут работать с более старым Zabbix сервером
3.4.x Для:
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Библиотеки 'libpthread' и 'zlib' теперь обязательны;
Поддержка протокола в виде простого текста убрана и заголовок обязателен;
Zabbix агенты версий Pre-1.4 более не поддерживаются;
Параметр Server в конфигурации пассивного прокси теперь обязателен
3.2.x Для:
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Поддержка 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
Обновление базы данных может быть медленным, в зависимости от размеров таблиц истории
2.4.x Для:
Zabbix 3.0
Zabbix 3.2
Zabbix 3.4
Zabbix 4.0
Zabbix 4.2
Zabbix 4.4
Минимально требуемая версия 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
Удалён распределенный мониторинг на основе нод
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
Минимально требуемая версия PHP повышена с 5.1.6 до 5.3.0;
Для правильной работы сервера требуется регистрозависимая база данных MySQL; Для нормальной работы Zabbix сервера с MySQL базой данных требуются кодировка utf8 и utf8_bin тип сравнения. Смотрите скрипты создания базы данных.
Расширение 'mysqli' PHP требуется вместо 'mysql'

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

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

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

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

Остановите 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 5.4.0. Обновите, если требуется, и следуйте инструкции по установке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Установите новые исполняемые файлы агента

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

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

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

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

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

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

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

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