como verificar se o NTP ajustou a hora do sistema no Linux?


18

Eu tenho uma máquina que teve alguns problemas com algumas das coisas em tempo real que estou executando. Uma pista que tenho é que o daemon NTP pode ter mudado o horário, causando falsos tempos limite.

Como descobrir se o daemon NTP realmente mudou o tempo? Algum registro? Eu vejo o daemon NTP reiniciado em / var / log / messages, mas não sei se o ajuste de tempo deve estar lá também.

para esclarecer: eu preciso entendê-lo a partir dos logs, após o evento. Pode ser 2 dias após o horário ser ajustado. A execução de comandos para ver o status atual não ajuda.

Respostas:


8

Você pode usar o ntpdc -c sysinfocomando para consultar o status ntpd. Retorna uma saída semelhante a esta:

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

O arquivo drift (/ var / lib / ntp / drift) não mede a diferença entre a hora local e a hora calculada pelo ntpd com base nos servidores de horário contatados.

Em vez disso, é o desvio estimado (erro de frequência) do relógio local (em ppm). Este valor é atualizado pelo ntpd uma vez por hora e não diminui com o tempo.

Tanto quanto eu posso dizer, o valor é usado pelo ntpd após uma reinicialização para estimar quão errado o relógio local está (o relógio local é executado mesmo quando a máquina está desligada).

Exemplo: Conteúdo do arquivo: 5 A máquina foi desligada 1 dia (86400 s) 5 ppm de 86400 é 0,432 => O relógio local é 0,432 s "no futuro"

Os pontos são: - o ntpd agora pode aplicar uma primeira correção aproximada à hora local (-0.432 s) imediatamente após o início - o ntpd sabe imediatamente como o relógio local está errado (neste exemplo: 5 ppm)

(Não tenho permissão para comentar sobre o comentário da Sirex, então adicionei um novo comentário)


3

você deve ter um valor no arquivo de deriva. Sua localização será no seu /etc/ntp.conf

por exemplo: "driftfile / var / lib / ntp / drift"

esse arquivo é usado para registrar a que distância o relógio está do que deveria ser e, lentamente, o ntp deve diminuir esse valor à medida que o tempo avança. - Não o faz de uma só vez, porque isso pode causar problemas de registro de data e hora no sistema.


esta é uma boa informação, obrigado. Ainda assim, após a mudança do tempo, será 0 e perderei minhas informações. O ntp não registra nenhuma mensagem para me dizer que foi feito?
N / alexander

3

ntpq -nc peers mostrará seu status de sincronização com todos os pares.


2

Desculpe, este é um tópico antigo - espero não ter quebrado uma regra aqui :)

No /etc/ntp.conf, tenho uma linha parecida com esta:

#statsdir /var/log/ntpstats/

A descrição diz para descomentar esta linha para registrar estatísticas. Acabei de configurar o ntp em nosso servidor, por isso não tenho certeza do que ele registra, mas acabei aqui procurando as mesmas informações, por isso espero que isso ajude outra pessoa.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.