Docker 快速搭建 Zabbix(PostgreSQL + Server + Web + Agent)
下面是一套可落地的 Docker 启动顺序,适合单机验证。生产请改强密码、钉版本、加数据卷。
启动命令
docker network create zabbix-net
docker run -d --name postgres-server \
--network=zabbix-net --restart unless-stopped \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD='请改成强密码' \
-e POSTGRES_DB=zabbix \
postgres:16
docker run -d --name zabbix-server-pgsql \
--network=zabbix-net --restart unless-stopped \
-e DB_SERVER_HOST=postgres-server \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD='请改成强密码' \
-e POSTGRES_DB=zabbix \
-p 10051:10051 \
zabbix/zabbix-server-pgsql:7.0-alpine
docker run -d --name zabbix-web-nginx-pgsql \
--network=zabbix-net --restart unless-stopped \
-e ZBX_SERVER_HOST=zabbix-server-pgsql \
-e DB_SERVER_HOST=postgres-server \
-e POSTGRES_USER=zabbix \
-e POSTGRES_PASSWORD='请改成强密码' \
-e POSTGRES_DB=zabbix \
-p 8080:8080 \
zabbix/zabbix-web-nginx-pgsql:7.0-alpine
docker run -d --name zabbix-agent \
--network=zabbix-net --restart unless-stopped \
-e ZBX_SERVER_HOST=zabbix-server-pgsql \
-e ZBX_HOSTNAME=zabbix-agent \
-p 10050:10050 \
zabbix/zabbix-agent:7.0-alpine
上线检查
- Web:
http://服务器IP:8080可打开 - Server 日志无数据库认证错误
- 前端主机名与 Agent 的
ZBX_HOSTNAME一致 - Agent 可用性为绿色;若 empty response,查 10050/10051 与主机名
常见坑
- 不要把 Web 的
ZBX_SERVER_HOST填成 Web 自己 latest方便但不可复现,建议钉小版本- 数据库与 Server 首次初始化较慢,不要刚启动就判失败
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 HT Notes