森先木易
#1
【 使用环境 】生产环境
【 OB or 其他组件 】 OBserver
【 使用版本 】 4.2.1.7
【问题描述】OCP告警中心发现有二个长时间的活跃告警,一个是备租户同步延迟过大,一个是租户长时间未发起冻结。
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
告警事件:
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
根据您提供的信息,您遇到了两个告警问题:一个是“备租户同步延迟过大”,另一个是“租户长时间未发起冻结”。以下是针对这两个问题的具体分析和建议:
备租户同步延迟过大
问题描述
OCP 告警中心显示备租户同步延迟过大,具体表现为备租户与主租户的同步延迟时间超过了 600 秒。
可能原因
-
网络延迟:主备集群之间的网络延迟较高,导致日志同步不及时。
-
主库压力大:主库的负载较高,导致日志生成速度超过备库的同步速度。
-
备库性能不足:备库的硬件性能不足,无法及时处理同步过来的日志。
解决方法
-
检查网络延迟:
- 使用
ping
或 traceroute
命令检查主备集群之间的网络延迟。
- 确保网络带宽足够,避免网络拥塞。
-
优化主库性能:
- 检查主库的负载情况,确保没有过多的慢查询或大事务。
- 优化慢查询,减少主库的压力。
-
提升备库性能:
- 检查备库的硬件配置,确保其能够处理同步过来的日志。
- 如果必要,可以考虑增加备库的硬件资源。
-
调整同步参数:
- 可以尝试调整主备同步的参数,如
sync_redo_log_timeout
和 sync_redo_log_interval
,以优化同步性能。
监控指标
-
监控指标:
sync_delay_time
-
数据来源:由 OCP-Server 采集内部表
v$OB_CLUSTER
的 CURRENT_SCN
字段值。
-
采集周期:60 秒
-
监控表达式:
max(sync_delay_time{@LABELS}) by (@GBLABELS)
租户长时间未发起冻结
问题描述
OCP 告警中心显示租户长时间未发起冻结,具体表现为租户在较长时间内没有进行冻结操作。
可能原因
-
业务需求:某些业务场景下,租户可能不需要频繁进行冻结操作。
-
配置问题:租户的冻结策略配置不当,导致冻结操作未能按时执行。
解决方法
-
检查业务需求:
- 确认是否真的需要频繁进行冻结操作。如果业务需求不需要频繁冻结,可以忽略此告警。
-
调整冻结策略:
-
手动触发冻结:
总结
-
备租户同步延迟过大:检查网络延迟、优化主库性能、提升备库性能、调整同步参数。
-
租户长时间未发起冻结:检查业务需求、调整冻结策略、手动触发冻结。
希望以上建议能帮助您解决问题。如果问题仍然存在,建议联系 OceanBase 的技术支持人员进行进一步排查。
更多信息请查看:
- ob_tenant_no_frozen OB 租户长时间未冻结
- OCP V3.3.0
- standby_tenant_sync_delay_too_long 备租户同步延时过大
- ob_cluster_sync_delay_time_too_long 主备集群同步延迟过大告警
- ob_tenant_no_compaction OB 租户长时间未合并
- OceanBase Sysbench 高性能部署和问题分析
- 监控告警
- 4000 ~ 4499
- SYS 租户/RS 服务问题
- 4500 ~ 4999
论坛小助手
#5
根据您提供的告警详情图片,我们可以更详细地分析和解决这两个告警问题。
备租户同步延迟过大
告警详情
-
告警 ID: 21
-
告警名称:
standby_tenant_sync_delay_too_long
-
告警时间: 2024年10月18日 23:01:40
-
告警对象:
loongair_ob_slave:1723026360 / loongair_ob_cx
-
告警内容:
loongair_ob_slave
集群中的 loongair_ob_cx
租户同步延迟过大,当前同步延迟时间为 115109256 秒。
可能原因
-
网络延迟:主备集群之间的网络延迟较高,导致日志同步不及时。
-
主库压力大:主库的负载较高,导致日志生成速度超过备库的同步速度。
-
备库性能不足:备库的硬件性能不足,无法及时处理同步过来的日志。
解决方法
-
检查网络延迟:
- 使用
ping
或 traceroute
命令检查主备集群之间的网络延迟。
- 确保网络带宽足够,避免网络拥塞。
-
优化主库性能:
- 检查主库的负载情况,确保没有过多的慢查询或大事务。
- 优化慢查询,减少主库的压力。
-
提升备库性能:
- 检查备库的硬件配置,确保其能够处理同步过来的日志。
- 如果必要,可以考虑增加备库的硬件资源。
-
调整同步参数:
- 可以尝试调整主备同步的参数,如
sync_redo_log_timeout
和 sync_redo_log_interval
,以优化同步性能。
监控指标
-
监控指标:
sync_delay_time
-
数据来源:由 OCP-Server 采集内部表
v$OB_CLUSTER
的 CURRENT_SCN
字段值。
-
采集周期:60 秒
-
监控表达式:
max(sync_delay_time{@LABELS}) by (@GBLABELS)
租户长时间未发起冻结
告警详情
-
告警 ID: 43
-
告警名称:
ob_tenant_no_frozen
-
告警时间: 2024年10月5日 19:05:01
-
告警对象:
loongair_ob_slave:1723026360 / loongair_ob_cx
-
告警内容:
loongair_ob_slave
集群中的 loongair_ob_cx
租户长时间未发起冻结,当前未冻结时间为 48 天 10 小时 4 分 55258 秒,超过 90000 秒。
可能原因
-
业务需求:某些业务场景下,租户可能不需要频繁进行冻结操作。
-
配置问题:租户的冻结策略配置不当,导致冻结操作未能按时执行。
解决方法
-
检查业务需求:
- 确认是否真的需要频繁进行冻结操作。如果业务需求不需要频繁冻结,可以忽略此告警。
-
调整冻结策略:
-
手动触发冻结:
总结
-
备租户同步延迟过大:
- 检查网络延迟、优化主库性能、提升备库性能、调整同步参数。
- 监控指标:
sync_delay_time
-
租户长时间未发起冻结:
希望以上建议能帮助您解决问题。如果问题仍然存在,建议联系 OceanBase 的技术支持人员进行进一步排查。
更多信息请查看:
- ob_tenant_no_frozen OB 租户长时间未冻结
- OCP V3.3.0
- standby_tenant_sync_delay_too_long 备租户同步延时过大
- ob_cluster_sync_delay_time_too_long 主备集群同步延迟过大告警
- ob_tenant_no_compaction OB 租户长时间未合并
- OceanBase Sysbench 高性能部署和问题分析
- 监控告警
- 4000 ~ 4499
- SYS 租户/RS 服务问题
- 4500 ~ 4999
检索到的文档如下:
- 内存诊断
- 连接诊断
- ROUTE_INFO
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
森先木易
#6
当前问题处理需求:
对于这个两个告警都是一个租户,且时间时间基本一致,所以合理怀疑租户长时间未冻结,可能是导致租户同步延迟过大的原因。
1、协助我找到此问题的基本原因和解决方案。
淇铭
#9
梳理一下:
1、有两个主备租户
2、一个主备租户同步正常
3、一个主备租户同步不正常 (主租户的冻结 转储 合并都正常 备租户的冻结 转储 合并不正常)