首批通过分布式安全可靠测评,为关键业务系统打造
ob_cluster_status_check_failed OB 集群状态检测失败
更新时间:2023-10-18 17:01:04
告警描述
该告警监测 OCP 对其管理的 OceanBase 集群进行的状态检测是否成功。若失败,则上报告警。
告警原理
OCP 服务器通过定时任务检测 OB 集群状态,该定时任务每 30s 执行一次,每次检测时会使用 OB SDK 连接 OceanBase 集群,若连接失败则触发告警。
规则信息
| 监控指标 | 默认阈值 | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| NA | NA | 0 秒 | 15 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| OCP 定时任务 | 严重 | 集群 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},告警:${alarm_name},集群状态:${ob_cluster_status}, 检查项:${check_item}, 失败原因:${failed_reason}
告警概述样例:ob_cluster=obcluster-1 OB 集群状态检测失败
告警详情样例:集群:obcluster-1,告警:OB 集群状态检测失败,集群状态:Unavailable,检查项:cluster connect check,失败原因:some reason
对系统的影响
可能带来如下影响:
OCP 无法连接 OBProxy。
OceanBase 集群状态异常。
可能原因
该告警的上报常见于以下几种原因:
OCP 与 OceanBase 集群连接失败。
是 OCP 与 OBServer 之间网络故障。
OceanBase 集群不可用,由 Root Service 无主或者 sys 租户存在无主的表导致。
OceanBase 数据库的 sys 租户异常导致无法登录,可能有如下原因:
sys 租户异常,如 ocp_monitor@sys 账号不存在。
sys 租户密码错误。
处理方法
如果 告警详情 中失败原因提示 Access Denied,则可能是 ocp_monitor@sys 账号被删除或该账号的密码被修改了。
使用 root@sys 账号黑屏登录 OceanBase 集群,并执行如下语句新建 ocp_monitor@sys 账号。
执行如下语句查看 ocp_monitor 账号及权限。
select user_name,priv_select from __all_user;查看返回信息中 user_name 字段值是否有 ocp_monitor,其对应的 priv_select 值是否为 1。
无 ocp_monitor,则执行如下语句创建 ocp_monitor 账号。
CREATE USER IF NOT EXISTS ocp_monitor IDENTIFIED BY 'your password';有 ocp_monitor,但其对应的 priv_select 值为 0,则执行如下语句为 ocp_monitor 账号赋 SELECT 全局权限。
GRANT SELECT ON *.* TO ocp_monitor;有 ocp_monitor 且其对应的 priv_select 值为 1,可能是 ocp_monitor 的密码有误,执行如下语句修改密码。
ALTER USER ocp_monitor IDENTIFIED BY 'your password';
参考 密码箱管理 将 ocp_monitor@sys 账号存到密码箱中。
若密码箱中已存了该集群的 ocp_monitor@sys 账号,请先删除。
如果 告警详情 中失败原因提示的是连接失败。
查看此时 OCP 中是否有关于该 OceanBase 集群的其他告警,
若有,则参考相关文档,优先处理其他告警,然后再观察该告警是否消除。
若无,则顺序执行步骤 2.
查看是否 OCP 与 OBServer 节点之间网络故障。
在 OCP 服务器上执行
obclient -hxxx.xxx.xxx.xxx -P2888 -u<用户名称>@<租户名词#集群名称> -p -Doceanbase命令查看是否能连接上该 OceanBase。
说明
若 OCP 通过 OBProxy 方式连接并管理该 OceanBase 集群,请将 IP 和端口换成 OBProxy 代理时使用的。
若不能连接上,请根据连接失败返回的信息进行排查。
若提示与网络故障相关,请联系您的网络管理员协助解决。
若 OBProxy 或 OBServer 节点程序故障,可以通过重启进程的方式恢复。
* OCP 部署的 OBProxy 日志文件位于 `/home/admin/logs/obproxy/log`。说明
OBProxy 或 OBServer 节点相关故障的确认,可查看如下日志:
* 手工部署 OBProxy 的日志文件位于 `/opt/taobao/install/obproxy-?/log`(`?` 的值取决于您安装的 OBProxy 版本)。 * OBServer 节点日志文件位于 `/home/admin/oceanbase/log`。- 若能连接上,则顺序执行下一步。
- 收集上述日志并联系 OCP 技术支持人员。