我们的Nagios服务器NTP没有正常工作。首先是问题:
root@ccsd-lx-noc03 /var/log> tail -n 10000 messages | grep "NTP"
Jul 5 16:19:36 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;WARNING;HARD;4;NTP WARNING: Offset 53.03026778 secs
Jul 5 16:20:49 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96075022 secs
Jul 5 16:20:50 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.95908391 secs
Jul 5 16:22:49 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96072233 secs
Jul 5 16:23:40 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96058169 secs
Jul 5 16:24:20 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;WARNING;HARD;4;NTP WARNING: Offset 53.01928848 secs
Jul 5 16:24:44 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.961512 secs
Jul 5 16:25:14 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.9693791 secs
Jul 5 16:26:01 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96211889 secs
Jul 5 16:26:18 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -71.26003572 secs
Jul 5 16:27:10 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -71.26059958 secs
Jul 5 16:27:20 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;WARNING;HARD;4;NTP WARNING: Offset 53.03374252 secs
Jul 5 16:27:32 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -71.26115555 secs
Jul 5 16:28:00 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96324414 secs
Jul 5 16:28:19 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;WARNING;HARD;4;NTP WARNING: Offset 53.03296909 secs
Jul 5 16:28:25 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -84.96396494 secs
Jul 5 16:29:09 ccsd-lx-noc03 nagios: SERVICE ALERT: localhost;NTP2-localhost;CRITICAL;HARD;4;NTP CRITICAL: Offset -71.26274931 secs接下来,我不是管理员,他几周前离开了,试图维持秩序。在crontab文件中,我看到以下内容:
root@ccsd-lx-noc03 /data/nagios/var> crontab -l
59 * * * * /usr/sbin/ntpd -q > /dev/null 2>&1我该怎么解决这个问题?
ntpdate -d time.ccsd.net
5 Jul 17:58:48 ntpdate[5098]: ntpdate 4.2.6p5@1.2349-o Wed Jun 18 21:20:36 UTC 2014 (1)
Looking for host time.ccsd.net and service ntp
host found : ns1.ccsd.net
transmit(206.194.10.13)
receive(206.194.10.13)
transmit(206.194.10.13)
receive(206.194.10.13)
transmit(206.194.10.13)
receive(206.194.10.13)
transmit(206.194.10.13)
receive(206.194.10.13)
server 206.194.10.13, port 123
stratum 2, precision -23, leap 00, trust 000
refid [206.194.10.13], delay 0.02682, dispersion 0.00015
transmitted 4, in filter 4
reference time: d9444d0c.ef1c4dc0 Sun, Jul 5 2015 17:40:44.934
originate timestamp: d94450f9.d4061577 Sun, Jul 5 2015 17:57:29.828
transmit timestamp: d944514e.d51c3225 Sun, Jul 5 2015 17:58:54.832
filter delay: 0.02911 0.02684 0.02730 0.02682
0.00000 0.00000 0.00000 0.00000
filter offset: -85.0055 -85.0048 -85.0046 -85.0048
0.000000 0.000000 0.000000 0.000000
delay 0.02682, dispersion 0.00015
offset -85.004863
5 Jul 17:58:54 ntpdate[5098]: step time server 206.194.10.13 offset -85.004863 sec发布于 2015-07-12 19:35:03
因此,我不知道如果安装了NTP,为什么ntpdate似乎在运行。您没有提到这是什么操作系统/发行版,所以我必须保持这个通用,但是:
ntpdate的所有crontab调用,并删除对ntpd -q的调用。ntpd并重新安装它。/etc/ntp.conf并确保正确指定上游时间服务器。在大多数情况下,默认的`.`.pool.*‘NTP服务器都是可以的。ntpd应该已经在运行了。如果没有,启动它(通常是service ntp start)。ntpq -p。您应该在其中一个服务器的行的开头看到一个*。这表明NTP正在工作和同步。守护进程应该永远运行--它是稳定的,简单的不应该崩溃。只要确保没有其他干扰就行了。
发布于 2017-04-10 17:42:22
回复“预海报”:如果使用ntpd,不要在服务器上保留ntpdate!
考虑到任何原因,你的系统正在漂移的时间,你要做什么呢?
当您在Linux上遇到时间问题时,首先检查一下任何虚拟化系统--如果您使用VMware/Hyper-V/Xen/KVM/任何东西--考虑一下您的“硬件时钟”到底是什么!有时您的"BIOS“时钟是错误的,但它是虚拟的,就像您的网卡(!)所以,如果你使用VMs,就和你的主管同事谈谈。
简要说明ntpd和ntpd的区别: ntpd通过在系统时间(日期)中轻轻松松地添加一些时间(日期)来“欺骗”您的系统,直到本地系统时间与您的时间源所说的任何内容同步为止,而ntpdate则迅速将您的本地时间设置为“网络时间”。
系统时间是date在Linux上告诉您的命令。但是也有hwclock (需要sudo),它确实是您的硬件,也就是BIOS时钟。
这一次--从字面上讲--你可能需要做
数独时钟-系统时钟
将BIOS/硬件/虚拟时钟设置为系统日期-- ntpd说的。如果您需要更经常地这样做,就会有一个问题。
我知道,这适用于Ubuntu,所以我认为它也适用于Debian。原因是系统可以及时调用ntpdate (cron.weekly?)但是,当你有ntpd运行,它通常会抱怨!只是在ntpd运行时不能运行ntpdate。在一个新的安装上自己测试它。因此,我假设--考虑到您的cron作业-- ntpd实际上不是作为守护进程运行的。否则,你为什么要在每小时59分钟以静音(-q)模式启动它?
奇怪的是,它以“--安静模式”启动ntpd -为什么?是个守护进程,对吧?他们总是在后台跑,不是吗?
通常,您安装ntpd是因为它拥有一个漂移文件,使ntpd能够平滑地调整您的时间,但“随着时间的推移”--它可能会在这里添加一小部分秒,但不会强制重置时间,比如在未来30秒--或者更糟的是过去--因为您可以假设,例如,大多数数据库根本不喜欢时间旅行!
这就是ntpd的目的。相反,ntpdate会迅速纠正任何可能导致关键时间应用程序问题的时间漂移--另一方面,ntpd会在过去的每一秒中增加几毫秒,这样事情就会得到“及时”的正确时间,这并不奇怪,任何严重依赖时间跳变的应用程序--或者向后跳。严重的数据库确实依赖时间戳(例如mysql/postgres/mariadb)。
守护进程应该总是在后台运行,所以我必须假设您的前管理员将ntpdate和ntpd混合在一起--因为通常在没有ntpd的情况下,您会偶尔调用ntpdate,以便在漂移时及时调整时间。ntpd应该运行,而您通常会忘记它“及时”.
或者,您确实有一个非常老的系统,因此您可以考虑根据Linux系统的关键问题进行升级。
我建议,您应该让某些Linux检查您的系统,因为IMHO您的系统似乎配置不当。
你已被不慎警告;-)
https://unix.stackexchange.com/questions/215466
复制相似问题