基于博客(originspace.work)搭建的zibbix监控平台
用 Docker Compose 部署 Zabbix 监控非常标准且模块化。针对现有的单台云主机(内存有限)环境,推荐使用 Zabbix 6.0 LTS / 7.0 LTS + 极轻量的 SQLite3 引擎 或者 复用已有 MySQL 8.0。
考虑到小规格服务器的内存压力,最轻量、最不抢资源的方式是采用 SQLite3 作为 Zabbix Server 底层(不需要再单独跑一个吃几百兆内存的专用 MySQL 实例)。
一、 目录规划与准备工作
先规划好独立的运行目录:
Bash
mkdir -p /opt/zabbix
cd /opt/zabbix
确保之前的自定义共享网络 web-net 存在(已创建过可直接复用):
Bash
docker network ls | grep web-net
二、 编写 Docker Compose 文件
创建并编辑 /opt/zabbix/docker-compose.yml:
Bash
vim /opt/zabbix/docker-compose.yml
写入以下配置(采用官方轻量级 SQLite3 方案,自带 Server + Nginx Web 前端 + 采集客户端 Agent):
YAML
version: '3.8'
services:
zabbix-server:
image: zabbix/zabbix-server-sqlite3:ubuntu-6.0-latest
container_name: zabbix-server
restart: unless-stopped
ports:
- "10051:10051" # Zabbix Server 接收 Agent 数据的主端口
volumes:
- ./zbx_env/var/lib/zabbix:/var/lib/zabbix
- ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
networks:
- default
zabbix-web:
image: zabbix/zabbix-web-nginx-sqlite3:ubuntu-6.0-latest
container_name: zabbix-web
restart: unless-stopped
ports:
- "8088:8080" # 映射到宿主机的 8088 端口访问 Web 界面
environment:
- ZBX_SERVER_HOST=zabbix-server
- PHP_TZ=Asia/Shanghai
depends_on:
- zabbix-server
volumes:
- ./zbx_env/var/lib/zabbix:/var/lib/zabbix
networks:
- default
zabbix-agent:
image: zabbix/zabbix-agent:ubuntu-6.0-latest
container_name: zabbix-agent
restart: unless-stopped
privileged: true # 提权以采集宿主机底层真实硬件指标
pid: host # 共享主机 PID 命名空间,监控宿主机真实进程
ports:
- "10050:10050"
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=zabbix-server
volumes:
- /:/host/root:ro # 挂载宿主机根目录(只读),采集磁盘状态
- /var/run:/var/run:rw
- /proc:/host/proc:ro # 采集宿主机真实 CPU/内存指标
- /sys:/host/sys:ro
networks:
- default
networks:
default:
name: web-net
external: true
三、 启动与初始化
拉取并后台启动:
Bash
cd /opt/zabbix docker compose up -d检查容器运行状态:
Bash
docker compose ps确认
zabbix-server、zabbix-web、zabbix-agent三个容器均为Up状态。
四、 访问 Web 控制台与默认账号
临时直连访问(需在阿里云安全组放行 8088 端口): 在浏览器直接打开:
Plaintext
http://你的服务器IP:8088默认管理员登录凭证:
Username:
Admin(注意首字母大写)Password:
zabbix
中文界面设置: 登录后点击左下角的 User settings(用户设置) -> User 选项卡 -> Language 改为 Chinese (zh_CN),点击 Update 即可切换为全中文界面。
五、 接入 NPM 反代与监控博客
通过 NPM 绑定域名(推荐):
在你的域名解析里加一条二级域名(例如
zabbix.originspace.work解析到 ECS 公网 IP)。在 NPM 面板添加一条 Proxy Host:
Forward Hostname / IP:填
zabbix-webForward Port:
8080申请 Let's Encrypt 证书并强制开启 HTTPS。
监控博客连通性(Web 场景监控):
进入 Zabbix 网页端:配置 (Configuration) -> 主机 (Hosts)。
点击已有主机或新建主机,进入 Web 场景 (Web scenarios)。
点击 创建 Web 场景:
名称填
Halo-Blog-Check。在 步骤 (Steps) 里添加:URL 填
[https://originspace.work](https://originspace.work),要求的状态码填200。
这样一旦博客容器异常、宕机或报 502/504,Zabbix 仪表盘会立刻触发报警。
基于博客(originspace.work)搭建的zibbix监控平台
https://originspace.work/archives/ji-yu-bo-ke-ori
评论