Upgrade von Containern
Übersicht
Dieser Abschnitt beschreibt die Schritte, die für ein erfolgreiches Upgrade auf Zabbix-Container der Version 8.0.x erforderlich sind.
Für das Upgrade einzelner Zabbix-Komponenten-Images und von Docker-Compose-Dateien stehen separate Anleitungen zur Verfügung.
Lesen Sie vor dem Upgrade unbedingt die entsprechenden Upgrade-Hinweise!
Bevor Sie mit dem Upgrade beginnen, vergewissern Sie sich, dass Benutzer über die erforderlichen Berechtigungen für die Datenbank zum Zweck des Upgrades verfügen.\
Bei Upgrades von Zabbix 6.0 oder älter müssen während des Upgrades deterministische Auslöser erstellt werden.
Wenn die binäre Protokollierung für MySQL/MariaDB aktiviert ist, sind dafür Superuser-Rechte oder das Setzen der Variablen/des Konfigurationsparameters log_bin_trust_function_creators = 1 erforderlich.
Anweisungen zum Setzen der Variablen finden Sie unter Database creation scripts.
Beachten Sie, dass die Variable bei Ausführung über eine Konsole nur vorübergehend gesetzt wird und beim Neustart eines Docker verworfen wird.
Lassen Sie in diesem Fall Ihren SQL-Dienst weiterlaufen und stoppen Sie nur den zabbix-server-Dienst, indem Sie 'docker compose down zabbix-server' und anschließend 'docker compose up -d zabbix-server' ausführen.
Alternativ können Sie diese Variable in der Konfigurationsdatei setzen.
Abhängig von der Größe der Datenbank kann ein Upgrade auf Version 8.0 recht lange dauern.
Upgrade des Zabbix-Images
Die unten aufgeführten Schritte können verwendet werden, um jede Zabbix-Komponente zu aktualisieren.
Ersetzen Sie zabbix-server-mysql durch den Namen des erforderlichen Komponenten-Images.
1. Aktuelle Image-Version prüfen:
docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql
2. Gewünschte Image-Version abrufen, zum Beispiel:
docker pull zabbix/zabbix-server-mysql:alpine-8.0-latest
zabbix/zabbix-server-mysql:alpine-8.0-latest lädt die neueste veröffentlichte Minor-Version von Zabbix server 8.0 mit MySQL-Unterstützung auf Basis von Alpine Linux herunter.
Ersetzen Sie sie durch die Kombination aus Docker-Repository-Namen und Tags, die Sie benötigen.
Eine Liste der verfügbaren Optionen finden Sie unter Installation from containers.
3. Container stoppen:
docker stop zabbix-server-mysql
4. Container entfernen:
docker rm zabbix-server-mysql
5. Starten Sie den aktualisierten Container, indem Sie den Befehl docker run ausführen, gefolgt von zusätzlichen Argumenten zur Angabe der erforderlichen environment variables und/oder mount points.
Konfigurationsbeispiele
Zabbix server mit 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-8.0-latest
Zabbix server mit 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-8.0-latest
MySQL-Server:
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net \
--restart unless-stopped \
-d mysql:8.4-oracle \
--character-set-server=utf8mb4--collation-server=utf8mb4_bin \
Weitere Konfigurationsbeispiele, einschließlich Beispielen für andere Zabbix-Komponenten, sind auf der Seite Installation from containers verfügbar.
6. Aktualisierung überprüfen:
docker logs -f zabbix-server-mysql
Compose-Dateien
Befolgen Sie die Upgrade-Anweisungen in diesem Abschnitt, wenn Sie Zabbix mit einer Compose-Datei installiert haben.
1. Prüfen Sie die aktuelle Image-Version:
docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql
2. Rufen Sie die neuesten Aktualisierungen aus dem GitHub-Repository ab und wechseln Sie zum erforderlichen Branch:
git pull
git checkout 8.0
3. Starten Sie die Zabbix-Komponenten mit der neuen Compose-Datei:
docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
4. Überprüfen Sie das Update:
docker logs -f zabbix-server-mysql
Weitere Informationen, einschließlich Listen der unterstützten Umgebungsvariablen und Volume-Mount-Points, finden Sie unter Installation aus Containern.