Upgrade from containers

Przegląd

Ta sekcja opisuje kroki wymagane do pomyślnego uaktualnienia kontenerów Zabbix 8.0.x.

Dostępne są oddzielne zestawy instrukcji dotyczące uaktualniania poszczególnych obrazów komponentów Zabbix oraz plików Docker compose.

Przed uaktualnieniem należy zapoznać się z odpowiednimi uwagami do uaktualnienia!

Przed rozpoczęciem uaktualnienia należy sprawdzić, czy użytkownicy mają niezbędne uprawnienia do bazy danych na potrzeby uaktualnienia.\

W przypadku uaktualnienia z Zabbix 6.0 lub starszego podczas uaktualnienia konieczne będzie utworzenie deterministycznych wyzwalaczy. Jeśli dla MySQL/MariaDB włączone jest logowanie binarne, wymaga to uprawnień superusera lub ustawienia zmiennej/parametru konfiguracyjnego log_bin_trust_function_creators = 1. Instrukcje dotyczące ustawienia tej zmiennej znajdują się w sekcji Database creation scripts.
Należy pamiętać, że w przypadku wykonania z konsoli zmienna zostanie ustawiona tylko tymczasowo i zostanie utracona po ponownym uruchomieniu Dockera. W takim przypadku należy pozostawić usługę SQL uruchomioną, zatrzymać tylko usługę zabbix-server, uruchamiając docker compose down zabbix-server, a następnie docker compose up -d zabbix-server.
Alternatywnie można ustawić tę zmienną w pliku konfiguracyjnym.

W zależności od rozmiaru bazy danych uaktualnienie do wersji 8.0 może zająć dość dużo czasu.

Aktualizacja obrazu Zabbix

Poniższe kroki można wykorzystać do aktualizacji dowolnego komponentu Zabbix. Zastąp zabbix-server-mysql nazwą obrazu wymaganego komponentu.

1. Sprawdź bieżącą wersję obrazu:

docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql

2. Pobierz żądaną wersję obrazu, na przykład:

docker pull zabbix/zabbix-server-mysql:alpine-8.0-latest

zabbix/zabbix-server-mysql:alpine-8.0-latest pobierze najnowszą wydaną pomocniczą wersję Zabbix serwer 8.0 z obsługą MySQL opartą na Alpine Linux. Zastąp ją nazwą repozytorium Docker i kombinacją tagów, których potrzebujesz. Listę dostępnych opcji znajdziesz w Instalacja z kontenerów.

3. Zatrzymaj kontener:

docker stop zabbix-server-mysql

4. Usuń kontener:

docker rm zabbix-server-mysql

5. Uruchom zaktualizowany kontener, wykonując polecenie docker run, a następnie podając dodatkowe argumenty określające wymagane zmienne środowiskowe i/lub punkty montowania.

Przykłady konfiguracji

Zabbix serwer z 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 serwer z 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

Serwer MySQL:

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 \

Więcej przykładów konfiguracji, w tym przykładów dla innych komponentów Zabbix, jest dostępnych na stronie Instalacja z kontenerów.

6. Zweryfikuj aktualizację:

docker logs -f zabbix-server-mysql

Pliki compose

Postępuj zgodnie z instrukcjami aktualizacji w tej sekcji, jeśli zainstalowano Zabbix przy użyciu pliku compose.

1. Sprawdź bieżącą wersję obrazu:

docker inspect -f '{{ .Config.Image }}' zabbix-server-mysql

2. Pobierz najnowsze aktualizacje z repozytorium GitHub i przełącz się na wymaganą gałąź:

git pull
git checkout 8.0

3. Uruchom komponenty Zabbix przy użyciu nowego pliku compose:

docker-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

4. Zweryfikuj aktualizację:

docker logs -f zabbix-server-mysql

Więcej szczegółów, w tym listy obsługiwanych zmiennych środowiskowych i punktów montowania woluminów, znajduje się w sekcji Instalacja z kontenerów.