3 Jaunināšana no konteineriem
Pārskats
Šajā sadaļā ir aprakstītas darbības, kas nepieciešamas veiksmīgai jaunināšanai uz Zabbix 7.4.x konteineriem.
Ir pieejami atsevišķi instrukciju kopumi:
Pirms jaunināšanas noteikti izlasiet attiecīgās jaunināšanas piezīmes!
Pirms jaunināšanas sākšanas pārbaudiet, vai lietotājiem ir nepieciešamās datubāzes atļaujas jaunināšanas nolūkiem.
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ā žurnālfailu veidošana, tam ir nepieciešamas superlietotāja tiesības vai arī jāiestata mainīgais/konfigurācijas parametrs log_bin_trust_function_creators = 1.
Skatiet Datubāzes izveides skriptus, lai uzzinātu, kā iestatīt šo mainīgo.
Ņemiet vērā, ka, ja izpilde notiek no konsoles, mainīgais tiks iestatīts tikai uz laiku un tiks noņemts, kad Docker tiks restartēts.
Šādā gadījumā atstājiet SQL pakalpojumu darbībā, apturiet tikai zabbix-server pakalpojumu, 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 jaunināšana uz 7.4 versiju var aizņemt ilgu laiku.
Zabbix komponenta attēla jaunināšana
Šīs instrukcijas jauninās jūsu Docker attēlus, kas tiek izmantoti kā bāze 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.2-latest (...) zabbix-proxy-sqlite3
2. Lejupielādējiet jauno attēla versiju:
docker pull zabbix/zabbix-proxy-sqlite3:alpine-7.4-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āžas, 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.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
Plašāku informāciju par Zabbix konteineru palaišanu skatiet sadaļā Docker (manuāla izvietošana).
6. Pārbaudiet, vai jaunināšana bija veiksmīga, apskatot konteinera žurnālus:
docker logs -f zabbix-proxy-sqlite3
Docker Compose faila jaunināšana
Šīs instrukcijas atjaunina Docker Compose failus, kas tiek izmantoti Zabbix komponentu izvietošanai. Izpildiet šīs instrukcijas, ja Zabbix instalējāt, 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.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. Pārejiet uz Zabbix Docker repozitoriju, ko iepriekš klonējāt, ielādējiet jaunākos atjauninājumus un pārslēdzieties uz 7.4 zaru:
Ja savā lokālajā repozitorijā esat modificējis .env, compose.yaml vai citus failus, git pull var tos pārrakstīt.
Pirms šīs darbības izpildes izveidojiet savu lokālo izmaiņu rezerves kopiju.
cd zabbix-docker
git pull
git checkout 7.4
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. Papildinformāciju par Zabbix konteineru palaišanu skatiet sadaļā Docker Compose.
4. Pārbaudiet, vai jaunināšana bija veiksmīga, apskatot konteineru žurnālus (aizstājiet zabbix-docker-zabbix-server-1 ar sava komponenta konteinera nosaukumu):
docker logs -f zabbix-docker-zabbix-server-1