是否有任何命令可以用来确保 NTP 服务正在运行并且响应?
我计划使用一些监控和补救脚本来确保一些服务正在运行并且响应迅速,尤其是 NTP。如果服务未运行或无响应,则重新启动服务或再次检查,如果仍然失败 3 次,则发送警报电子邮件。
提前致谢!
答案1
答案是特定于版本的,你可以使用Ubuntu 服务器官方文档以供参考。
Ubuntu 14.04 LTS
在 14.04 LTS 官方文档中建议使用ntp
/ ntpdate
(请参阅 Ubuntu 14.04 LTS 服务器指南第 49 页):
Ubuntu 使用
ntpdate
和ntpd
。
因此预期的命令将是service ntp status
或类似的。
Ubuntu 16.04 LTS
在 16.04 LTS 中,官方文档的说法有所不同(参见16.04 LTS 服务器指南第 54 页):
从 Ubuntu 16.04 开始
timedatectl
/timesyncd
(属于 的一部分systemd
)替换大部分ntpdate
/ntp
Ubuntu 16.04 LTS 我不知道,时间服务是通过包chrony
完成的。所以这里可以用来检查服务器状态。ntpd
ntp
systemctl status ntp.service
Ubuntu 18.04 LTS
在 18.04 LTS 中,正如 Rinzwind 已经回答的那样,chrony
它被使用(参见18.04 LTS 服务器指南第 56 页)。
我希望这systemctl restart chrony.service
可以用于状态检查。
答案2
慢性的自 Ubuntu 18.04 起为默认设置
chrony 是网络时间协议 (NTP) 的多功能实现。它可以将系统时钟与 NTP 服务器、参考时钟(例如 GPS 接收器)以及使用手表和键盘的手动输入同步。它还可以作为 NTPv4 (RFC 5905) 服务器和对等端运行,为网络中的其他计算机提供时间服务。
默认情况下,Ubuntu 软件包将附带指向 ntp.ubuntu.com 和 ubuntu.pool.ntp.org 作为 NTP 池的配置文件,以提供 6 个双栈 NTP 源和 2 个额外的仅 IPv4 源。
一个简单的
chrony activity
将返回错误编号通知以及有多少源处于活动状态,有多少源处于非活动状态。 很容易围绕它编写代码;例如脚本甚至服务。
它还支持通过编辑来记录日志(默认为 syslog) /etc/crony/chrony.conf
。
# Uncomment the following line to turn additional logging on
log measurements statistics tracking
# or for even more logs add additional items
log measurements statistics tracking rtc refclocks tempcomp
“log” 后面的每个单词都会在 `/var/log/crony/ 中触发其自己的日志。
因此,它也可以用作跟踪和追踪类型的东西,您可以扫描日志并在某些事件或条件下触发邮件。
答案3
虽然前三个命令似乎表明 Chrony 正在运行,但最后一条命令表明仍然存在问题:
$ chronyc activity
200 OK
3 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
$ chronyc sources
210 Number of sources = 3
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- gowest.hojmark.net 2 6 373 114 -25ms[ +50ms] +/- 34ms
^* ntp0.nl.uu.net 1 6 377 48 -90ms[ -35ms] +/- 11ms
^- ntp0.rrze.uni-erlangen.de 1 6 377 49 -92ms[ -38ms] +/- 17ms
$ chronyc sourcestats
210 Number of sources = 3
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
gowest.hojmark.net 9 5 470 +1.011 179.782 +44us 15ms
ntp0.nl.uu.net 9 6 393 -38.165 336.029 +122us 25ms
ntp0.rrze.uni-erlangen.de 11 6 406 -7.706 167.145 -195us 15ms
$ timedatectl
Local time: Thu 2021-09-16 12:05:31 UTC
Universal time: Thu 2021-09-16 12:05:31 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no