https://zabbix.com/documentation/current/en/manual/installation/containers
1. custom network
docker network create --subnet 10.0.0.0/24 custom-net
云机地址 10.132.127.8, 各服务之间通讯需要使用
2. mysql
cat > mysql.yml << EOF
version: '3'
services:
mysql:
image: mysql:8.0
container_name: mysql
restart: unless-stopped
ports:
- 3306:3306
- 33060:33060
volumes:
- /data/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_HOST=%
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=*zabbix@2024*
- MYSQL_ROOT_PASSWORD=*root@2024*
command:
- mysqld
- --max_connections=1000
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --default-authentication-plugin=mysql_native_password
networks:
custom-net:
ipv4_address: 10.0.0.21
networks:
custom-net:
external: true
# networks:
# custom-net:
# driver: bridge
# ipam:
# config:
# - subnet: 10.0.0.0/24
# gateway: 10.0.0.1
EOF
mkdir /data/mysql
docker compose -f mysql.yml up -d
mysql -h 127.0.0.1 -u root -p
SET GLOBAL log_bin_trust_function_creators = 1;
3. zabbix-server
cat > zabbix-server.yml << EOF
version: '3'
services:
zabbix-server:
image: zabbix/zabbix-server-mysql:alpine-6.0.25
container_name: zabbix-server
restart: unless-stopped
ports:
- 10051:10051
volumes:
- /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
- /data/zabbix/modules:/var/lib/zabbix/modules
- /data/zabbix/enc:/var/lib/zabbix/enc
- /data/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys
- /data/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs
- /data/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys
- /data/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca
- /data/zabbix/snmptraps:/var/lib/zabbix/snmptraps
- /data/zabbix/mibs:/var/lib/zabbix/mibs
- /data/zabbix/export:/var/lib/zabbix/export
environment:
- TINI_SUBREAPER=true
- DB_SERVER_HOST=10.0.0.21
- DB_SERVER_PORT=3306
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=*zabbix@2024*
- ZBX_DEBUGLEVEL=0
- ZBX_TIMEOUT=30
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAY=10.132.127.8
- ZBX_CACHESIZE=16M
- ZBX_HISTORYCACHESIZE=16M
- ZBX_HISTORYINDEXCACHESIZE=16M
- ZBX_HOUSEKEEPINGFREQUENCY=12
- ZBX_MAXHOUSEKEEPERDELETE=100000
- ZBX_STARTPOLLERS=10
- ZBX_STARTDISCOVERERS=10
- ZBX_STARTPINGERS=10
- ZBX_STARTHISTORYPOLLERS=10
init: true
networks:
custom-net:
ipv4_address: 10.0.0.22
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:alpine-6.0.25
container_name: zabbix-web
restart: unless-stopped
ports:
- 29980:8080
- 29943:8443
volumes:
- /etc/timezone:/etc/timezone
- /etc/localtime:/etc/localtime
- /data/zabbix/ssl/nginx:/etc/ssl/nginx
- /data/zabbix/web/certs:/etc/zabbix/web/certs
environment:
- DB_SERVER_HOST=10.132.127.8
- DB_SERVER_PORT=3306
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=*zabbix@2024*
- ZBX_SERVER_HOST=10.132.127.8
- ZBX_SERVER_PORT=10051
- PHP_TZ=Asia/Shanghai
- PHP_FPM_PM=dynamic
- PHP_FPM_PM_MAX_CHILDREN=50
- PHP_FPM_PM_START_SERVERS=5
- PHP_FPM_PM_MIN_SPARE_SERVERS=5
- PHP_FPM_PM_MAX_SPARE_SERVERS=35
- PHP_FPM_PM_MAX_REQUESTS=0
networks:
custom-net:
ipv4_address: 10.0.0.23
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:alpine-6.0.25
container_name: zabbix-java-gateway
restart: unless-stopped
ports:
- 10052:10052
volumes:
- /data/zabbix/ext_lib:/usr/sbin/zabbix_java/ext_lib
environment:
- ZBX_START_POLLERS=10
- ZBX_TIMEOUT=30
- ZBX_DEBUGLEVEL=info
networks:
custom-net:
ipv4_address: 10.0.0.24
networks:
custom-net:
external: true
EOF
mkdir -p /data/zabbix/{alertscripts,externalscripts,modules,enc,ssh_keys,snmptraps,mibs,export}
mkdir -p /data/zabbix/ssl/{certs,keys,ssl_ca}
docker compose -f zabbix-server.yml up -d zabbix-server
docker compose -f zabbix-server.yml stop zabbix-server
按以下资料修改zabbix数据库字符集 https://www.cnblogs.com/ytyzhn/p/16986560.html
docker compose -f zabbix-server.yml start zabbix-server
mkdir -p /data/zabbix/ssl/nginx /data/zabbix/web/certs
docker compose -f zabbix-server.yml up -d zabbix-web
mkdir -p /data/zabbix/ext_lib
docker compose -f zabbix-server.yml up -d zabbix-java-gateway
4. zabbix-agent2
cat > zabbix-agent.yml << EOF
version: '3'
services:
zabbix-agent2:
image: zabbix/zabbix-agent2:alpine-6.0.25
container_name: zabbix-agent2
restart: always
ports:
- 10050:10050
- 15002:15002
- 31999:31999
volumes:
- /data/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
environment:
- TINI_SUBREAPER=true
- ZBX_HOSTNAME=zabbix-server
- ZBX_SERVER_HOST=10.132.127.8
- ZBX_PASSIVE_ALLOW=true
- ZBX_PASSIVESERVERS=0.0.0.0/0
- ZBX_ACTIVE_ALLOW=true
- ZBX_ACTIVESERVERS=0.0.0.0/0
- ZBX_TIMEOUT=30
- ZBX_DEBUGLEVEL=0
- ZBX_ENABLESTATUSPORT=true
privileged: true
init: true
networks:
custom-net:
ipv4_address: 10.0.0.25
networks:
custom-net:
external: true
EOF
mkdir -p /data/zabbix_agentd.d
docker compose -f zabbix-agent.yml up -d
5. 访问
http://10.132.127.8:29980
admin / zabbix
配置监控主机zabbix-server,ip 由 127.0.0.1 改为10.132.127.8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2017-01-10 老笔记本装xubuntu+win7