Actualización desde contenedores
Resumen
Esta sección describe los pasos necesarios para una actualización correcta a los contenedores de Zabbix 8.0.x.
Hay disponibles conjuntos de instrucciones separados para:
¡Antes de la actualización, asegúrese de leer las notas de actualización correspondientes!
Antes de iniciar la actualización, verifique que los usuarios tengan los permisos necesarios sobre la base de datos para fines de actualización.
Para actualizaciones desde Zabbix 6.0 o versiones anteriores, será necesario crear triggers deterministas durante la actualización.
Si el registro binario está habilitado para MySQL/MariaDB, esto requiere privilegios de superusuario o establecer la variable/parámetro de configuración log_bin_trust_function_creators = 1.
Consulte Scripts de creación de base de datos para obtener instrucciones sobre cómo establecer la variable.
Tenga en cuenta que, si se ejecuta desde una consola, la variable solo se establecerá temporalmente y se eliminará cuando se reinicie un Docker.
En este caso, mantenga su servicio SQL en ejecución; detenga únicamente el servicio zabbix-server ejecutando docker compose down zabbix-server y luego docker compose up -d zabbix-server.
Como alternativa, puede establecer esta variable en el archivo de configuración.
Dependiendo del tamaño de la base de datos, la actualización de la base de datos a la versión 8.0 puede tardar mucho tiempo.
Actualización de la imagen de componentes de Zabbix
Estas instrucciones actualizan sus imágenes de Docker utilizadas como base para los contenedores de sus componentes de Zabbix.
Los pasos a continuación usan un proxy de Zabbix como ejemplo.
Sustituya zabbix-proxy-sqlite3 por el nombre del contenedor de su componente.
1. Compruebe todos los contenedores para identificar sus nombres y las versiones actuales de sus imágenes:
docker ps -a
# CONTAINER ID IMAGE (...) NAMES
# 5a0c2e3d02b4 zabbix/zabbix-proxy-sqlite3:alpine-7.4-latest (...) zabbix-proxy-sqlite3
2. Descargue la nueva versión de la imagen:
docker pull zabbix/zabbix-proxy-sqlite3:alpine-8.0-latest
3. Detenga el contenedor del componente de Zabbix:
docker stop zabbix-proxy-sqlite3
4. Elimine el contenedor del componente de Zabbix:
Asegúrese de haber anotado todas las opciones de configuración y los montajes de volúmenes utilizados en el comando docker run original antes de continuar, ya que serán necesarios para volver a crear el contenedor.
docker rm zabbix-proxy-sqlite3
5. Inicie un nuevo contenedor usando la imagen actualizada:
docker run --name zabbix-proxy-sqlite3 \
-e ZBX_SERVER_HOST=192.0.2.0 \
-e ZBX_PROXYMODE=0 \
-e ZBX_HOSTNAME=zabbix-proxy-sqlite3 \
-v zabbix-proxy-data:/var/lib/zabbix/db_data \
--init \
-d \
zabbix/zabbix-proxy-sqlite3:alpine-8.0-latest
Para más información sobre cómo ejecutar contenedores de Zabbix, consulte Docker (manual deployment).
6. Verifique que la actualización se haya realizado correctamente comprobando los registros del contenedor:
docker logs -f zabbix-proxy-sqlite3
Actualización del archivo Docker Compose
Estas instrucciones actualizan los archivos de Docker Compose utilizados para desplegar los componentes de Zabbix. Siga estas instrucciones si instaló Zabbix mediante Docker Compose.
1. Compruebe todos los contenedores para identificar sus nombres y las versiones actuales de sus imágenes:
docker ps -a
# CONTAINER ID IMAGE (...) NAMES
# d095f486deef zabbix/zabbix-server-mysql:alpine-7.4-latest (...) zabbix-docker-zabbix-server-1
# 70627d833da0 zabbix/zabbix-web-nginx-mysql:alpine-7.4-latest (...) zabbix-docker-zabbix-web-nginx-mysql-1
# aaaa664cc185 zabbix/zabbix-server-mysql:alpine-7.4-latest (...) zabbix-docker-server-db-init-1
# 9ab3e77492ff mysql:8.0-oracle (...) zabbix-docker-mysql-server-1
2. Vaya al repositorio Docker de Zabbix que clonó anteriormente, descargue las actualizaciones más recientes y cambie a la rama 8.0:
Si ha modificado .env, compose.yaml u otros archivos en su repositorio local, git pull puede sobrescribirlos.
Haga una copia de seguridad de cualquier cambio local antes de ejecutar este paso.
cd zabbix-docker
git pull
git checkout 8.0
3. Despliegue los componentes de Zabbix utilizando el archivo Docker Compose actualizado:
# Con MySQL como base de datos:
docker compose -f ./compose.yaml up -d
# Con PostgreSQL como base de datos:
docker compose -f ./compose_pgsql.yaml up -d
Después de que todos los contenedores se vuelvan a crear e inicien, la recopilación de datos puede tardar entre 1 y 3 minutos en reanudarse. Para obtener más información sobre la ejecución de contenedores de Zabbix, consulte Docker Compose.
4. Verifique que la actualización se haya realizado correctamente comprobando los registros del contenedor (reemplace zabbix-docker-zabbix-server-1 por el nombre del contenedor de su componente):
docker logs -f zabbix-docker-zabbix-server-1