首批通过分布式安全可靠测评,为关键业务系统打造
使用 OceanBase 数据库作为元数据库部署 Zabbix
更新时间:2026-04-09 14:12:04
概述
Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位和解决存在的各种问题。本文介绍如何使用 OceanBase 数据库作为元数据库部署 Zabbix 监控系统。
版本兼容性
- OceanBase 数据库版本:≥ V4.2.1
- Zabbix 版本:≥ 7.x
前提条件
在使用 Zabbix 监控 OceanBase 数据库之前,确认:
- 您已完成部署 OceanBase 数据库并且创建了 MySQL 模式用户租户。创建用户租户的详细信息,参见 创建租户。
操作步骤
步骤一:获取数据库连接串
联系 OceanBase 数据库部署人员获取连接串,例如:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
$host:连接 IP。ODP 连接用 ODP 地址;直连用 OBServer IP。$port:连接端口。ODP 默认2883;直连默认2881。$database_name:数据库名称。注意
连接租户的用户需要拥有该数据库的
CREATE、INSERT、DROP和SELECT权限。更多有关用户权限的信息,请参见 MySQL 模式下的权限分类。$user_name:连接账户。ODP 格式:用户@租户#集群或集群:租户:用户;直连格式:用户@租户。$password:账户密码。
更多连接串的信息,请参见通过 OBClient 连接 OceanBase 租户 。
示例如下:
obclient -hxxx.xxx.xxx.xxx -P2883 -utest_user001@mysql001 -p****** -Dtest
步骤二:安装并配置 Zabbix
本文演示在 Ubuntu 22.04 操作系统上安装 Zabbix 7.4 为例,操作如下:
1. 添加 Zabbix 官方仓库
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb
apt update
2. 安装 Zabbix server,Web 前端,agent
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
3. 创建数据库用户并授权
-- 连接到 OceanBase 数据库
-- mysql -h$host -P2883 -utest_user001@mysql001 -p****** -Dtest
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'%' identified by '$zabbix_password';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> quit;
4. 在 OceanBase 中初始化 Zabbix SQL 脚本
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql -h$host -P$odp_port -uzabbix@mysql001 -p$zabbix_password -D zabbix --default-character-set=utf8mb4
5. 为 Zabbix server 配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf:
# DBHost=
DBHost=$host
# DBPassword=
DBPassword=$zabbix_password
# DBPort=
DBPort=$odp_port
DBHost 为 OceanBase 连接串中 $host ,示例:10.10.10.1。 DBPort 为 OceanBase ODP 端口 ,示例:2883。 DBPassword 为 数据库用户 zabbix 的密码。
6. 启动 Zabbix server 和 agent 进程
启动 Zabbix server 和 agent 进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
# 确认 zabbix 是否启动成功
systemctl status zabbix-server.service
步骤三:访问 Zabbix Web 界面完成安装
通过浏览器访问 Zabbix 服务地址:http://localhost/zabbix
- 在 Configure DB connection 页面配置数据库连接:
- Database type:选择 MySQL
- Database host:输入 OceanBase 数据库连接地址
- Database port:输入 OceanBase 数据库ODP连接端口
- Database name:输入 OceanBase 数据库名称
- User:输入 OceanBase 数据库用户名
- Password:输入 OceanBase 数据库密码
- 点击 Next step,最后 Finish 完成安装
步骤四:登录并使用 Zabbix
- 安装完成后,使用默认凭据登录 Zabbix:
- 用户名:Admin
- 密码:zabbix
- 登录后点击
Monitoring/Hosts可以查看 Zabbix Server 所在主机的相关指标。
常见问题
Q1:Unable to start Zabbix server due to unsupported MySQL database version (5.06.25)
原因:Zabbix 需要特定版本的 MySQL 兼容性。
解决方案:修改 ODP 参数,登录 sys 租户修改 mysql_version 参数:
obclient --default-character-set=utf8mb4 -u$user_name -p$password -h$host -P$port
alter proxyconfig set mysql_version='8.0.30';
Q2:初始化 zabbix SQL 脚本 Timeout
原因:SQL 脚本执行时间过长,超过了默认的超时设置。
解决方案:增大 Global ob_query_timeout 或者 query_timeout:
obclient -h$host -P$port -uroot@mysql001 -p$password -e 'set global ob_query_timeout=1000000000;'