首批通过分布式安全可靠测评,为关键业务系统打造
host_ntp_offset_too_large 服务器与时钟源偏移过大
更新时间:2026-04-14 11:55:54
告警描述
当 OCP 管理的服务器与时钟源之间的时钟偏移大于 100 毫秒时触发该告警。
告警原理
下表列出了该告警监控逻辑中涉及的关键参数。
| 参数 | 值 |
|---|---|
| 监控指标 | host_ntp_offset_milliseconds 该指标表示服务器与时钟源的时间差,当时间差值大于阈值(默认为 100 毫秒)或时钟同步服务不可用时触发告警。 |
| 指标来源 | 该告警的指标来源相对特殊,由 OCP-Agent 使用时钟服务来获取时钟偏移数据。默认使用 ntpq 获取时钟偏移,采集命令是 ntpq -p,取其中以 * 开头的数据行中 offset 字段。如果主机上不存在 ntpq 而存在 chronyc,则使用 chronyc 采集时钟偏移,采集命令为 chronyc tracking -n,取其中的 Last offset。 |
| 采集指标 | node_ntp_offset_seconds |
| 监控表达式 | max(abs(node_ntp_offset_seconds{@LABELS})) by (@GBLABELS) * 1000 |
| 采集周期 | 1s |
规则信息
| 监控指标 | 默认阈值(单位:毫秒) | 持续时间 | 检测周期 | 消除周期 |
|---|---|---|---|---|
| host_ntp_offset_milliseconds | 100 | 0 | 60 秒 | 5 分钟 |
告警信息
| 告警触发方式 | 告警等级 | 范围 |
|---|---|---|
| 基于监控指标的表达式 | 停服 | 服务器 |
告警模板
告警概述模板:${alarm_target} ${alarm_name}
告警详情模板:集群:${ob_cluster_name},主机:${host},告警:${alarm_name},时钟偏移(${value_shown})超过阈值(${alarm_threshold} 毫秒)
告警概述样例:svr_ip=xxx.xxx.xxx.xxx 服务器与时钟源偏移过大
告警详情样例:集群:obCluster: obcluster-1,主机:xxx.xxx.xxx.xxx,告警:服务器与时钟源偏移过大,时钟偏移(0.041 毫秒)超过阈值( 0.001 毫秒)
其中,${alarm_target} 表示产生告警的对象,格式为 svr_ip=xx.xx.xx.xx。
对系统的影响
OceanBase 分布式的实现依赖主机的时钟偏移在限定的范围内,如果时钟偏移过多,OBServer 则无法正常工作。
可能原因
OCP 管理的服务器与 NTP 服务器之间产生较大时间差异的原因如下:
时钟源(即 NTP 服务器)异常。
OCP 管理的服务器与时钟源之间的网络异常,导致不能自动从时钟源同步时间。
时钟同步服务异常,导致不能自动从时钟源同步时间。
处理方法
检查 OCP 服务器时钟是否正常。
查看 OCP 上是否同时上报了多个该告警。
否,则继续执行步骤 2。
是,则 OCP 服务器的异常
建议先确保 OCP 服务器正常,然后参考步骤 4 调整 OCP 服务器时间,等待 5 分钟观察该告警是否继续上报。
检查 OCP 管理的主机与 OCP 服务器之间的网络是否正常。
正常,则继续执行步骤 3。
异常,则调整网络连接使之正常,然后参考步骤 4 调整 OCP 服务器时间,等待 5 分钟观察该告警是否继续上报。
检查时钟同步服务是否正常。
若 OCP 管理的服务器上时钟同步服务异常,则会伴随告警 host_ntp_service_not_exist 服务器时钟同步服务不存在 的上报,可做如下处理。
等待 5 分钟,然后观察告警是否还会上报。
上报,则继续执行步骤 4。
不上报,则问题解决。
若时钟源和主机的时钟服务都正常,可能是主机断电或其他原因导致主机与时钟源短时间内时钟不一致。
可在 OCP 管理的服务器上手动触发时钟同步,以确保时钟偏移在预期范围内。
请根据该服务器安装的时钟同步服务选择以下命令中的一条执行。
#使用 NTP 服务时使用该命令进行同步,xxx.xxx.xxx.xxx 表示时钟源的 IP,请自定义。 ntpdate xxx.xxx.xxx.xxx #使用 Chrony 服务时使用该命令进行同步,请确保钟源是在 /etc/chrony.conf 文件中已配置。 chronyc -a makestep