В этом разделе описываются шаги, необходимые для успешного обновления контейнеров до Zabbix 7.0.x.
Доступны отдельные наборы инструкций для обновления отдельных образов компонентов Zabbix и файлов compose для Docker.
Перед обновлением обязательно прочтите соответствующие заметки об обновлении!
Перед началом обновления убедитесь, что у пользователей есть необходимые для обновления права доступа к базе данных.
Для обновлений с Zabbix 6.0 или более ранних версий во время обновления необходимо будет создать детерминированные триггеры. Если для MySQL/MariaDB включено ведение бинарного журнала, для этого требуются права суперпользователя или настройка переменной / параметра конфигурации log_bin_trust_function_creators = 1. Инструкции по установке переменной см. в Скриптах создания базы данных.
Обратите внимание, что при запуске из консоли переменная будет установлена только временно и будет удалена при перезапуске Docker. В этом случае оставьте службу SQL запущенной, остановите только службу zabbix-server, выполнив «docker compose down zabbix-server», а затем «docker compose up -d zabbix-server».
В качестве альтернативы вы можете установить эту переменную в файле конфигурации.
В зависимости от размера базы данных обновление до версии 7.0 может занять довольно много времени.
Шаги, перечисленные ниже, можно использовать для обновления любого компонента Zabbix. Замените zabbix-server-mysql
на требуемое имя образа компонента.
1. Проверьте текущую версию образа:
2. Получите нужную версию образа, например:
zabbix/zabbix-server-mysql:alpine-7.0-latest
получит последнюю выпущенную минорную версию Zabbix сервера 7.0 с поддержкой MySQL на основе Alpine Linux. Замените это на нужные вам имя репозитория Docker и комбинации тегов. Смотрите Установка из контейнеров для списка доступных опций.
3. Остановите контейнер:
4. Удалите контейнер:
5. Запустите обновлённый контейнер, выполнив команду docker run
, за которой следуют дополнительные аргументы для указания требуемых переменных окружения и/или точек монтирования.
Примеры конфигурации
Zabbix сервер с MySQL:
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart unless-stopped \
-d zabbix/zabbix-server-mysql:alpine-7.0-latest
Zabbix сервер с PostgreSQL:
docker run --name zabbix-server-pgsql -t \
-e DB_SERVER_HOST="postgres-server" \
-e POSTGRES_USER="zabbix" \
-e POSTGRES_PASSWORD="zabbix_pwd" \
-e POSTGRES_DB="zabbix" \
-e ZBX_ENABLE_SNMP_TRAPS="true" \
--network=zabbix-net \
-p 10051:10051 \
--volumes-from zabbix-snmptraps \
--restart unless-stopped \
-d zabbix/zabbix-server-pgsql:alpine-7.0-latest
Больше примеров конфигурации, включая примеры для других компонентов Zabbix, доступны на странице Установка из контейнеров.
6. Проверьте обновление:
Следуйте инструкциям по обновлению в этом разделе, если вы установили Zabbix, используя файл Compose.
1. Проверьте текущую версию образа:
2. Загрузите последние обновления из репозитория GitHub и переключитесь на нужную ветку:
3. Запустите компоненты Zabbix с помощью нового файла Compose:
4. Проверьте обновление:
Смотрите Установка из контейнеров для получения более подробной информации, включая списки поддерживаемых переменных среды и точек монтирования томов.