come verificare se NTP ha regolato l'ora di sistema su Linux?


18

Ho una macchina che ha avuto dei problemi con alcune delle cose in tempo reale che sto correndo. Un vantaggio che ho è che il demone NTP potrebbe aver spostato il tempo, causando falsi timeout.

Come faccio a sapere se il demone NTP ha effettivamente spostato del tempo? Qualche registro? Vedo il demone NTP riavviarsi in / var / log / messages, ma non so se anche la regolazione del tempo dovrebbe essere presente.

per chiarire: ho bisogno di capirlo dai registri, dopo l'evento. Può essere 2 giorni dopo che l'ora è stata regolata. L'esecuzione di comandi per visualizzare lo stato corrente non aiuta.

Risposte:


8

È possibile utilizzare il ntpdc -c sysinfocomando per interrogare lo stato di ntpd. Restituisce un output simile al seguente:

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

4

Il driftfile (/ var / lib / ntp / drift) non misura la differenza tra l'ora locale e l'ora calcolata da ntpd in base all'ora dei server contattati.

Invece è la deriva stimata (errore di frequenza) dell'orologio locale (in ppm). Questo valore viene aggiornato da NTTP una volta all'ora e non diminuisce nel tempo.

Per quanto ne so, il valore viene utilizzato da NTTP dopo un riavvio per stimare quanto sia errato l'orologio locale (l'orologio locale funziona anche quando la macchina è spenta).

Esempio: contenuto del file: 5 La macchina è stata spenta 1 giorno (86400 s) 5 ppm di 86400 è 0,432 => L'orologio locale è 0,432 s "in futuro"

I punti sono: - ntpd ora può applicare una prima correzione approssimativa all'ora locale (-0,432 s) subito dopo l'avvio - ntpd sa immediatamente, quanto è sbagliato l'orologio locale (in questo esempio: 5 ppm)

(Non sono autorizzato a commentare il commento di Sirex, quindi ho aggiunto un nuovo commento)


3

dovresti avere un valore nel file drift. La sua posizione sarà nel tuo /etc/ntp.conf

ad esempio: "driftfile / var / lib / ntp / drift"

questo file viene utilizzato per registrare la distanza dell'orologio da ciò che dovrebbe essere e lentamente ntp dovrebbe abbassare questo valore con il passare del tempo. - Non lo farà in una sola volta perché ciò potrebbe causare problemi di data e ora sul sistema.


questa è una buona informazione, grazie. Tuttavia, dopo che il tempo è stato spostato, questo sarà 0 e avrò perso le mie informazioni. Ntp non registra alcun messaggio per dirmi che è stato fatto?
n-alexander,

3

ntpq -nc peers ti mostrerà il tuo stato di sincronizzazione con tutti i peer.


2

Spiacente, questo è un vecchio thread - spero di non aver infranto una regola qui :)

In /etc/ntp.conf, ho una linea che assomiglia a questa:

#statsdir /var/log/ntpstats/

La descrizione dice di decommentare questa riga per registrare le statistiche. Ho appena impostato ntp sul nostro server, quindi non sono sicuro di cosa registri, ma sono finito qui alla ricerca delle stesse informazioni, quindi spero che questo possa aiutare qualcun altro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.