Upgrade from containers
Pārskats
Šajā sadaļā ir aprakstītas darbības, kas nepieciešamas veiksmīgai jaunināšanai uz Zabbix 8.0.x konteineriem.
Ir pieejami atsevišķi norādījumu komplekti šādiem gadījumiem:
Pirms jaunināšanas noteikti izlasiet atbilstošās jaunināšanas piezīmes!
Pirms jaunināšanas sākšanas pārliecinieties, ka lietotājiem ir nepieciešamās atļaujas datubāzei, lai veiktu jaunināšanu.
Jauninot no Zabbix 6.0 vai vecākas versijas, jaunināšanas laikā būs jāizveido deterministiski trigeri.
Ja MySQL/MariaDB ir iespējota binārā žurnalēšana, tam ir nepieciešamas superlietotāja privilēģijas vai arī jāiestata mainīgais/konfigurācijas parametrs log_bin_trust_function_creators = 1.
Norādījumus par mainīgā iestatīšanu skatiet sadaļā Datubāzes izveides skripti.
Ņemiet vērā, ka, izpildot no konsoles, mainīgais tiks iestatīts tikai īslaicīgi un tiks noņemts, kad Docker tiks restartēts.
Šādā gadījumā atstājiet savu SQL servisu darbinātu, apturiet tikai zabbix-server servisu, izpildot docker compose down zabbix-server, un pēc tam docker compose up -d zabbix-server.
Alternatīvi, šo mainīgo var iestatīt konfigurācijas failā.
Atkarībā no datubāzes lieluma datubāzes jaunināšana uz versiju 8.0 var aizņemt ilgu laiku.
Zabbix komponenta attēla jaunināšana
Šīs instrukcijas jauninās jūsu Docker attēlus, kas tiek izmantoti kā pamats jūsu Zabbix komponentu konteineriem.
Tālāk norādītajās darbībās kā piemērs tiek izmantots Zabbix starpniekserveris.
Aizstājiet zabbix-proxy-sqlite3 ar sava komponenta konteinera nosaukumu.
1. Pārbaudiet visus konteinerus, lai noteiktu to nosaukumus un pašreizējās attēlu versijas:
docker ps -a
# CONTAINER ID IMAGE (...) NAMES
# 5a0c2e3d02b4 zabbix/zabbix-proxy-sqlite3:alpine-7.4-latest (...) zabbix-proxy-sqlite3
2. Lejupielādējiet jaunās versijas attēlu:
docker pull zabbix/zabbix-proxy-sqlite3:alpine-8.0-latest
3. Apturiet Zabbix komponenta konteineru:
docker stop zabbix-proxy-sqlite3
4. Noņemiet Zabbix komponenta konteineru:
Pirms turpināt, pārliecinieties, ka esat pierakstījis visus konfigurācijas karogus un sējumu montējumus, kas tika izmantoti sākotnējā docker run komandā, jo tie būs nepieciešami konteinera atkārtotai izveidei.
docker rm zabbix-proxy-sqlite3
5. Palaidiet jaunu konteineru, izmantojot atjaunināto attēlu:
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
Papildinformāciju par Zabbix konteineru palaišanu skatiet sadaļā Docker (manual deployment).
6. Pārbaudiet, vai jaunināšana bija veiksmīga, pārbaudot konteinera žurnālus:
docker logs -f zabbix-proxy-sqlite3
Docker Compose faila jaunināšana
Šīs instrukcijas jaunina Docker Compose failus, kas tiek izmantoti Zabbix komponentu izvietošanai. Izpildiet šīs instrukcijas, ja instalējāt Zabbix, izmantojot Docker Compose.
1. Pārbaudiet visus konteinerus, lai noteiktu to nosaukumus un pašreizējās attēlu versijas:
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. Pārejiet uz iepriekš klonēto Zabbix Docker repozitoriju, lejupielādējiet jaunākos atjauninājumus un pārslēdzieties uz 8.0 zaru:
Ja esat modificējis .env, compose.yaml vai citus failus savā lokālajā repozitorijā, git pull var tos pārrakstīt.
Pirms šīs darbības izpildes izveidojiet visu lokālo izmaiņu dublējumkopiju.
cd zabbix-docker
git pull
git checkout 8.0
3. Izvietojiet Zabbix komponentus, izmantojot atjaunināto Docker Compose failu:
# Ar MySQL kā datubāzi:
docker compose -f ./compose.yaml up -d
# Ar PostgreSQL kā datubāzi:
docker compose -f ./compose_pgsql.yaml up -d
Pēc tam, kad visi konteineri ir atkārtoti izveidoti un palaisti, var paiet 1—3 minūtes, līdz datu vākšana tiek atsākta. Plašāku informāciju par Zabbix konteineru darbināšanu skatiet sadaļā Docker Compose.
4. Pārbaudiet, vai jaunināšana bija veiksmīga, apskatot konteinera žurnālus (aizstājiet zabbix-docker-zabbix-server-1 ar sava komponenta konteinera nosaukumu):
docker logs -f zabbix-docker-zabbix-server-1