AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 951179
Accepted
krizzo
krizzo
Asked: 2019-01-29 11:58:25 +0800 CST2019-01-29 11:58:25 +0800 CST 2019-01-29 11:58:25 +0800 CST

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

  • 772

我有两个 NTP 层 3 服务器正在运行,并且想要创建一个简单的检查,我可以判断其中一个服务器的时间是否漂移并警告它没有与公共层 2 服务器正确同步。

我的第一个想法是从多个第 2 层服务器中提取时间,并将该时间与我的 ntp 服务器发送的时间进行比较。然后在漂移超过 X delta 时发出警报。

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

ntp
  • 2 2 个回答
  • 2694 Views

2 个回答

  • Voted
  1. Best Answer
    Paul Gear
    2019-01-30T17:13:07+08:002019-01-30T17:13:07+08:00

    TL;博士:

    1. 根据当前最佳实践配置您的 NTP 服务器。
    2. (无耻的自我推销警告。)使用我的ntpmon检查您的监控解决方案是否使用 collectd、Nagios 或 telegraf。

    长版:

    配置

    良好的 NTP 监控最重要的基础是良好的 NTP 配置。为了更好地理解这一点,请阅读NTP Best Current Practices (BCP 223/RFC 8633)。以下是其配置建议的简要总结:

    1. 使您的 NTP 软件保持最新
    2. 使用 4 到 10 个来源
    3. 确保您在这些来源中拥有多种参考时钟
    4. 不允许未经身份验证的远程控制(应该是大多数发行版的默认设置)
    5. 负责任地使用池(也应该是大多数发行版的默认设置)
    6. 不要混合有闰涂和非闰涂来源
    7. 不要使用未经身份验证的广播模式
    8. 服务时间不要使用任播或负载平衡

    在哪里测量

    一旦你有一个好的本地配置,要记住的主要事情是你的检查应该查询本地 NTP 服务器的指标,而不是尝试手动测量远程服务器的偏移量。主要的 NTP 服务器(ntpd 和 chronyd)已经收集了您需要的所有指标,因此将时钟与远程服务器进行比较的检查忽略了 NTP 的许多内置优点。

    指标选择

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

    • 系统偏移:计算出的本地时钟与一个真实时间的偏移的最佳猜测
    • 根色散:计算出的本地时钟与第 0 层源的最大偏移量

    监控

    有一些 NTP 监控解决方案 - 根据您已经拥有的监控,有些可能比其他更适合您。我在我的博客上写了一个概述,这里是一个摘要:

    1. 纳吉奥斯:
    • check_ntp_peer:不错的基本检查;没有检查足够广泛的指标;它允许的偏移量有点过于自由
    • check_ntp_time:不推荐;仅检查来自给定远程 NTP 服务器的偏移量
    • check_ntpd:合理的检查覆盖率;如果您更喜欢 perl 而不是 python,请使用它。
    • ntpmon的 nagios 检查
    1. 收集:
    • NTP 插件:它收集的一些指标不清楚
    • ntpmon在 collectd 模式下
    1. 普罗米修斯/influxdb
    • prometheus 节点导出器:不推荐;仅检查来自给定远程 NTP 服务器的偏移量
    • telegraf ntpq 输入插件:将 ntpq 输出直接转换为 telegraf 指标;如果您只想知道“我的 NTP 服务器好吗?”,这可能太详细了。
    • 电报模式下的ntpmon

    注意事项

    1. 以上是我在 2016 年 10 月进行警报和遥测审查时的状态摘要。从那以后情况可能有所改善。
    2. ntpmon是我的项目,我认为它克服了当时可用的检查的缺陷。它支持 ntpd 和 chronyd,以及上面列出的警报和遥测系统。
    • 6
  2. drookie
    2019-01-30T00:01:18+08:002019-01-30T00:01:18+08:00

    当然,标准方法是使用名为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 1111,其中1表示成功应答,0表示无应答——所以377表示100%可达性),最后一台可能已经死了一些原因。Offset 代表时间偏移,以毫秒为单位,jitter 是可变性。

    • 3

相关问题

  • 网络时间服务器的 DHCP 选项

  • 公共 NTP 服务器

  • 时间同步和计划任务

  • 时间漂移

  • Windows Server 无法可靠地同步 NTP 时间

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve