Zabbix 是一款基于 Web 的企业级开源监控系统,支持分布式部署,能实时监控各种网络设备与服务器指标,保障系统稳定运行。本文将手把手带你搭建一个基于 YashanDB 的 Zabbix 监控平台!

一、Zabbix 简介

Zabbix 架构主要包括:

Server:负责数据采集与触发器处理;

Proxy:代理采集并中转监控数据;

Agent:安装在被监控主机上,采集本地资源信息;

UI:Web 管理界面;

DB:用于存储所有监控数据。

在本方案中,Zabbix 的数据库后端使用 YashanDB,连接方式通过 OCI 接口。
image.png

二、部署流程概览

步骤一:部署 YashanDB 数据库

生成安装配置文件;

安装 YashanDB;

启动数据库;

修改 sys 用户密码;

配置环境变量。

步骤二:部署 Zabbix Server

安装 Oracle OCI 依赖;

编译安装 Zabbix;

配置数据库,导入表结构和初始数据。

步骤三:部署 PHP 环境

安装 PHP 7.4 及以上版本及依赖模块;

配置 PHP 与 OCI8 扩展,连接 YashanDB。

步骤四:配置 Nginx 与 Zabbix Web 界面

配置 nginx;

搭建 Zabbix UI;

配置 Zabbix Server 与 Agent。

步骤五:启动并验证系统

三、关键操作细节

  1. 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
  1. Zabbix Server 编译安装

下载 Zabbix 源码包,编译时开启 Oracle 支持:

./configure --prefix=/data/zabbix/ --enable-server --enable-agent --with-oracle=yes
make && make install

需要安装 Oracle Instant Client 库,提供 oci 依赖。

  1. 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 函数。

  1. 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 能正常识别。

  1. Nginx 与 Zabbix Web 配置

配置 nginx 虚拟主机,设置好 root 目录;

拷贝 Zabbix UI 界面文件;

修改 zabbix.conf.php 配置数据库连接信息,指向 YashanDB。

  1. 启动服务
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
image.png
登录默认账户;
image.png

配置主机和 Agent;
image.png

查看各项监控指标图表。

至此,一个基于 YashanDB 的 Zabbix 全链路监控平台搭建完成!

五、常见问题小贴士

OCI 连接异常:确认环境变量是否正确,phpinfo 检查 oci8 是否加载;

表结构不兼容:记得适配 Zabbix 官方 SQL 脚本,特别是大字段插入方式;

性能优化:生产环境建议调整 Zabbix Server 线程数,合理规划数据库表空间。


数据库砖家
1 声望0 粉丝