maxpoll을 무시한 Chrony 동기화 시간

maxpoll을 무시한 Chrony 동기화 시간

Rocky Linux 9.2 서버가 있습니다. 우리는 check_mk를 통해 이를 모니터링하고 동기화 이후 마지막 시간이 1시간을 초과할 수 있다는 경고를 정기적으로 받습니다. 아래 소스에서 mansfield.id.au 소스가 64분이라는 점에 유의하세요.

ntp에 대한 나의 제한된 이해에 따르면 아래에 지정된 maxpoll 10은 1024초와 같습니다.

server 0.au.pool.ntp.org iburst minpoll 6 maxpoll 10
server 1.au.pool.ntp.org iburst minpoll 6 maxpoll 10
server 2.au.pool.ntp.org iburst minpoll 6 maxpoll 10
server 3.au.pool.ntp.org iburst minpoll 6 maxpoll 10

추적 - Chrony가 최종적으로 동기화된 후 업데이트 간격이 4135.0초로 변경되었습니다.

[]#chronyc tracking
Reference ID    : 6EE87216 (mansfield.id.au)
Stratum         : 3
Ref time (UTC)  : Wed Jan 24 00:27:13 2024
System time     : 0.000012703 seconds slow of NTP time
Last offset     : -0.000079763 seconds
RMS offset      : 0.000147473 seconds
Frequency       : 10.848 ppm fast
Residual freq   : -0.001 ppm
Skew            : 0.052 ppm
Root delay      : 0.032765601 seconds
Root dispersion : 0.005266702 seconds
Update interval : 1036.2 seconds
Leap status     : Normal

출처

[]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- 192.9.171.167                 2  10   377   254   +511us[ +511us] +/-   63ms
^* mansfield.id.au               2  10   377   64m  -2117us[-2197us] +/-   19ms
^- ntp2.ds.network               2  10   377  1007    +16ms[  +16ms] +/-  173ms
^- 220-158-215-20.broadband>     2  10   377   943    +73us[  +73us] +/-   81ms

maxpoll 값을 무시하는 것처럼 보이는 이유를 아는 사람이 있습니까? 아니면 누락되거나 잘못된 일부 구성이 있습니까?

감사해요

jc

답변1

그것은 건강한 크로니 출력입니다. 최근에 모두 연결할 수 있는 4개의 소스는 1ms 미만 범위의 정밀도와 수십 밀리초의 지연을 가지며 참조 클럭에서 3홉(계층)입니다. 인터넷 NTP 서버에 일반적입니다.

귀하의 결과는 실행 가능한 것으로 간주되지 않으므로 경고할 사항이 아닙니다. 경고가 발생한 후 일시적인 문제가 더 이상 존재하지 않거나 검사에서 사물에 대해 잘못 경고하는 경우가 있을 수 있습니다.

chrony의 poll/minpoll/maxpoll 구성은 로그 기반 2이므로 일반적인 값 10은 1024초입니다. 예, 건강한 크로니 인스턴스가 패킷을 완화하여 한 시간에 몇 시간만 보내는 것은 정상입니다. 훨씬 더 긴 maxpoll이 가능하지만 거의 아무도 기본값을 변경하지 않습니다.

나는 checkmk에 익숙하지 않다. 다행스럽게도 crony 플러그인이 포함된 오픈 소스 코어가 있는 것으로 보입니다. 나는 떠날거야chrony.py 태그 v2.2.0. chronyc tracking출력 에서 추출한 키입니다.

Reference ID
System time
Stratum
Ref time (UTC)

Check는 현재 시간에서 구문 분석된 Ref 시간을 뺀 값을 사용하여 기본 임계값인 1800초와 3600초로 "마지막 동기화 이후 시간"에 대한 임계값을 만듭니다. 형식화된 시간을 구문 분석해야 하는 경우 오류가 발생하기 쉬운 것처럼 보이지만 적어도 Python 라이브러리 함수를 사용합니다.

경고의 이 부분은 무의미하고 실행 가능하지 않다고 생각합니다. 동기화에 실패하면 오류 계층 번호 16이 반환되고 검사는 이미 계층 > 10에 대해 경고합니다. 또한 참조 ID에서 IP 주소를 구문 분석할 수 없는 경우에도 검사에서 경고합니다. 그리고 chrony가 모든 입력을 잃더라도 알려진 드리프트를 기반으로 시계를 계속 조정합니다.

이 검사의 지연 부분을 비활성화합니다. 아니면 최소한 훨씬 더 높은 임계값(1~2일)으로 설정하세요. 마지막 NTP 패킷이 30분 전이었다는 것은 상관하지 않지만 참조 클럭 측정 없이 Always-On 서버에서 30시간은 흥미로울 수 있습니다.

또한 인터넷이 아닌 소스도 포함하도록 소스를 다양화하세요. 하드웨어를 다루는 경우 위성 신호를 통해 NTP 어플라이언스를 얻을 수 있습니다. 또는 로컬 네트워크에 이미 NTP 서버가 있을 수 있습니다. 일부 클라우드에는 메타데이터 서비스의 일부로 NTP 서버가 있습니다.

관련 정보