225 lines
7.1 KiB
YAML
225 lines
7.1 KiB
YAML
### This will create a Zabbix server with six active proxies and a MySQL database.
|
|
### You need to configure proxies in Zabbix frontend after deployment.
|
|
### Adjust .env file for customization.
|
|
|
|
services:
|
|
mysql-server:
|
|
image: mysql:${MYSQL_VERSION:-8.4.0-oraclelinux8}
|
|
container_name: zabbix-mysql-server
|
|
command:
|
|
- 'mysqld'
|
|
- '--character-set-server=utf8mb4'
|
|
- '--collation-server=utf8mb4_bin'
|
|
- '--log-bin-trust-function-creators=1'
|
|
environment:
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
volumes:
|
|
- ./zabbix/mysql:/var/lib/mysql
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-server:
|
|
image: zabbix/zabbix-server-mysql:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-server
|
|
depends_on:
|
|
- mysql-server
|
|
ports:
|
|
- "${ZABBIX_SERVER_PORT}:10051"
|
|
environment:
|
|
- DB_SERVER_HOST=mysql-server
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- ZBX_STARTSNMPTRAPPER=${ZBX_STARTSNMPTRAPPER}
|
|
- ZBX_SNMPTRAPPERFILE=${ZBX_SNMPTRAPPERFILE}
|
|
- ZBX_CACHESIZE=${ZBX_CACHESIZE}
|
|
- ZBX_VALUECACHESIZE=${ZBX_VALUECACHESIZE}
|
|
- ZBX_TRENDCACHESIZE=${ZBX_TRENDCACHESIZE}
|
|
volumes:
|
|
- ./zabbix/alertscripts:/usr/lib/zabbix/alertscripts
|
|
- ./zabbix/externalscripts:/usr/lib/zabbix/externalscripts
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-web:
|
|
image: zabbix/zabbix-web-nginx-mysql:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-web
|
|
depends_on:
|
|
- mysql-server
|
|
- zabbix-server
|
|
ports:
|
|
- "${ZABBIX_WEB_PORT}:8080"
|
|
environment:
|
|
- DB_SERVER_HOST=mysql-server
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- PHP_TZ=${PHP_TIMEZONE}
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-01:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-01
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10101:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-01
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-01:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-02:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-02
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10102:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-02
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-02:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-03:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-03
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10103:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-03
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-03:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-04:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-04
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10104:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-04
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-04:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-05:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-05
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10105:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-05
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-05:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
zabbix-proxy-active-06:
|
|
image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
container_name: zabbix-proxy-active-06
|
|
depends_on:
|
|
- zabbix-server
|
|
ports:
|
|
- "10106:10051"
|
|
environment:
|
|
- ZBX_HOSTNAME=zabbix-proxy-active-06
|
|
- ZBX_SERVER_HOST=zabbix-server
|
|
- ZBX_PROXYMODE=0
|
|
- ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
- ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
- ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
- ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
- ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
volumes:
|
|
- ./zabbix/proxy-06:/var/lib/zabbix/db_data:rw
|
|
restart: unless-stopped
|
|
networks:
|
|
- zabbix-net
|
|
|
|
# zabbix-proxy-passive-03:
|
|
# image: zabbix/zabbix-proxy-sqlite3:${ZABBIX_VERSION:-latest}
|
|
# container_name: zabbix-proxy-passive-03
|
|
# depends_on:
|
|
# - zabbix-server
|
|
# ports:
|
|
# - "10103:10051"
|
|
# environment:
|
|
# - ZBX_HOSTNAME=zabbix-proxy-passive-03
|
|
# - ZBX_SERVER_HOST=zabbix-server
|
|
# - ZBX_PROXYMODE=1
|
|
# - ZBX_CACHESIZE=${PROXY_CACHE_SIZE}
|
|
# - ZBX_HISTORYCACHESIZE=${PROXY_HISTORY_CACHE_SIZE}
|
|
# - ZBX_HISTORYINDEXCACHESIZE=${PROXY_HISTORY_INDEX_CACHE_SIZE}
|
|
# - ZBX_PROXYBUFFERMODE=${PROXY_BUFFER_MODE}
|
|
# - ZBX_PROXYMEMORYBUFFERSIZE=${PROXY_MEMORY_BUFFER_SIZE}
|
|
# volumes:
|
|
# - ./zabbix/proxy-03:/var/lib/zabbix/db_data:rw
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - zabbix-net
|
|
|
|
networks:
|
|
zabbix-net:
|
|
driver: bridge
|