Ob für schnelle Tests oder den dauerhaften produktiven Einsatz: Mit Docker Compose lässt sich Zabbix flexibel, modular und wartbar installieren. In diesem Beitrag zeigen wir, wie Sie Zabbix mit minimalem Aufwand für Testzwecke einrichten oder eine skalierbare, wartungsfreundliche Umgebung für den langfristigen Betrieb schaffen können.
Docker Compose
```yaml
version: '3.5'
services:
mysql-server:
image: mysql:8.0
networks:
- zbx_net
command:
- mysqld
- --character-set-server=utf8
- --collation-server=utf8_bin
- --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_USER=${MYSQL_USER:-zabbix}
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-defaultpassword}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-rootpassword}
- ZBX_JAVAGATEWAY=${ZBX_JAVAGATEWAY:-zabbix-java-gateway}
ports:
- "3306:3306"
volumes:
- zabbix_mysql_data:/var/lib/mysql:rw
restart: always
zabbix-server-mysql:
image: zabbix/zabbix-server-mysql:alpine-latest
networks:
- zbx_net
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "10051:10051"
volumes:
- zabbix_alertscripts:/usr/lib/zabbix/alertscripts:ro
- zabbix_externalscripts:/usr/lib/zabbix/externalscripts:ro
- zabbix_export:/var/lib/zabbix/export:rw
- zabbix_modules:/var/lib/zabbix/modules:ro
- zabbix_enc:/var/lib/zabbix/enc:ro
- zabbix_ssh_keys:/var/lib/zabbix/ssh_keys:ro
- zabbix_mibs:/var/lib/zabbix/mibs:ro
- zabbix_snmptraps:/var/lib/zabbix/snmptraps:rw
environment:
- DB_SERVER_HOST=${DB_SERVER_HOST:-mysql-server}
- MYSQL_DATABASE=${MYSQL_DATABASE:-zabbixdb}
- MYSQL_USER=${MYSQL_USER:-zabbix}
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-defaultpassword}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-rootpassword}
- ZBX_JAVAGATEWAY=${ZBX_JAVAGATEWAY:-zabbix-java-gateway}
depends_on:
- mysql-server
restart: always
zabbix-web-nginx-mysql:
image: zabbix/zabbix-web-nginx-mysql:alpine-latest
networks:
- zbx_net
ports:
- "10053:8080"
- "10054:8443"
volumes:
- zabbix_nginx_ssl:/etc/ssl/nginx:ro
- zabbix_nginx_modules:/usr/share/zabbix/modules/:ro
environment:
- ZBX_SERVER_HOST=${ZBX_SERVER_HOST:-zabbix-server-mysql}
- DB_SERVER_HOST=${DB_SERVER_HOST:-mysql-server}
- MYSQL_DATABASE=${MYSQL_DATABASE:-zabbixdb}
- MYSQL_USER=${MYSQL_USER:-zabbix}
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-defaultpassword}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-rootpassword}
depends_on:
- mysql-server
- zabbix-server-mysql
restart: always
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:alpine-6.0-latest
networks:
- zbx_net
ports:
- "10052:10052"
restart: always
networks:
zbx_net:
driver: bridge
volumes:
zabbix_mysql_data:
zabbix_alertscripts:
zabbix_externalscripts:
zabbix_export:
zabbix_modules:
zabbix_enc:
zabbix_ssh_keys:
zabbix_mibs:
zabbix_snmptraps:
zabbix_nginx_ssl:
zabbix_nginx_modules:
Kommentare