![为什么我应该关心 NTP 内核统计数据?](https://linux22.com/image/595904/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%BA%94%E8%AF%A5%E5%85%B3%E5%BF%83%20NTP%20%E5%86%85%E6%A0%B8%E7%BB%9F%E8%AE%A1%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我注意到 munin 绘制了一些有关时间/内核统计的信息,我从未完全理解这些信息。我的大多数服务器似乎都接近 0,我认为这是好事,但其中一个服务器在其中一个图表上缓慢但稳定地变得越来越负。
Munin 绘制了以下随时间变化的统计数据:
- NTP 内核 PLL 估计误差(秒)
- NTP 内核 PLL 频率 (ppm + 0)
- NTP 内核 PLL 偏移(秒)
- 系统对等体的 NTP 计时统计
以下是来自 munin 文档的一个例子:http://demo.munin-monitoring.org/time-year.html
在网上搜索简洁易懂的 NTP 定义一无所获(除了一堆 Nagios 和 Munin 图表),而搜索 Server Fault 会出现大量答案,这些答案都假定读者已经了解一些有关 NTP 的知识。
Stack Overflow 对此的定义如下:
NTP 代表网络时间协议,它是一种用于将计算机时钟同步到某些时间参考的互联网协议。
但这似乎有点难以理解——这会影响网络服务器、加密或数据库同步吗?
什么是 NTP?我为什么要关心它?有哪些特定的统计数据我应该确保不会失控?
答案1
NTP 是一种同步系统时钟的协议(通常在 *nix 机器上运行守护进程)。简而言之,它确保服务器上的时间正确。拥有准确的时间很重要,原因有很多:
- 一些身份验证方案(例如 kerberos、AD auth)依赖于系统具有正确的时间
- 当你排除故障时,在日志中拥有准确的时间戳至关重要
- 在服务器上运行的许多应用程序可能会使用系统时间来生成显示给用户的信息。根据应用程序的不同,时间可能至关重要(例如,了解金融交易发生的时间)
我确信还有其他人,但拥有准确的系统时间是系统管理员的标准职责。NTP 为此做了很多复杂的工作(计算和纠正偏差等)。因此,这些详细统计数据可以帮助您解决在履行这一职责时出现的任何问题。