欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
告警描述
监测当前 OCP 管理的 OceanBase 集群中是否存在不可连接的 OBServer 节点。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
参数 | 值 |
|---|---|
监控指标 | ob_connectable |
指标来源 | SQL:select 1; |
采集指标 | ob_connectable |
监控表达式 | min(oceanbase_connectivity{@LABELS}) by (@GBLABELS) |
采集周期 | 1 秒 |
规则信息
监控指标 | 默认阈值 | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
ob_connectable | 0 | 0 秒 | 10 秒 | 5 分钟 |
告警信息
告警触发方式 | 告警等级 | 范围 |
|---|---|---|
基于监控指标的表达式 | 停服 | 服务器 |
告警模板
- 告警概述模板:${alarm_target} ${alarm_name}
- 告警详情模板:集群:${ob_cluster_name},主机:${host},告警:${alarm_name}
- 告警概述样例:ob_cluster=obcluster-1:svr_ip=xxx.xxx.xxx.xxx OB 服务器无法连接
- 告警详情样例:集群:obcluster-1,主机:xxx.xxx.xxx.xxx,告警:OB 服务器无法连接
其中,${alarm_target} 的格式为 ob_cluster=xxxxxxx:svr_ip=xxxxxx。ob_cluster 为产生告警的集群的名称;svr_ip 为产生告警的集群中对应 OBServer 节点的 IP。
对系统的影响
部分主机的 OBServer 节点不可用,导致部分数据副本可用性下降。
可能原因
- observer 进程异常退出、负载过高无法响应请求。
- OBServer 节点机器故障导致 OBServer 节点不可访问。
处理方法
- 检查 OBServer 节点机器是否故障。
OBServer 节点机器是否可启动。
- 是,执行步骤 2。
- 否,则是 OBServer 节点机器故障导致 OBServer 节点不可访问,建议替换 OBServer 节点。
- 使用 ssh 命令登录 OBServer 节点机器看是否能正常登录。
- 是,可能是其他未知问题,请执行步骤 3。
- 否,则 OBServer 节点机器繁忙,建议参考如下命令重启 OBServer 节点。
- # 使用 admin 用户登录到 OBServer 节点所在机器
- # 尝试 kill
- pgrep observer | kill
- # 如果进程一直不退出,强制 kill
- pgrep observer | kill -9
- # 重新启动 OBServer 节点
- cd /home/admin/oceanbase && bin/observer
也可以在 OCP 集群 总览 页的 OBServer 列表 中发起重启任务。
若重启后仍无法连接,请执行步骤 3。
- 检查是否该 OBServer 节点负载过高或网络不通。
参考如下命令检查进程状态和资源使用情况。
# 查看进程是否存活,若未存活请重新启动。
ps aux | grep observer
# 如果 CPU 内存等资源使用过高,OBServer 节点可能无法正常工作。
# 查看 OBServer 节点的 CPU、内存使用率。
top -n 1 -p $(pgrep observer)
# 查看磁盘(数据盘、日志盘)剩余空间。
df | grep /data
# 查看 OBServer 节点网络连接数,若连接数为 0,可能网络故障。
netstat -anp | grep 2881 | wc -l
若以上问题都没有则继续执行下一步。
- 可能是其他未知问题,请参考如下方法收集日志信息并联系技术支持。
- 检查 OBServer 节点日志
一般而言,OBServer 节点产生的 ERROR 日志会在 OCP 产生告警信息,可先到 OCP 告警事件页面 查看是否存在 OB 日志告警。OBServer 节点的日志位于 /home/admin/oceanbase/log 。可首先查看后缀为 .wf 的文件,这类文件记录 WARN、ERROR 级别的日志。
- 检查 OS 日志,在 /var/log/messages 日志文件中搜索 error 关键字,观察系统返回的信息。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




