Áú»¢¶Ä²©

5 ±õ²Ô²õ³Ù²¹±ô¡¤±ô²¹³¦¾±¨® des de contenidors

Vista general

Aquesta secci¨® descriu com implementar Áú»¢¶Ä²© amb Docker o Docker Compose.

Áú»¢¶Ä²© ofereix oficialment:

  • Imatges Docker separades per a cada component de Áú»¢¶Ä²© per funcionar com a contenidors port¨¤tils i autosuficients.
  • Redactar fitxers per definir i executar components de Áú»¢¶Ä²© multicontenidor a Docker.

Des de Áú»¢¶Ä²© 6.0, s'han de crear triggers deterministes durant la instal¡¤laci¨®. Si el registre binari ¨¦s habilitat per a MySQL/MariaDB, calen privilegis de superusuari o establir la variable/par¨¤metre de configuraci¨® log_bin_trust_function_creators = 1. Consulteu Scripts de creaci¨® de bases de dades per obtindre instruccions sobre com configurar la variable.
Tingueu en compte que si s'executa des d'una consola, la variable nom¨¦s s'establir¨¤ temporalment i s'esborrar¨¤ quan es reinici? un Docker. En aquest cas, mantingueu el vostre servei SQL en funcionament, nom¨¦s atureu el servei zabbix-server executant "docker compose down zabbix-server" i despr¨¦s "docker compose up -d zabbix-server".
Alternativament, podeu establir aquesta variable al fitxer de configuraci¨®.

Font dels arxius Docker

