1. Execute o comando
ntpq com a opção
-c peers, que lista estatísticas dos servidores cadastrados no arquivo
/etc/ntp.conf:
# ntpq -c pe
Ou:
# ntpq -c peers
* Se a resposta for algo parecido com a descrita abaixo, o daemon não está ativo:
localhost.localdomain: timed out, nothing received
***Request timed out
* Se a resposta for próxima da descrita abaixo, o NTP está operando:
remote refid st t when poll reach delay offset jitter
======================================================================
a.st1.ntp.br .INIT. 16 u - 64 0 0.000 0.000 0.000
Segue mais um resultado de um NTP com mais de 1 servidor de horas configurado:
remote refid st t when poll reach delay offset jitter
===================================================================================
+a.st1.ntp.br .ONBR. 1 u 8 64 1 11.929 -0.405 1.353
201.49.148.135 .STEP. 16 u - 64 0 0.000 0.000 0.000
*d.st1.ntp.br .ONBR. 1 u 4 64 1 19.496 -0.530 0.392
-a.ntp.br 200.160.7.186 2 u 4 64 1 11.061 0.117 1.151
+b.ntp.br 200.20.186.76 2 u - 64 1 14.459 -2.561 2.544
Obs.:
stratum 16, indica servidor inoperante.
Entendendo os campos:
- O caractere * mostra o endereço preferencial para sincronização do sistema de horas.
- O caractere + mostra outros endereços que também são preferenciais, mas com menor peso e, eles serão utilizados apenas na indisponibilidade do endereço que é sinalizado pelo *.
- A coluna offset mostra em milissegundos, o quanto a hora no servidor precisa adiantar ou atrasar para ficar igual a do servidor NTP (esses valores devem estar em milissegundos. Acima de segundos, não é um bom resultado.)
- A coluna delay, mostra o tempo que o pacote demora para ir ao servidor e voltar para o host.
- A coluna jitter mostra o quanto em milissegundos existe de variação nas medidas de deslocamento dos pacotes, e quanto mais baixo, melhor.
- A coluna reach mostra o resultado em octal das últimas 8 tentativas de conexão ao servidor preferencial de horas. O valor esperado é 377, que indica que as últimas tentativas obtiveram sucesso! Valores diferentes indicam falhas ocorridas. Para melhor compreensão, é um registrador de 8 bits que vai girando para à esquerda representado na forma octal, que mostra o resultado das últimas 8 consultas à fonte de tempo: 377 = 11.111.111, significa que todas as consultas foram bem sucedidas; outros números indicam falhas, por exemplo 375 = 11.111.101, indica que a penúltima consulta falhou.
- A coluna refid mostra a referência (par do sistema) ao qual o servidor de tempo remoto está sincronizado.
- A coluna st mostra o strato da fonte de tempo.
- A coluna when quanto segundos se passaram desde a última consulta à essa fonte de tempo.
- A coluna poll mostra de quantos em quantos segundos essa fonte é consultada.
2. Execute-o novamente com a opção
-c rv para visualizar o estado da hora local.
# ntpq -c rv
assID=0 status=46f4 leap_add_sec, sync_ntp, 15 events, event_peer/strat_chg,
version="ntpd 4.2.4p8@1.1612-o Thu Jan 10 15:17:40 UTC 2013 (1)",
processor="x86_64", system="Linux/2.6.32-279.19.1.el6.x86_64", leap=01,
stratum=3, precision=-24, rootdelay=15.668, rootdispersion=59.025,
peer=14178, refid=192.0.2.151,
reftime=d59b9d48.ef695513 Thu, Jul 25 2013 9:49:12.935, poll=10,
clock=d59ba39e.61ba5ac8 Thu, Jul 25 2013 10:16:14.381, state=4,
offset=0.073, frequency=7.577, jitter=0.051, noise=0.232,
stability=0.018, tai=0
Entendendo os campos:
- Variável version :: mostra a versão do NTP e sua data e hora de construção.
- Variável processor :: mostra a versão e plataforma do hardware.
- Variável stratum :: que pode ir de 1 até 15 mostra a distância que o servidor NTP usado está do relógio de referência que transmite a hora UCT, que por sua vez está em stratum-0! Lembrando que quanto mais próximo o servidor estiver do stratum-0, menos atraso ele terá em relação ao UCT; ou seja quanto menor a distância melhor...
- Variável peer :: ID associado ao servidor NTP preferencial.
- Variável reftime :: mostra a data e hora que o servidor preferencial foi atualizado pela última vez pelo seu stratum superior.
- Variável clock :: data e hora do dia! Aquele que foi setado/configurado no seu servidor host.
- Variável offset :: deslocamento, quanto o relógio local tem de ser adiantado ou atrasado para chegar à hora certa (hora igual a do estrato 0)
- Variável precision :: precisão indicada com o expoente de um número base 2.
- Variável rootdisperion :: erro máximo da medida de offset em relação ao strato 0, em milissegundos.
- Variável rootdelay :: atraso ou tempo de ida e volta dos pacotes até o strato 0, em milissegundos.
- Variável refid :: o par do sistema, ou principal referência.
- Variável frequency :: erro na frequência do relógio local, em relação à frequência do estrato 0, em partes por milhão (PPM).
3. Obtendo informações separadamente de cada servidor NTP configurado. Essa forma é utilizada, por exemplo, para medir as informações de um servidor NTP secundário a fim de tomar alguma decisão, como a de substituir o servidor preferencial problemático por algum outro do pool.
Primeiro liste o ID dos servidores NTP configurados com o comando
ntpq -c as:
# ntpq -c as
Ou:
# ntpq -c associations
ind assid status conf reach auth condition last_event cnt
===============================================================
1 1824 8011 yes no none reject mobilize 1
2 1825 8011 yes no none reject mobilize 1
3 1826 8011 yes no none reject mobilize 1
4 1827 8011 yes no none reject mobilize 1
Depois de obtido o ID (segunda coluna), obtenha as informações do servidor NTP entrando na linha de comando da ferramenta
ntpq e utilize a opção
rv, seguido do ID:
# ntpq
ntpq> rv 1824
associd=1824 status=8011 conf, sel_reject, 1 event, mobilize,
srcadr=a.st1.ntp.br, srcport=123, dstadr=192.168.90.145, dstport=123,
leap=11, stratum=16, precision=-23, rootdelay=0.000, rootdisp=0.000,
refid=INIT, reftime=00000000.00000000 Sun, Dec 31 1899 20:53:32.000,
rec=00000000.00000000 Sun, Dec 31 1899 20:53:32.000, reach=000,
unreach=12, hmode=3, pmode=0, hpoll=9, ppoll=10, headway=0,
flash=1600 peer_stratum, peer_dist, peer_unreach, keyid=0, offset=0.000,
delay=0.000, dispersion=15937.500, jitter=0.000, xleave=0.028,
filtdelay= 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00,
filtoffset= 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00,
filtdisp= 16000.0 16000.0 16000.0 16000.0 16000.0 16000.0 16000.0 16000.0