3 Actualització des dels contenidors

Vista general

Aquesta secció descriu les passes necessàries per a una actualització exitosa als contenidors Zabbix 7.4.x.

Hi ha diferents conjunts d'instruccions disponibles per:

Abans de l'actualització, assegureu-vos de llegir les notes d'actualització pertinents!

Abans d'iniciar l'actualització, verifiqueu que els usuaris tinguin els permisos necessaris per a la base de dades per a l'actualització.

Per a les actualitzacions de Zabbix 6.0 o anteriors, caldrà crear triggers deterministes durant l'actualització. Si el registre binari és habilitat per a MySQL/MariaDB, això requereix privilegis de superusuari o establir la variable/paràmetre de configuració log_bin_trust_function_creators = 1. Consulteu Scripts de creació de bases de dades per obtindre instruccions sobre com configurar la variable.

Tingueu en compte que si s'executa des d'una consola, la variable només s'establirà temporalment i s'esborrarà quan es reiniciï un Docker. En aquest cas, mantingueu el vostre servei SQL en funcionament, només atureu el servei zabbix-server executant 'docker compose down zabbix-server' i després 'docker compose up -d zabbix-server'. Alternativament, podeu establir aquesta variable al fitxer de configuració.

Depenent de la mida d'una base de dades, l'actualització a la versió 7.4 pot trigar molt de temps.

Actualització de la imatge de Zabbix

Les passes que s'indiquen a continuació es poden emprar per actualitzar qualsevol component Zabbix. Substituïu zabbix-proxy-sqlite3 pel nom de la imatge del component necessari.

1. Comproveu tots els contenidors per identificar els seus noms i versions d'imatges:

docker ps -a

# CONTAINER IDIMAGE(...) NAMES
# 5a0c2e3d02b4zabbix/zabbix-proxy-sqlite3:alpine-7.2-latest(...) zabbix-proxy-sqlite3

2. Pugeu la nova versió de la imatge:

docker pull zabbix/zabbix-proxy-sqlite3:alpine-7.4-latest

3. Atureu el contenidor:

docker stop zabbix-proxy-sqlite3

4. Esborreu el contenidor:

Assegureu-vos que heu observat totes les banderes de configuració i els muntatges de volum utilitzats a l'ordre original docker run abans de procedir, ja que seran necessàries per recrear el contenidor.

docker rm zabbix-proxy-sqlite3

5. Inicieu el contenidor emprant la imatge actualitzada:

docker run --name zabbix-proxy-sqlite3 \
    -e ZBX_SERVER_HOST=192.0.2.1 \
    -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-7.4-latest

Per obtenir més informació sobre l'execució dels contenidors de Zabbix, vegeu Docker (desplegament manual).

6. Verifiqueu l'actualització:

    docker logs -f zabbix-proxy-sqlite3

Actualització d'arxius de Docker Compose

Aquestes instruccions actualitzen els fitxers Docker Compose utilitzats per implementar components de Zabbix. Seguiu aquestes instruccions si heu instal·lat Zabbix utilitzant Docker Compose.

1. Comproveu tots els contenidors per identificar els seus noms i les seves versions d'imatge actuals:

docker ps -a

# CONTAINER ID   IMAGE                                             (...) NAMES
# d095f486deef   zabbix/zabbix-server-mysql:alpine-7.2-latest      (...) zabbix-docker-zabbix-server-1
# 70627d833da0   zabbix/zabbix-web-nginx-mysql:alpine-7.2-latest   (...) zabbix-docker-zabbix-web-nginx-mysql-1
# aaaa664cc185   zabbix/zabbix-server-mysql:alpine-7.2-latest      (...) zabbix-docker-server-db-init-1
# 9ab3e77492ff   mysql:8.0-oracle                                  (...) zabbix-docker-mysql-server-1

2. Navegueu fins al repositori de Zabbix Docker que has clonat prèviament, tira de les darreres actualitzacions i canvia a la branca 7.4:

Si heu modificat .env, compose.yaml, o altres fitxers del vostre repositori local, un git pull pot sobreescriure'ls. Feu una còpia de seguretat de qualsevol canvi local abans d'executar aquesta passa.

cd zabbix-docker
git pull
git checkout 7.4

3. Desplegueu components de Zabbix utilitzant el fitxer Docker Compose actualitzat:

# Amb MySQL com a base de dades:
docker compose -f ./compose.yaml up -d

# Amb PostgreSQL com a base de dades:
docker compose -f ./compose_pgsql.yaml up -d

Després de recrear i començar tots els contenidors, pot trigar 1-3 minuts abans que es reprengui la recollida de dades. Per obtindre més informació sobre l'execució dels contenidors de Zabbix, consulteu Docker Compose.

4. Comproveu que l'actualització ha anat bé comprovant els registres del contenidor (substituïu zabbix-docker-zabbix-server-1 amb el nom del contenidor del vostre component):

docker logs -f zabbix-docker-zabbix-server-1