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 [email protected] 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
답변1
ntpdate
그래서 NTP를 설치했는데 왜 실행 중인 것처럼 보이는지 잘 모르겠습니다 . 어떤 OS/배포판이 사용되었는지 언급하지 않았으므로 이 일반적인 내용을 유지해야 하지만 다음과 같습니다.
- crontab에 대한 호출을 제거
ntpdate
하고 에 대한 호출을 삭제합니다ntpd -q
. ntpd
시스템 패키지 관리자에서 제거하고 다시 설치하십시오./etc/ntp.conf
업스트림 시간 서버가 올바르게 지정되었는지 검토 하고 확인하세요. 대부분의 경우 기본 ".pool.*" NTP 서버는 문제가 없습니다.- 다시 설치한 후에는
ntpd
실행할 준비가 되어 있어야 합니다. 그렇지 않은 경우 시작합니다(일반적으로service ntp start
). - 동기화하는 데 1~2분 정도 기다린 후 명령을 실행합니다
ntpq -p
.*
서버 중 하나의 줄 시작 부분에 표시 되어야 합니다 . 이는 NTP가 작동하고 동기화 중임을 나타냅니다.
데몬은 항상 실행 상태를 유지해야 합니다. 안정적이고 단순하며 충돌이 발생하지 않아야 합니다. 다른 것이 방해하지 않는지 확인하십시오.
답변2
"사전 포스터"를 참조하세요:ntpd를 사용하는 경우 서버에 ntpdate를 유지하지 마십시오!
어떤 이유로든 시스템에 시간 드리프트가 발생하고 있다고 생각되면 어떻게 해야 합니까?
Linux에서 타이밍 문제가 있는 경우 가상화된 시스템에서 가장 먼저 확인해야 할 것은 - VMware/Hyper-V/Xen/KVM 등을 사용하는 경우 - "하드웨어 시계"가 실제로 무엇인지 생각하는 것입니다! ? ! 때때로 "BIOS" 시계가 제대로 작동하지 않을 때도 있지만 이는 네트워크 카드만큼 가상이므로(!) 가상 머신을 사용하는 경우 담당 동료에게 문의하세요.
간단히 말해서 ntpd와 ntpd의 차이점을 고려하면 ntpd는 로컬 시스템 시간이 시간 소스에서 말하는 시간과 동기화될 때까지 시스템 시간(날짜)에 약간의 시간 조각을 추가하여 시스템을 "속입니다". 반면 ntpdate는 설정합니다. 현지 시간을 "네트워크 시간"으로 설정합니다.
시스템 시간은 date
Linux에서 이 명령이 알려주는 것입니다. 그러나 hwclock
(sudo 필요) 이것은 실제로 하드웨어, 즉 BIOS 시계입니다.
이번에는 문자 그대로 해야 할 수도 있습니다.
sudo hwclock ---systohc
BIOS/하드웨어/가상 시계를 시스템 날짜로 설정합니다. - ntpd가 메시지를 표시합니다. 이 작업을 더 자주 수행해야 하면 문제가 발생할 수 있습니다.
나는 이것이 Ubuntu에서 작동한다고 확신하므로 Debian에서도 작동할 것이라고 가정합니다. 그 이유는 시스템이 적시에(cron.weekly?) ntpdate를 호출할 수 있지만 ntpd를 실행하면 일반적으로 불평이 발생하기 때문입니다! ntpd가 실행되는 동안에는 ntpdate를 전혀 실행할 수 없습니다. 새로 설치하여 직접 테스트해 보세요. 따라서 나는 귀하의 cronjob을 고려하여 귀하의 ntpd가 실제로 데몬으로 실행되고 있지 않다고 가정합니다. 매시 59분에 자동(-q) 모드로 시작하는 이유는 무엇입니까?
cronjob의 이상한 점은 "--quiet 모드"에서 ntpd를 시작한다는 것입니다. 이유는 무엇입니까? 이거 데몬 맞죠? 그들은 항상 백그라운드에서 실행됩니다, 그렇죠?
일반적으로 ntpd에는드리프트 파일이것은 만든다ntpd는 시간을 원활하게 조정하지만 "시간이 지남에 따라"- 여기서는 1초도 안 되는 시간이 추가될 수 있지만, 다른 곳에서는 1초도 안 되는 시간이 추가될 수 있습니다.강제로 시간을 재설정하지 않음미래의 30초를 가정하거나 과거의 경우 더 나쁘다고 가정합니다.대부분의 데이터베이스는 시간 여행을 전혀 좋아하지 않습니다!
이것이 바로 ntpd의 목적입니다.ntpdate - 반대로 - 모든 시간 편차를 즉시 수정합니다.시간이 중요한 애플리케이션 문제의 원인은 무엇입니까?반면에 ntpd는 매초마다 몇 밀리초를 추가합니다.따라서 상황은 "시간에 맞춰" 정확한 시간을 얻습니다. 이는 시간 또는 거꾸로의 큰 점프를 위해 타임스탬프에 크게 의존하는 응용 프로그램에서는 놀라운 일이 아닙니다. 심각한 데이터베이스는 타임스탬프(예: mysql/postgres/mariadb)에 의존합니다.
데몬은 항상 백그라운드에서 실행되어야 하므로 이전 관리자가 ntpdate와 ntpd를 혼합했다고 가정해야 합니다. 왜냐하면 일반적으로 ntpd가 없으면 때때로 ntpdate를 호출하여 시간을 조정하기 때문입니다.시기 적절한래프팅하는 동안. 대신, ntpd는 실행하고, 실행하고, 실행해야 하며 일반적으로 "시간이 지나면" 잊어버리게 됩니다...
또는 시스템이 너무 오래되었기 때문에 Linux 시스템의 중요성에 따라 업그레이드를 고려할 수도 있습니다.
IMHO에서는 시스템이 올바르게 구성되지 않은 것 같으므로 일부 Linux 관리자에게 시스템을 확인하도록 제안합니다.
공식적으로 경고를 받았습니다 ;-)