问题一:
数据库编码不支持,虽说utf8mb4是兼容 UTF8的但是,但zabbix还是会出现告警
尝试进入Oceanbase修改数据库默认字符集
alter database zabbix character set utf8;
查询后依旧是utf8mb4
MySQL [(none)]> show create database zabbix;
+----------+--------------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------------+
| zabbix | CREATE DATABASE `zabbix` DEFAULT CHARACTER SET = utf8mb4 REPLICA_NUM = 3 |
+----------+--------------------------------------------------------------------------+
1 row in set (0.003 sec)
查询一下目前数据库的字符集
MySQL [(none)]> show variables like 'character\_set\_%';
+--------------------------+---------+
| Variable_name | Value |
+--------------------------+---------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb4 |
+--------------------------+---------+
7 rows in set (0.004 sec)
到Oceanbase用户参考指南,发现不支持Utf8 。。。(⊙o⊙)…
问题二:
触发器问题严重性信息获取失败,这个问题可能是PHP获取数据延时
mysqli_query(): (25000/4012): Statement is timeout [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CController->run() → CControllerWidgetProblemsBySvView->doAction() → getSystemStatusData() → CFrontendApiWrapper->get() → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → call_user_func_array() → CTrigger->get() → CApiService->customFetch() → DBselect() → mysqli_query() in include/db.inc.php:364]
Error in query [SELECT t.triggerid,t.priority FROM triggers t WHERE t.triggerid IN (13475,13485,61738,61739,61740) AND NOT EXISTS (SELECT NULL FROM functions f,items i,hosts h WHERE t.triggerid=f.triggerid AND f.itemid=i.itemid AND i.hostid=h.hostid AND (i.status<>0 OR h.status<>0)) AND t.status=0 AND t.flags IN (0,4)] [Statement is timeout]
通过zabbix官方提供的错误问题反馈中,得知只是前端获取信息失败,需要打补丁
另外一个是查询超时
原文参考:https://support.zabbix.com/browse/ZBX-12346
问题三:
在迁移zabbix数据库时候,应为Oceanbase目前迁移未能有多种速效的方法,目前只使用 mysqldump导入方式,这里博主首先试迁移了zabbix的整个数据库,总共200多G 单张history_unit 表11亿行数据(应之前没有进行过分区) source了约一周,一张表还没导入,果断清除历史数据,保留监控项等信息导入 ,还有其他的一些小问题例如导入时有外键约束之类的 ,Oceanbase外键约束仅对 DML 操作有效,DDL 操作不受影响,忽略外键约束,或者重复导入解决。
以上是遇到的问题和部分解决方案,如果有什么更好的解决方法&问题 ,欢迎留言交流。Σσ(・Д・;)