如何将 ntpd 日志设置为 DEBUG 或更详细的格式

如何将 ntpd 日志设置为 DEBUG 或更详细的格式

我有 Ubuntu Server 18.04,并通过 配置了与 Windows 域控制器的时间同步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

答案1

您不需要增加日志详细程度。您需要的是查看(并可能绘制)统计文件/var/log/ntpstats/,和/或通过 collectd、nagios、prometheus 或 telegraf 等监控系统监控 NTP。

同步不是一次性事件,而是持续发生的事情。NTP 会持续对速度时钟,而不是它的价值。因此,您不应该期望看到日志消息说ntpd已同步时钟;相反,在统计文件中,您将看到时间点样本,说明出色地它已同步。

要查看本地时钟运行情况,您需要查看loopstats。我做了一个(非常粗略的)交互式绘图脚本这样做。您可以通过查看来了解您的同伴表现如何peerstats。我做了类似的脚本执行此操作。您可以在以下位置找到有关统计文件的更多信息http://doc.ntp.org/current-stable/monopt.html

要使用上述监控工具之一监控你的系统,请查看NTPM,从该 repo 的顶层开始。

如果你关心时钟的准确性,那么最重要的事情就是在配置中包含更多的源。NTP 最佳当前实践 (RFC8633) 建议至少有 4 个来源,但使用pool指令并ntpd决定需要多少个是最好的。

(您可能也不需要burst在您的server线路中 - 一些 NTP 服务器会阻止使用此功能的客户端;iburst但通常没问题。)

相关内容