1. chrony 时间同步的关键状态中 stratum 层级、当前偏移(offset)与频率漂移(drift)如何解读并设置告警
chrony 时间同步的关键状态指标有哪些?stratum、offset 与频率漂移如何解读,如何设置时间健康告警?
- chronyc tracking 的关键字段:Stratum、System time/Last offset、Root delay、Drift 与是否 Locked
- 漂移(drift)的物理含义与时间源异常的区分
- 告警设计:offset 阈值、漂移速率、同步源丢失
chronyc tracking 输出关键状态:Stratum 是当前同步源的层级(数字越小越接近权威源,客户端通常 2-4);System time 是本地时钟相对 UTC 的当前偏移;Last offset 是最近一次调整量;RMS offset 是历史偏移的均方根(抖动水平);Drift(ppm)是本地晶振频率相对理想频率的偏差——每秒偏差百万分之几(典型 10-100ppm),drift 持续显著增长说明晶振老化或温度环境异常;Reference ID/Name 是同步源标识;"Leap status" 与 "Locked" 状态反映同步是否稳定。正常情况下 offset 应在微秒到毫秒级(内网源 <1ms、公网 1-20ms),drift 变化平缓。
告警设计分层:基础层——offset 绝对值超阈值(内网 >50-100ms、公网 >200ms-1s 报警,按业务对时间敏感度定);同步源层——源丢失(Reference 变 '*' 为 '?'/时间源不可达、Reach 归零)、stratum 异常升高(掉到 16 表示未同步);健康层——drift 突变(如 24 小时漂移速率跳升数倍,提示晶振/环境问题)、chronyd 服务状态与时钟回跳事件(step)记录。告警动作:offset 持续超限先查上游源与网络路径(UDP 123 丢包、防火墙),再评估本机晶振;配合监控(Prometheus node_exporter 的 node_timex_offset_seconds、chrony exporter)做历史趋势。生产实践:每台服务器配 2 个以上本地源(内网 NTP/云厂商时间服务)+ 冗余,数据库/日志系统对时间一致性要求高,告警阈值从严。
本题考察时间同步的健康观测体系。回答要点:tracking 关键字段的物理含义(stratum、offset、drift)、正常与异常的判读基准、三层告警设计(偏移、源健康、漂移突变),体现从"看状态"到"守健康"的完整监控思路。
chronyc tracking
chronyc sources -v
chronyc sourcestats -v
# 告警相关指标(Prometheus 示例)
node_timex_offset_seconds > 0.1 # 偏移超 100ms
node_timex_sync_status == 0 # 未同步