zabbix 部署
最近需要调查 zabbix 相关问题,所以急需部署一个 zabbix,以下是 AI 生成内容,且经过本人在 ubuntu 24.04 实际测试通过。
下面是一个完整、简洁的教程,教你如何在 Ubuntu 上使用 Docker 部署 Zabbix(含前端 + 数据库)。
✅ 教程目标
在 Ubuntu 系统中,使用 Docker 快速部署一套 Zabbix 6.x + PostgreSQL + Web UI 的系统。
🧰 前置条件
- 
已安装 Docker 和 Docker Compose
 - 
系统为 Ubuntu 18.04+,建议 20.04/22.04
 - 
至少 2GB 内存(推荐 4GB)
 
如果未安装 Docker:
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker --now
sudo usermod -aG docker $USER  # 使当前用户可以运行 docker(需要重启登录)
📦 步骤 1:准备 docker-compose.yml
创建一个目录:
mkdir ~/zabbix-docker && cd ~/zabbix-docker
创建 docker-compose.yml:
version: '3.5'
services:
  postgres:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: zabbix_pass
      POSTGRES_DB: zabbix
    volumes:
      - ./pgdata:/var/lib/postgresql/data
  zabbix-server:
    image: zabbix/zabbix-server-pgsql:alpine-6.0-latest
    restart: unless-stopped
    environment:
      DB_SERVER_HOST: postgres
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: zabbix_pass
    ports:
      - "10051:10051" 
    depends_on:
      - postgres
  zabbix-web:
    image: zabbix/zabbix-web-nginx-pgsql:alpine-6.0-latest
    restart: unless-stopped
    environment:
      DB_SERVER_HOST: postgres
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: zabbix_pass
      ZBX_SERVER_HOST: zabbix-server
      PHP_TZ: Asia/Shanghai
    ports:
      - "8080:8080"
    depends_on:
      - zabbix-server
  zabbix-agent:
    image: zabbix/zabbix-agent:alpine-6.0-latest
    restart: unless-stopped
    environment:
      ZBX_SERVER_HOST: zabbix-server
    depends_on:
      - zabbix-server
🚀 步骤 2:启动服务
在目录中执行:
docker-compose up -d
查看状态:
docker-compose ps
🌐 步骤 3:访问 Zabbix
打开浏览器,访问:
http://<你的Ubuntu主机IP>:8080
首次打开会进入初始化界面,点击下一步即可。默认账号密码:
-用户名:Admin
-密码:zabbix
🛠️ 常见管理命令
- 
停止服务:
docker-compose down - 
查看日志:
docker-compose logs -f - 
重启服务:
docker-compose restart 
📝 提示
- 
你可以将
POSTGRES_PASSWORD和PHP_TZ改成你需要的值。 - 
如需挂载配置文件、自定义 Zabbix server.conf,可在容器中配置挂载。
 - 
若需长期部署,建议把 PostgreSQL 存储路径挂载至外部盘或独立容器卷。
 
✅ 完成!
你现在已经在 Ubuntu 上成功使用 Docker 部署了 Zabbix。如果你需要添加 Windows/Linux 主机的监控代理,或者集成邮件/钉钉告警,可以继续告诉我,我可以一步步帮你配置。
下面是 在 Windows 上安装 Zabbix Agent 并连接到你 Docker 中部署的 Zabbix Server(在 Ubuntu 上) 的完整步骤:
✅ 一、准备工作
你已经完成了:
- 
在 Ubuntu 上部署了 Zabbix Server(通过 Docker Compose)
 - 
并知道了 Zabbix Server 的 IP 地址或域名
 
✅ 二、Windows 上安装 Zabbix Agent
1. 下载 Agent
前往 Zabbix 官网下载:
🔗 https://www.zabbix.com/download_agents
选择:
- 
Platform:
Windows - 
Version:
6.0 LTS(或和你服务器一致的版本) - 
Architecture:
amd64 - 
Package type:
MSI 
示例文件名类似:
zabbix_agent-6.0.23-windows-amd64-openssl.msi
2. 安装
双击 .msi 进行安装。安装向导中填写以下参数:
| 项目 | 示例 | 
|---|---|
| Server or Proxy | 192.168.1.100(Zabbix Server 的 IP) | 
| Agent hostname | windows-host-01(可自定义) | 
其他保持默认即可。
3. 安装后配置(可选)
配置文件路径:
C:\Program Files\Zabbix Agent\zabbix_agentd.conf
可编辑该文件手动调整:
Server=192.168.1.100         # Zabbix Server IP
ServerActive=192.168.1.100   # 同上
Hostname=windows-host-01     # 与 Zabbix 前端中的 Host 保持一致
修改后需重启服务:
sc stop "Zabbix Agent"
sc start "Zabbix Agent"
✅ 三、在 Zabbix Web 前端添加主机
- 
登录 Zabbix Web UI
 - 
进入 Configuration → Hosts
 - 
点击右上角 Create host
 - 
填写:
 
| 字段 | 内容 | 
|---|---|
| Host name | windows-host-01 | 
| Group | Windows servers(可新建) | 
| Agent interface | 填 Windows IP,如 192.168.1.101 | 
- 切换到 Templates 标签页,添加模板:
 
Template OS Windows by Zabbix agent
- 保存
 
✅ 四、验证
- 
等待 1~2 分钟,在 Monitoring → Latest Data 页面中搜索主机名,应该能看到数据。
 - 
在 Monitoring → Problems 可以查看是否通信正常。
 
🛠️ 故障排查建议
| 问题 | 排查方法 | 
|---|---|
| Agent 状态未上线 | 检查防火墙端口 10050(Agent 默认端口)是否开启 | 
| Server 无法主动发现 | ServerActive 要设置为 Zabbix Server 的 IP | 
| 名称不一致 | Hostname 与前端配置的 Host 名应严格一致 | 
| Agent 日志查看 | C:\Program Files\Zabbix Agent\zabbix_agentd.log | 
需要我也帮你写一份用于自动安装的 PowerShell 脚本吗?例如在企业场景中批量安装 Agent。