目录
Chrony 是网络时间协议 (NTP) 的一种实现,用于保持计算机同步。它是 ntpd 的替代品,ntpd 是 NTP 的参考实现,旨在在间歇性网络连接(例如,可能不会持续运行的笔记本电脑)、拥塞的网络或负载较低时时钟速度变化的情况下同步时间。时间保持非常重要,对于时序数据库的用户尤其如此,他们依赖于他们跟踪的事务按正确的顺序和正确的时间序列排列。说起来容易做起来难,因为当计算机保持精确时间时,收集的时序数据可能位于地理位置分散的主机上。
通过互联网同步的机器之间的精度在几毫秒内;在局域网上,在数十微秒内。使用硬件时间戳或硬件参考时钟,可能实现亚微秒级的精度,这在尝试确定特定问题的原因时可能很重要。
为什么使用 Telegraf 插件来监控 Chrony?
无论您的用例是什么(DevOps、物联网),如果您正在从地理位置分散的设备收集时序数据,您可能需要确保时间戳是准确的。通过使用 Chrony 和 Chrony Telegraf 插件,您可以通过在 InfluxDB 中收集这些指标并构建仪表板来减少系统时钟的时间漂移。仪表板是一种轻松查看漂移何时可能成为问题的方式。
如何使用 Telegraf 插件监控 Chrony
要获取标准的 Chrony 指标,需要使用 chronyc 可执行文件。以下列表是所有可以返回的标头。
- 参考 ID - 这是计算机当前同步的服务器的参考 ID 和名称。如果参考 ID 为 127.127.1.1,则计算机未与任何外部源同步,并且您正在“本地”模式下运行。
- 层级 - 层级指示参考时钟距离计算机有多少跳。
- 参考时间 - 这是处理来自参考源的上次测量的 UTC 时间。
- 系统时间 - 系统时钟中的任何错误都会通过稍微加速或减慢系统时钟来纠正,直到错误被消除,然后再恢复到系统时钟的正常速度。在一段时间内,系统时钟将与 chronyd 对当前真实时间的估计不同,并且此行报告的值是由于此影响造成的差异。
- 上次偏移量 - 这是上次时钟更新时估计的本地偏移量。
- RMS 偏移量 - 这是偏移值的长期平均值。
- 频率 - “频率”是如果 chronyd 没有纠正系统时钟,系统时钟会出错的速率。它以 ppm(百万分之一)表示。
- 残余频率 - 当前选定的参考源的“残余频率”。这反映了来自参考源的测量值指示的频率应为多少与当前正在使用的频率之间的任何差异。
- 偏差 - 这是频率的估计误差范围。
- 根延迟 - 此网络路径延迟到计算机最终同步的 stratum-1 计算机。
- 根散布 - 这是通过所有计算机累积到计算机最终同步的 stratum-1 计算机的总散布。散布是由于系统时钟分辨率、统计测量变化等造成的。
- 闰秒状态 - 这是闰秒状态,可以是正常、插入秒、删除秒或未同步。
用于监控的关键 Chrony 指标
您应主动纳入监控的一些重要 Chrony 指标包括
system_time
(float, seconds)last_offset
(float, seconds)rms_offset
(float, seconds)frequency
(float, ppm)residual_freq
(float, ppm)skew
(float, ppm)root_delay
(float, seconds)root_dispersion
(float, seconds)update_interval
(float, seconds)
更多信息,请查看文档。