Hom pot fer un seguiment dels canvis dels fitxers de Docker mitjan?ant el [repositori oficial] de Áú»¢¶Ä²© (https://github.com/zabbix/zabbix-docker) a GitHub, on podeu seguir els carrers canvid d'arius o bifurcar el projecte per crear les vostres pr¨°pies imatges.

Docker

Áú»¢¶Ä²© proporciona imatges basades en una varietat d'imatge base de SO. Per obtindre la llista d'imatges del sistema operatiu base compatibles per a un component Áú»¢¶Ä²© espec¨ªfic, consulteu la descripci¨® del component a . Totes les imatges de Áú»¢¶Ä²© s¨®n configurades per reconstruir les darreres imatges si s'actualitzen les imatges base.

±õ²Ô²õ³Ù²¹±ô¡¤±ô²¹³¦¾±¨®

Per obtindre la imatge del component Áú»¢¶Ä²©, executeu:

 docker pull zabbix/zabbix-server-mysql

Substitu?u zabbix/zabbix-server-mysql pel nom del repositori docker necessari.

Aquesta ordre extreu la darrera versi¨® estable del component Áú»¢¶Ä²© basada en el sistema operatiu Linux Alpine. Podeu afegir etiquetes al nom del repositori per obtindre una imatge basada en un altre sistema operatiu o en la versi¨® principal o secundaria espec¨ªfica de Áú»¢¶Ä²©.

Els dip¨°sits seg¨¹ents s¨®n disponibles a Docker Hub:

Component Repositori Docker
Agent Áú»¢¶Ä²©
Servidor Áú»¢¶Ä²©
amb suport MySQL
amb suport PostgreSQL
Interf¨ªcie web Áú»¢¶Ä²©
basat en el servidor web Apache2 amb suport MySQL
basat en el servidor web Apache2 amb suport PostgreSQL
basat en el servidor web Nginx amb suport MySQL
basat en el servidor web Nginx amb suport PostgreSQL
Proxy Áú»¢¶Ä²©
amb suport SQLite3
amb suport MySQL
Áú»¢¶Ä²© Java Gateway

El suport de traps SNMP es proporciona de forma independent al repositori . Es pot enlla?ar amb el servidor Áú»¢¶Ä²© i Proxy Áú»¢¶Ä²©.

Etiquetes

Les imatges oficials dels components de Áú»¢¶Ä²© poden contindre les etiquetes seg¨¹ents:

Etiqueta ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® Exemple
darrera La darrera versi¨® estable d'un component Áú»¢¶Ä²© basat en la imatge Alpine Linux. zabbix-agent:latest
<OS>-trunk La darrera versi¨® nocturna de la versi¨® Áú»¢¶Ä²© que s'est¨¤ desenvolupant actualment en un sistema operatiu espec¨ªfic.

<SO> - el sistema operatiu base. Valors admesos:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (nom¨¦s agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (nom¨¦s agent);
ubuntu - Ubuntu
agent zabbix:ubuntu-trunk
<OS>-latest La darrera versi¨® estable d'un component Áú»¢¶Ä²© en un sistema operatiu espec¨ªfic.

<SO> - el sistema operatiu base. Valors admesos:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (nom¨¦s agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (nom¨¦s agent);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest La darrera versi¨® menor d'un component Áú»¢¶Ä²© d'una versi¨® principal i sistema operatiu espec¨ªfics.

<SO> - el sistema operatiu base. Valors admesos:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (nom¨¦s agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (nom¨¦s agent);
ubuntu - Ubuntu

X.X - la versi¨® principal de Áú»¢¶Ä²© (admesa: 6.0, 7.0, 7.2).
zabbix-agent:alpine-7.0-latest
<OS>-X.X.* La darrera versi¨® menor d'un component Áú»¢¶Ä²© d'una versi¨® principal i d'un sistema operatiu espec¨ªfics.

<SO> - el sistema operatiu base. Valors admesos:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (nom¨¦s agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (nom¨¦s agent);
ubuntu - Ubuntu

X.X: la versi¨® principal de Áú»¢¶Ä²© (admesa: 6.0, 7.0, 7.2).

* - la versi¨® menor de Áú»¢¶Ä²©
zabbix-agent:alpine-7.0.1

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® inicial

Despr¨¦s de descarregar les imatges, inicieu els contenidors executant l'ordre docker run seguida d'arguments addicionals per especificar variables d'entorn (#variables-d'entorn) i/o [punts de muntatge] (#volums). A continuaci¨® es proporcionen alguns exemples de configuraci¨®.

Per habilitar la comunicaci¨® entre components Áú»¢¶Ä²©, alguns ports, com ara 10051/TCP per al servidor Áú»¢¶Ä²© (trapper), 10050/TCP per a l'agent Áú»¢¶Ä²©, 162/UDP per a trampes SNMP i 80/TCP per a la interf¨ªcie web de Áú»¢¶Ä²© s'exposaran a una m¨¤quina equip. El llistat sencer dels ports predeterminats emprats pels components Áú»¢¶Ä²© ¨¦s disponible a la p¨¤gina Requisits. Per al servidor i l'agent Áú»¢¶Ä²©, el port predeterminat es pot canviar configurant la variable d'entorn ZBX_LISTENPORT.

Variables d'entorn

Totes les imatges de components de Áú»¢¶Ä²© proporcionen variables d'entorn per controlar la configuraci¨®. Aquestes variables d'entorn s'enumeren a cada repositori de components.

Aquestes variables d'entorn s¨®n opcions dels fitxers de configuraci¨® de Áú»¢¶Ä²©, per¨° amb un m¨¨tode de denominaci¨® diferent. Per exemple, ZBX_LOGSLOWQUERIES ¨¦s igual a LogSlowQueries dels fitxers de configuraci¨® del servidor Áú»¢¶Ä²© o proxy Áú»¢¶Ä²©.

Algunes opcions de configuraci¨® (com ara PIDFile i LogType) no es poden pas canviar.

Les seg¨¹ents variables d'entorn s¨®n espec¨ªfiques de components de Docker i no existeixen als fitxers de configuraci¨® oficials de Áú»¢¶Ä²©:

Variable Components ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
DB_SERVER_HOST Servidor
Proxy
Interf¨ªcie web
Aquesta variable ¨¦s l'adre?a IP o el nom DNS del servidor MySQL o PostgreSQL.
El valor per defecte ¨¦s mysql-server o postgres-server per a MySQL o PostgreSQL respectivament
DB_SERVER_PORT Servidor
Proxy
Interf¨ªcie web
Aquesta variable ¨¦s el port del servidor MySQL o PostgreSQL.
Per defecte, el valor ¨¦s '3306' o '5432' respectivament.
MYSQL_USER Servidor
Proxy
Interf¨ªcie web
Usuari de la base de dades MySQL.
Per defecte, el valor ¨¦s 'zabbix'.
MYSQL_PASSWORD Servidor
Proxy
Interf¨ªcie web
Mot de pas de la base de dades MySQL.
Per defecte, el valor ¨¦s 'zabbix'.
MYSQL_DATABASE Servidor
Proxy
Interf¨ªcie web
Nom de la base de dades.
Per defecte, el valor ¨¦s 'zabbix' per al servidor Áú»¢¶Ä²© i zabbix\_proxy per al proxy Áú»¢¶Ä²©.
POSTGRES_USER Servidor
Interf¨ªcie web
Usuari de base de dades PostgreSQL.
Per defecte, el valor ¨¦s 'zabbix'.
POSTGRES_PASSWORD Servidor
Interf¨ªcie web
Mot de pas de base de dades PostgreSQL.
Per defecte, el valor ¨¦s 'zabbix'.
POSTGRES_DB Servidor
Interf¨ªcie web
Nom de la base de dades.
Per defecte, el valor ¨¦s 'zabbix' per al servidor Áú»¢¶Ä²© i zabbix\_proxy per al proxy Áú»¢¶Ä²©.
PHP_TZ Interf¨ªcie web Fus hor¨¤ria en format PHP. La llista completa de zones hor¨¤ries admeses es pot trobar a .
Per defecte, el valor ¨¦s 'Europa/Riga'.
ZBX_SERVER_NAME Interf¨ªcie web Nom d'instal¡¤laci¨® de Áú»¢¶Ä²© visible a l'extrem superior dret de la interf¨ªcie web.
Per defecte, el valor ¨¦s 'Áú»¢¶Ä²© Docker'
ZBX_JAVAGATEWAY_ENABLE Servidor
Proxy
Permet la comunicaci¨® amb Áú»¢¶Ä²© Java Gateway per recopilar comprovacions relacionades amb Java.
El valor per defecte ¨¦s "fals"
ZBX_ENABLE_SNMP_TRAPS Servidor
Proxy
Activa la funcionalitat de trampes SNMP. Requereix una inst¨¤ncia zabbix-snmptraps i un volum compartit /var/lib/zabbix/snmptraps al servidor Áú»¢¶Ä²© o al proxy Áú»¢¶Ä²©.
Volums

Les imatges permeten emprar determinats punts de muntatge. Aquests punts de muntatge s¨®n diferents i depenen del tipus de component Áú»¢¶Ä²©:

Volum ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
Agent Áú»¢¶Ä²©
/etc/zabbix/zabbix_agentd.d El volum permet incloure fitxers *.conf i ampliar l'agent Áú»¢¶Ä²© mitjan?ant la funcionalitat UserParameter
/var/lib/zabbix/modules El volum permet carregar m¨°duls addicionals i ampliar l'agent Áú»¢¶Ä²© mitjan?ant la funcionalitat LoadModule
/var/lib/zabbix/enc El volum s'empra per emmagatzemar fitxers relacionats amb TLS. Aquests noms de fitxer s'especifiquen mitjan?ant les variables d'entorn ZBX_TLSCAFILE, ZBX_TLSCRLLFILE, ZBX_TLSKEY_FILE i ZBX_TLSPSKFILE
Servidor Áú»¢¶Ä²©
/usr/lib/zabbix/alertscripts El volum s'empra per als scripts d'alerta personalitzats. Aquesta ¨¦s la configuraci¨® AlertScriptsPath a zabbix_server.conf
/usr/lib/zabbix/externalscripts El volum ¨¦s emprat per comprovacions externes. Aquest ¨¦s el par¨¤metre ExternalScripts a zabbix_server.conf
/var/lib/zabbix/modules El volum permet carregar m¨°duls addicionals i ampliar el servidor Áú»¢¶Ä²© mitjan?ant la funci¨® LoadModule
/var/lib/zabbix/enc El volum s'empra per emmagatzemar fitxers relacionats amb TLS. Aquests noms de fitxer s'especifiquen mitjan?ant les variables d'entorn ZBX_TLSCAFILE, ZBX_TLSCRLLFILE, ZBX_TLSKEY_FILE i ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs El volum s'empra com a ubicaci¨® dels fitxers de certificat de client SSL per a l'autenticaci¨® de client. Aquesta ¨¦s la configuraci¨® SSLCertLocation a zabbix_server.conf
/var/lib/zabbix/ssl/keys El volum s'empra com a ubicaci¨® dels fitxers de clau privada SSL per a l'autenticaci¨® del client. Aquest ¨¦s el par¨¤metre SSLKeyLocation a zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca El volum s'empra com a ubicaci¨® dels fitxers de l'autoritat de certificaci¨® (CA) per a la verificaci¨® del certificat del servidor SSL. Aquesta ¨¦s la configuraci¨® SSLCALocation a zabbix_server.conf
/var/lib/zabbix/snmptraps El volum s'empra com a ubicaci¨® del fitxer snmptraps.log. Es pot compartir amb el contenidor zabbix-snmptraps i heretar-lo mitjan?ant l'opci¨® Docker volumes_from quan es crea una nova inst¨¤ncia del servidor Áú»¢¶Ä²©. La funci¨® de processament de trampes SNMP es pot activar emprant el volum compartit i establint la variable d'entorn ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volum permet afegir nous fitxers MIB. No admet subdirectoris, tots els MIB s'han de posar a /var/lib/zabbix/mibs
Proxy Áú»¢¶Ä²©
/usr/lib/zabbix/externalscripts El volum ¨¦s emprat per comprovacions externes. Aquesta ¨¦s la configuraci¨® ExternalScripts a zabbix_proxy.conf
/var/lib/zabbix/modules El volum permet carregar m¨°duls addicionals i ampliar el servidor Áú»¢¶Ä²© mitjan?ant la funci¨® LoadModule
/var/lib/zabbix/enc El volum s'empra per emmagatzemar fitxers relacionats amb TLS. Aquests noms de fitxer s'especifiquen mitjan?ant les variables d'entorn ZBX_TLSCAFILE, ZBX_TLSCRLLFILE, ZBX_TLSKEY_FILE i ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs El volum s'empra com a ubicaci¨® dels fitxers de certificat de client SSL per a l'autenticaci¨® de client. Aquest ¨¦s el par¨¤metre SSLCertLocation a zabbix_proxy.conf
/var/lib/zabbix/ssl/keys El volum s'empra com a ubicaci¨® dels fitxers de clau privada SSL per a l'autenticaci¨® del client. Aquesta ¨¦s la configuraci¨® SSLKeyLocation a zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca El volum s'empra com a ubicaci¨® dels fitxers de l'autoritat de certificaci¨® (CA) per a la verificaci¨® del certificat del servidor SSL. ?s el par¨¤metre SSLCALocation a zabbix_proxy.conf
/var/lib/zabbix/snmptraps El volum s'empra com a ubicaci¨® del fitxer snmptraps.log. Es pot compartir amb el contenidor zabbix-snmptraps i heretar-lo mitjan?ant l'opci¨® Docker volumes_from quan es crea una nova inst¨¤ncia del servidor Áú»¢¶Ä²©. La funci¨® de processament de trampes SNMP es pot activar emprant el volum compartit i establint la variable d'entorn ZBX_ENABLE_SNMP_TRAPS a 'true'
/var/lib/zabbix/mibs El volum permet afegir nous fitxers MIB. No admet subdirectoris, tots els MIB s'han de posar a /var/lib/zabbix/mibs
Interf¨ªcie web Áú»¢¶Ä²© basada en el servidor web Apache2
/etc/ssl/apache2 El volum activa HTTPS per a la interf¨ªcie web Áú»¢¶Ä²©. El volum hauria de contindre fitxers ssl.crt i ssl.key preparats per a Apache2
Interf¨ªcie web Áú»¢¶Ä²© basada en el servidor web Nginx
/etc/ssl/nginx El volum activa HTTPS per a la interf¨ªcie web Áú»¢¶Ä²©. El volum hauria de contindre els dos fitxers ssl.crt, ssl.key i dhparam.pem preparats per a connexions Nginx SSL
Áú»¢¶Ä²© snmptraps
/var/lib/zabbix/snmptraps El volum cont¨¦ un fitxer de registre anomenat snmptraps.log amb trampes SNMP rebudes
/var/lib/zabbix/mibs El volum permet afegir nous fitxers MIB. No admet subdirectoris, tots els MIB s'han de posar a /var/lib/zabbix/mibs

Per obtindre m¨¦s informaci¨®, veieu els dip¨°sits oficials de Áú»¢¶Ä²© a Docker Hub.

Exemples

Exemple 1

L'exemple mostra com executar el servidor Áú»¢¶Ä²© amb suport de bases de dades MySQL, la interf¨ªcie web Áú»¢¶Ä²© basada en el servidor web Nginx i la passarel¡¤la Java Áú»¢¶Ä²©.

1. Creeu una xarxa dedicada als contenidors de components Áú»¢¶Ä²©:

# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. Inicieu la inst¨¤ncia del servidor MySQL buida

# 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.0 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

3. Inicieu la inst¨¤ncia de passarel¡¤la Java de Áú»¢¶Ä²©

# docker run --name zabbix-java-gateway -t \
             --network=zabbix-net \
             --restart unless-stopped \
             -d zabbix/zabbix-java-gateway:alpine-6.4-latest

4. Inicieu la inst¨¤ncia del servidor Áú»¢¶Ä²© i enllaceu la inst¨¤ncia amb la inst¨¤ncia del servidor MySQL creada

# 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-6.4-latest

La inst¨¤ncia del servidor Áú»¢¶Ä²© exposa el port 10051/TCP (trapper Áú»¢¶Ä²©) a l'equip.

5. Inicieu la interf¨ªcie web de Áú»¢¶Ä²© i enlla?eu la inst¨¤ncia amb el servidor MySQL creat i les inst¨¤ncies del servidor Áú»¢¶Ä²©

# docker run --name zabbix-web-nginx-mysql -t \
             -e ZBX_SERVER_HOST="zabbix-server-mysql" \
             -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" \
             --network=zabbix-net \
             -p 80:8080 \
             --restart unless-stopped \
             -d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest

La inst¨¤ncia de la interf¨ªcie web de Áú»¢¶Ä²© exposa el port 80/TCP (HTTP) a l'equip.

Exemple 2

L'exemple ensenya com executar el servidor Áú»¢¶Ä²© amb suport de bases de dades PostgreSQL, la interf¨ªcie web Áú»¢¶Ä²© basada en el servidor web Nginx i la funci¨® de trampa SNMP.

1. Creeu una xarxa dedicada als contenidors de components Áú»¢¶Ä²©:

# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. Inicieu la inst¨¤ncia del servidor PostgreSQL buida

# docker run --name postgres-server -t \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="zabbix_pwd" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             --restart unless-stopped \
             -d postgres:latest

3. Inicieu la inst¨¤ncia Áú»¢¶Ä²© snmptraps

# docker run --name zabbix-snmptraps -t \
             -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
             -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
             --network=zabbix-net \
             -p 162:1162/udp \
             --restart unless-stopped \
             -d zabbix/zabbix-snmptraps:alpine-6.4-latest

La inst¨¤ncia snmptrap de Áú»¢¶Ä²© exposa el port 162/UDP (trampes SNMP) a l'equip.

4. Inicieu la inst¨¤ncia del servidor Áú»¢¶Ä²© i enllaceu la inst¨¤ncia amb la inst¨¤ncia del servidor PostgreSQL creada

# 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-6.4-latest

La inst¨¤ncia del servidor Áú»¢¶Ä²© exposa el port 10051/TCP (trapper Áú»¢¶Ä²©) a l'equip.

5. Inicieu la interf¨ªcie web de Áú»¢¶Ä²© i enllaceu la inst¨¤ncia amb el servidor PostgreSQL creat i les inst¨¤ncies del servidor Áú»¢¶Ä²©

# docker run --name zabbix-web-nginx-pgsql -t \
             -e ZBX_SERVER_HOST="zabbix-server-pgsql" \
             -e DB_SERVER_HOST="postgres-server" \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="zabbix_pwd" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             -p 443:8443 \
             -p 80:8080 \
             -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
             --restart unless-stopped \
             -d zabbix/zabbix-web-nginx-pgsql:alpine-6.4-latest

La inst¨¤ncia de la interf¨ªcie web de Áú»¢¶Ä²© exposa el port 443/TCP (HTTPS) a l'equip.
El directori /etc/ssl/nginx ha de contindre el certificat amb el nom necessari.

Exemple 3

L'exemple mostra com executar el servidor Áú»¢¶Ä²© amb suport de bases de dades MySQL, basat en la interf¨ªcie web de Áú»¢¶Ä²© al servidor web Nginx i a la passarel¡¤la Áú»¢¶Ä²© Java emprant "podman" a Red Hat 8.

1. Creeu un pod nou amb el nom "zabbix" i els ports exposats (interf¨ªcie web, trapper del servidor Áú»¢¶Ä²©):

podman pod create --name zabbix -p 80:8080 -p 10051:10051

2. (opcional) Inicieu el contenidor de l'agent Áú»¢¶Ä²© a la ubicaci¨® del pod zabbix:

podman run --name zabbix-agent \
           -e ZBX_SERVER_HOST="127.0.0.1,localhost" \
           --restart=always \
           --pod=zabbix \
           -d registry.connect.redhat.com/zabbix/zabbix-agent-64:latest

3. Creeu el directori ./mysql/ a l'equip i inicieu el servidor Oracle MySQL 8.0:

podman run --name mysql-server -t \
             -e MYSQL_DATABASE="zabbix" \
             -e MYSQL_USER="zabbix" \
             -e MYSQL_PASSWORD="zabbix_pwd" \
             -e MYSQL_ROOT_PASSWORD="root_pwd" \
             -v ./mysql/:/var/lib/mysql/:Z \
             --restart=always \
             --pod=zabbix \
             -d mysql:8.0 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password

4. Inicieu el contenidor del servidor Áú»¢¶Ä²©:

podman run --name zabbix-server-mysql -t \
                         -e DB_SERVER_HOST="127.0.0.1" \
                         -e MYSQL_DATABASE="zabbix" \
                         -e MYSQL_USER="zabbix" \
                         -e MYSQL_PASSWORD="zabbix_pwd" \
                         -e MYSQL_ROOT_PASSWORD="root_pwd" \
                         -e ZBX_JAVAGATEWAY="127.0.0.1" \
                         --restart=always \
                         --pod=zabbix \
                         -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-64

5. Inicieu el contenidor Áú»¢¶Ä²© Java Gateway:

podman run --name zabbix-java-gateway -t \
             --restart=always \
             --pod=zabbix \
             -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-64

6. Inicieu el contenidor de la interf¨ªcie web Áú»¢¶Ä²©:

podman run --name zabbix-web-mysql -t \
                         -e ZBX_SERVER_HOST="127.0.0.1" \
                         -e DB_SERVER_HOST="127.0.0.1" \
                         -e MYSQL_DATABASE="zabbix" \
                         -e MYSQL_USER="zabbix" \
                         -e MYSQL_PASSWORD="zabbix_pwd" \
                         -e MYSQL_ROOT_PASSWORD="root_pwd" \
                         --restart=always \
                         --pod=zabbix \
                         -d registry.connect.redhat.com/zabbix/zabbix-web-mysql-64

El pod zabbix exposa el port 80/TCP (HTTP) a l'equip des de 8080/TCP del contenidor zabbix-web-mysql.

Composici¨® Docker

Áú»¢¶Ä²© tamb¨¦ proporciona fitxers de composici¨® per definir i executar components Áú»¢¶Ä²© multicontenidor a Docker. Aquests fitxers de redacci¨® s¨®n disponibles al a GitHub

Els arxius Compose Official Áú»¢¶Ä²© suporten la versi¨® 3 de Docker Compose.

Aquests fitxers de composici¨® s'afegeixen com a exemples, es substitueixen. Per exemple, contenen proxys que admeten MySQL i SQLite3.

Per obtindre els arxius Compose de Docker, cloneu el repositori:

git clone https://github.com/zabbix/zabbix-docker.git

Canvieu a la versi¨® que us calgui:

git checkout 7.0

Compose els arxius de configuraci¨® i creeu i inicieu els contenidors:

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

Canvieu docker-compose_v3_alpine_mysql_latest.yaml a la comanda d'amunt amb l'arxiu de configuraci¨® necessari.

Les opcions seg¨¹ents s¨®n disponibles:

Nom del fitxer ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
docker-compose_v3_alpine_mysql_latest.yaml El fitxer de composici¨® executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Alpine Linux amb suport de bases de dades MySQL.
docker-compose_v3_alpine_mysql_local.yaml El fitxer de composici¨® crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Alpine Linux amb suport de bases de dades MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml El fitxer de composici¨® executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Alpine Linux amb suport de bases de dades PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml El fitxer Compose crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Alpine Linux amb suport de bases de dades PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml El fitxer de composici¨® executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Oracle Linux amb suport de bases de dades MySQL.
docker-compose_v3_ol_mysql_local.yaml El fitxer de composici¨® crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Oracle Linux amb suport de bases de dades MySQL.
docker-compose_v3_ol_pgsql_latest.yaml El fitxer de composici¨® executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Oracle Linux amb suport de bases de dades PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml El fitxer de composici¨® crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Oracle Linux amb suport de bases de dades PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml El fitxer de composici¨® executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Ubuntu 20.04 amb suport de bases de dades MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml El fitxer de composici¨® crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Ubuntu 20.04 amb suport de bases de dades MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml El fitxer Compose executa la darrera versi¨® dels components Áú»¢¶Ä²© 7.0 a Ubuntu 20.04 amb suport de bases de dades PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml El fitxer de composici¨® crea localment la darrera versi¨® de Áú»¢¶Ä²© 7.0 i executa components Áú»¢¶Ä²© a Ubuntu 20.04 amb suport de bases de dades PostgreSQL.

Emmagatzematge

Els fitxers de redacci¨® s¨®n configurats per admetre l'emmagatzematge local a un equip. Docker Compose crear¨¤ un directori zbx_env a la carpeta amb el fitxer de composici¨® quan executeu components Áú»¢¶Ä²© amb el fitxer de composici¨®. El directori contindr¨¤ la mateixa estructura que la descrita a la secci¨® Volums i el directori per emmagatzemar la base de dades.

Tamb¨¦ hi ha volums de nom¨¦s lectura per als fitxers /etc/localtime i /etc/timezone.

Variables d'entorn

Els fitxers de variables tenen la seg¨¹ent estructura de noms: .env_<tipus de component> i es troben al [directori] env_vars (https://github.com/zabbix/zabbix-docker/tree/trunk/env_vars) . Veieu variables d'entorn per obtindre m¨¦s informaci¨® sobre la denominaci¨® de variables i la selecci¨® disponible.

Exemples

Exemple 1

 git checkout 7.2
        docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

L'ordre descarregar¨¤ les darreres imatges de Áú»¢¶Ä²© 7.2 per a cada component Áú»¢¶Ä²© i les executar¨¤ en mode de separaci¨®.

No us oblideu de descarregar els fitxers .env_<tipus de component> del dip¨°sit oficial de Áú»¢¶Ä²© de github.com amb fitxers de redacci¨®.

Exemple 2

 git checkout 7.0
        docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d

L'ordre descarregar¨¤ la imatge base Ubuntu 22.04 (jammy), despr¨¦s crear¨¤ components de Áú»¢¶Ä²© 7.2 localment i els executar¨¤ en mode de separaci¨®.