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.