Zabbix 是一款基于 Web 的企业级开源监控系统,支持分布式部署,能实时监控各种网络设备与服务器指标,保障系统稳定运行。本文将手把手带你搭建一个基于 YashanDB 的 Zabbix 监控平台!
一、Zabbix 简介
Zabbix 架构主要包括:
Server:负责数据采集与触发器处理;
Proxy:代理采集并中转监控数据;
Agent:安装在被监控主机上,采集本地资源信息;
UI:Web 管理界面;
DB:用于存储所有监控数据。
在本方案中,Zabbix 的数据库后端使用 YashanDB,连接方式通过 OCI 接口。
二、部署流程概览
步骤一:部署 YashanDB 数据库
生成安装配置文件;
安装 YashanDB;
启动数据库;
修改 sys 用户密码;
配置环境变量。
步骤二:部署 Zabbix Server
安装 Oracle OCI 依赖;
编译安装 Zabbix;
配置数据库,导入表结构和初始数据。
步骤三:部署 PHP 环境
安装 PHP 7.4 及以上版本及依赖模块;
配置 PHP 与 OCI8 扩展,连接 YashanDB。
步骤四:配置 Nginx 与 Zabbix Web 界面
配置 nginx;
搭建 Zabbix UI;
配置 Zabbix Server 与 Agent。
步骤五:启动并验证系统
三、关键操作细节
- YashanDB 安装
使用 yasboot 工具快速完成数据库的安装和部署,注意配置好 hosts.toml 文件,并提前规划好安装路径与端口。
需要额外安装:
yashandb-oci(OCI接口库)
yashandb-client(客户端工具包)
确保环境变量正确设置:
export YASOCI_PATH=/data/yashandb-oci
export YASCLI_PATH=/data/yashandb-client/lib
export LD_LIBRARY_PATH=$YASOCI_PATH:$YASCLI_PATH:$LD_LIBRARY_PATH
- Zabbix Server 编译安装
下载 Zabbix 源码包,编译时开启 Oracle 支持:
./configure --prefix=/data/zabbix/ --enable-server --enable-agent --with-oracle=yes
make && make install
需要安装 Oracle Instant Client 库,提供 oci 依赖。
- YashanDB 数据库准备
创建 Zabbix 用户及表空间:
create tablespace ZABBIX datafile '?/dbfiles/ZABBIX_DATA' size 2G autoextend on;
create user ZABBIX identified by 123456 default tablespace ZABBIX;
grant dba to ZABBIX;
修改 Zabbix 自带 SQL 文件以适配 YashanDB 特性:
补充 commit; 语句;
调整大字段插入方式(如 images.sql);
移除不支持的 TO_NCLOB 函数。
- PHP 与 OCI8 扩展配置
需要 PHP 7.4 及以上版本,并安装 oci8 扩展。
为了兼容 YashanDB 的 OCI 接口,需要重新基于 libyas_oci.so 编译安装 oci8:
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/21/client64/lib/
make && make install
添加 oci8.so 到 php.ini 配置中,确保 php-fpm 能正常识别。
- Nginx 与 Zabbix Web 配置
配置 nginx 虚拟主机,设置好 root 目录;
拷贝 Zabbix UI 界面文件;
修改 zabbix.conf.php 配置数据库连接信息,指向 YashanDB。
- 启动服务
systemctl restart php-fpm nginx
/data/zabbix/sbin/zabbix_server
/data/zabbix/sbin/zabbix_agentd -c /data/zabbix/etc/zabbix_agentd.conf
可以进一步把 Zabbix 服务注册到 systemctl 管理,提升运维便捷性。
四、效果展示
访问 Web 页面,例如:
http://192.168.24.49/index.php
登录默认账户;
配置主机和 Agent;
查看各项监控指标图表。
至此,一个基于 YashanDB 的 Zabbix 全链路监控平台搭建完成!
五、常见问题小贴士
OCI 连接异常:确认环境变量是否正确,phpinfo 检查 oci8 是否加载;
表结构不兼容:记得适配 Zabbix 官方 SQL 脚本,特别是大字段插入方式;
性能优化:生产环境建议调整 Zabbix Server 线程数,合理规划数据库表空间。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。