Sidebar

Table of Contents

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

Обзор

Этот раздел описывает требуемые шаги для успешного обновления с 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 Для:
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 база данных для правильной работы сервера; Для корректной работы с MySQL базой данных требуются кодировка utf8 и utf8_bin тип сравнения требуются для Zabbix сервера. Смотрите скрипты создания базы данных.
Вместо 'mysql' расширения требуется 'mysqli' расширение PHP

Вы возможно захотите также ознакомиться с требованиями для 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) необходимо выполнить те же самые действия для сервера / прокси / агента, как и при обновлении между мажорными версиями. Единственное различие заключается в том, что при обновлении между минорными версиями, изменения в базе данных отсутствуют.