jak sprawdzić, czy NTP dostosował czas systemowy w systemie Linux?

18

Mam maszynę, która doświadczyła problemów z niektórymi rzeczami w czasie rzeczywistym, które prowadzę. Jednym z moich tropów jest to, że demon NTP mógł przesunąć czas, powodując fałszywe przekroczenia czasu.

Jak mogę się dowiedzieć, czy demon NTP w ogóle przesunął czas? Jakieś dzienniki? Widzę, że demon NTP uruchamia się ponownie w / var / log / messages, ale nie wiem, czy dostosowanie czasu również powinno tam być.

wyjaśnić: muszę zrozumieć to z dzienników, po wydarzeniu. Może być 2 dni po skorygowaniu czasu. Uruchamianie poleceń w celu sprawdzenia bieżącego stanu nie pomaga.

n-Alexander
źródło

Odpowiedzi:

8

Możesz użyć ntpdc -c sysinfopolecenia do sprawdzenia statusu ntpd. Zwraca wynik podobny do tego:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s
Janne Pikkarainen
źródło
4

Plik drift (/ var / lib / ntp / drift) nie mierzy różnicy między czasem lokalnym a czasem obliczonym przez ntpd na podstawie skontaktowanych serwerów czasu.

Zamiast tego jest to oszacowany dryft (błąd częstotliwości) lokalnego zegara (w ppm). Wartość ta jest aktualizowana przez ntpd raz na godzinę i nie maleje z czasem.

O ile mogę stwierdzić, wartość ta jest używana przez ntpd po ponownym uruchomieniu do oszacowania, jak nieprawidłowy jest zegar lokalny (zegar lokalny działa, nawet gdy maszyna jest wyłączona).

Przykład: zawartość pliku: 5 Maszyna została wyłączona 1 dzień (86400 s) 5 stron na minutę 86400 to 0,432 => Lokalny zegar to 0,432 s „w przyszłości”

Chodzi o: - ntpd może teraz zastosować pierwszą przybliżoną korektę do czasu lokalnego (-0,432 s) natychmiast po uruchomieniu - ntpd natychmiast wie, jak zły jest zegar lokalny (w tym przykładzie: 5 ppm)

(Nie mogę komentować komentarza Sirex, więc dodałem nowy komentarz)

Martin Schneeweis
źródło
3

powinieneś mieć wartość w pliku drift. Jego lokalizacja będzie w twoim /etc/ntp.conf

np .: „driftfile / var / lib / ntp / drift”

plik ten służy do rejestrowania odległości twojego zegara od tego, jaki powinien być, i powoli ntp powinien obniżać tę wartość w miarę upływu czasu. - Nie zrobi tego za jednym razem, ponieważ może to powodować problemy ze znacznikami czasu w systemie.

Sirex
źródło
to dobra informacja, dzięki. Jednak po upływie czasu będzie to 0 i stracę informacje. Czy ntp nie rejestruje żadnych wiadomości z informacją, że w ogóle to zrobiono?
n-Alexander
3

ntpq -nc peers pokaże twój status synchronizacji ze wszystkimi równorzędnymi.

BillThor
źródło
2

Przepraszam, to jest stary wątek - mam nadzieję, że nie złamałem tutaj reguły :)

W /etc/ntp.conf mam linię, która wygląda następująco:

#statsdir /var/log/ntpstats/

Opis mówi, aby odkomentować tę linię do rejestrowania statystyk. Właśnie skonfigurowałem ntp na naszym serwerze, więc nie jestem pewien, co się loguje, ale skończyłem tutaj, szukając tych samych informacji, więc mam nadzieję, że pomoże to komuś innemu.

dsl101
źródło