我有 Ubuntu Server 18.04 并通过ntpd
. 我的配置文件/etc/ntp.conf
, 包含:
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntpd.log
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 1.2.5.6 iburst burst minpoll 6 maxpoll 8
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery
ntpd 启动,我认为它工作正常。这是一个示例ntpq -pn
命令输出:
remote refid st t when poll reach delay offset jitter
==============================================================================
*1.2.5.6 1.2.5.3 4 u 53 64 3 0.591 3.830 8.130
但是在日志文件/var/log/ntpd.log
中,我只有这个:
3 Mar 14:26:05 ntpd[8457]: Listen and drop on 0 v6wildcard [::]:123
3 Mar 14:26:05 ntpd[8457]: Listen and drop on 1 v4wildcard 0.0.0.0:123
3 Mar 14:26:05 ntpd[8457]: Listen normally on 2 lo 127.0.0.1:123
3 Mar 14:26:05 ntpd[8457]: Listen normally on 3 eth0 1.2.2.19:123
3 Mar 14:26:05 ntpd[8457]: Listening on routing socket on fd #20 for interface updates
我想知道时间何时同步,以及同步完成后本地主机上的时间变化了多少秒。我想我需要增加日志文件的详细程度,但我不知道该怎么做。请帮忙。/etc/ntp.conf
即使在阅读之后,我也找不到任何相关的内容man 5 ntp.conf
。
您不需要增加日志详细程度。您需要查看(并且可能绘制图表)中的统计文件
/var/log/ntpstats/
,和/或通过诸如 collectd、nagios、prometheus 或 telegraf 等监控系统监控 NTP。同步不是一次性事件;这是不断发生的事情。NTP对时钟的速率进行不断的微调,而不是它的值。所以你不应该期望看到日志消息说
ntpd
已经同步了时钟;相反,在统计文件中,您会看到同步情况的时间点样本。要查看本地时钟的运行情况,您需要查看
loopstats
. 我制作了一个(非常粗略的)交互式图形脚本来做到这一点。您可以通过查看peerstats
. 我制作了一个类似的脚本来做到这一点。您可以在http://doc.ntp.org/current-stable/monopt.html找到有关统计文件的更多信息要使用上述监控工具之一监控您的系统,请查看NTPmon,从该存储库的顶层开始。
如果您担心时钟的准确性,您应该做的最重要的事情是在您的配置中包含更多来源。NTP Best Current Practices (RFC8633) 推荐至少 4 个源,但使用该
pool
指令并让ntpd
决定它需要多少是最好的。(您可能也不需要
burst
在您的server
线路中 - 一些 NTP 服务器会阻止使用它的客户端;iburst
不过,通常没问题。)