Wie überprüfe ich, ob NTP die Systemzeit unter Linux angepasst hat?

18

Ich habe eine Maschine, die einige Probleme mit dem Echtzeit-Material hatte, das ich laufe. Ein Hinweis, den ich habe, ist, dass der NTP-Daemon die Zeit möglicherweise verschoben hat und falsche Zeitüberschreitungen verursacht hat.

Wie finde ich heraus, ob der NTP-Dämon tatsächlich die Zeit verschoben hat? Protokolle? Ich sehe einen Neustart des NTP-Daemons in / var / log / messages, aber ich weiß nicht, ob es auch eine Zeitanpassung geben soll.

Zur Verdeutlichung: Ich muss es nach dem Ereignis aus den Protokollen verstehen. Kann 2 Tage nach der Zeiteinstellung sein. Das Ausführen von Befehlen zum Anzeigen des aktuellen Status hilft nicht.

n-alexander
quelle

Antworten:

8

Sie können den ntpdc -c sysinfoBefehl zum Abfragen des ntpd-Status verwenden. Es wird eine Ausgabe ähnlich der folgenden zurückgegeben:

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
quelle
4

Die Driftdatei (/ var / lib / ntp / drift) misst nicht die Differenz zwischen der Ortszeit und der von ntpd berechneten Zeit basierend auf den kontaktierten Zeitservern.

Stattdessen ist es die geschätzte Drift (Frequenzfehler) der lokalen Uhr (in ppm). Dieser Wert wird von ntpd einmal pro Stunde aktualisiert und nimmt mit der Zeit nicht ab.

Soweit ich weiß, wird der Wert von ntpd nach einem Neustart verwendet, um zu schätzen, wie falsch die lokale Uhr ist (die lokale Uhr läuft auch, wenn der Computer ausgeschaltet ist).

Beispiel: Inhalt der Datei: 5 Maschine wurde 1 Tag ausgeschaltet (86400 s) 5 ppm von 86400 sind 0,432 => Die lokale Uhr ist 0,432 s "in der Zukunft"

Die Punkte sind: - ntpd kann jetzt unmittelbar nach dem Start eine erste ungefähre Korrektur der Ortszeit (-0,432 s) vornehmen - ntpd weiß sofort, wie falsch die Ortszeit ist (in diesem Beispiel: 5 ppm)

(Ich darf den Kommentar von Sirex nicht kommentieren, daher habe ich einen neuen Kommentar hinzugefügt.)

Martin Schneeweis
quelle
3

Sie sollten einen Wert in der Drift-Datei haben. Sein Speicherort befindet sich in Ihrer /etc/ntp.conf

Beispiel: "Driftdatei / var / lib / ntp / drift"

Diese Datei wird verwendet, um zu protokollieren, wie weit Ihre Uhr von dem entfernt ist, was sie sein sollte, und langsam sollte ntp diesen Wert mit fortschreitender Zeit verringern. - Es wird nicht auf einmal ausgeführt, da dies zu Zeitstempelproblemen auf dem System führen kann.

Sirex
quelle
Das sind gute Infos, danke. Nach Ablauf der Zeit ist dies immer noch 0 und ich habe meine Informationen verloren. Protokolliert ntp keine Nachrichten, um mir mitzuteilen, dass es überhaupt fertig ist?
N-Alexander
3

ntpq -nc peers zeigt Ihnen Ihren Synchronisierungsstatus für alle Peers an.

BillThor
quelle
2

Sorry das ist ein alter Thread - hoffe ich habe hier keine Regel gebrochen :)

In /etc/ntp.conf habe ich eine Zeile, die so aussieht:

#statsdir /var/log/ntpstats/

Die Beschreibung besagt, dass diese Zeile aus dem Kommentar entfernt werden muss, um Statistiken zu protokollieren. Ich habe gerade erst ntp auf unserem Server eingerichtet, daher bin ich mir nicht sicher, was es protokolliert, aber ich bin hier gelandet und habe nach denselben Informationen gesucht. Hoffentlich hilft dies jemand anderem.

dsl101
quelle