酷徒LOGO

验证内部NTP服务器是否发送正确的时间?


问题:

我有两个NTP层 3服务器,并想要创建一个简单的检查,我可以知道它是否与 public 层 2服务器不同步。

我第一个想法是从多个层 2服务器上拉时间,并比较我的ntp服务器发送的时间。 如果漂移超过X delta,则发出警告。

是否有更标准的方法来验证NTP服务器是否正在发送正确的时间?


回答 1:

DR ;博士:

  • 根据最佳当前操作配置你的NTP服务器。
  • 如果你的监视解决方案使用 collectd。Nagios或者 telegraf,请使用我的ntpmon 检查。
  • 长版本:

    配置

    最佳NTP监控的最重要基础是良好的NTP配置。 为了了解这一点,请阅读最新的草稿最佳当前实践( BCP ) RFC。 下面是对它的配置建议的精简摘要:

  • 保留你的NTP软件。
  • 在 4和 10之间使用
  • 确保在这些源中有不同的参考时钟
  • 不允许未认证的遥控器( 应该是大多数发行版的默认)
  • 合理使用池( 也应该是大多数发行版的缺省值)
  • 不混合跳转和non-leap-smeared源
  • 不使用未经验证的广播模式
  • 服务时不要使用anycast或者负载平衡
  • 度量的

    一旦有了良好的本地配置,主要要记住的是检查本地NTP服务器的度量,而不是手动度量来自远程服务器的偏移。 主要的NTP服务器( ntpd和 chronyd ) 已经收集了所有需要的指标,因这里检查与远程服务器的时钟比较。

    公制选择

    因此,对于你的问题,你应该对它的最感兴趣的指标是:

    • 系统偏移:从一个 true 时间计算时钟局部偏移的最佳估计
    • root 色散:从地层 0源计算当地时钟的最大偏移量

    监视

    有几种对NTP的监控解决方案- 根据你已经有的监控,有些可以能比它的他的更适合你。 我在我的博客上写了一个概述,下面是总结:

  • Nagios:
    • check_ntp_peer: 非常基本的基本检查;不检查足够多的度量;它允许的偏移量太多。
    • check_ntp_time: 不推荐使用,只检查给定远程NTP服务器的偏移量
    • check_ntpd: 合理检查覆盖率;如果你喜欢在 python 上使用 perl,请使用它。
    • ntpmon 检查的nagios
  • collectd:
  • 普罗米修斯/influxdb
  • 警告

  • 上面是在我做了警报和遥测审查时 2016年10月的状态概述。 事情可能已经改进了。
  • 这是我的项目,我认为克服了当时的检查的不足。 它同时支持ntpd和 chronyd,上面列出的警报和遥测系统。

回答 2:

当然,标准方法是使用被称为 ntpq的捆绑的NTP客户机。 这个实用程序可以用来显示连接的服务器,它们的可达性,时差和抖动。 下面是示例:


# ntpq -p


 remote refid st t when poll reach delay offset jitter


==============================================================================


*metasntp12.admi. MRS. 1 u 274 1024 377 64.445 1.086 0.450


+cecar.ddg.lth.s 130.149.17.8 2 u 811 1024 377 48.143 -0.810 0.175


 dir.mcc.ac.uk 85.199.214.100 2 u 7d 1024 0 76.708 -1.654 0.000



在这里你可以看到三个服务器已经配置好了,两个是好的( 377可达扩展到二进制 11 111,其中表示成功答案,0表示无应答- 所以 377意味着 100%可达),最后一个原因是。 偏移代表时间偏移以毫秒为单位,抖动为可变值。






Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