Configurações Adicionais
Topologia
Se você é um usuário doméstico, ou sua rede é pequena ou média, sincronize cada equipamento com o NTP.br diretamente.
Caso contrário, é recomendado que você escolha 3 equipamentos para serem servidores de tempo. Eles estarão sincronizados com o NTP.br, e os demais equipamentos de sua rede se sincronizarão com eles, conforme ilustra a figura a seguir. É importante que você use todos os servidores disponíveis no NTP.br não apenas os três ilustrados na figura, e que você habilite o NTS para as consultas aos servidores do NTP.br:

Melhores resultados são obtidos com servidores baseados em Unix, como FreeBSD, OpenBSD e Linux. Não se recomenda servidores Windows, nem equipamentos de rede, como roteadores, operando como servidores..
Acrescente então ao arquivo de configuração o seguinte (ou seja, faça seus servidores também se consultarem entre si):
server outro-serv.suarede.com.br server outro-serv.suarede.com.br
Interpretando o ntpq
O ntp traz consigo algumas ferramentas que permitem monitorar seu funcionamento. A mais importante é o ntpq. A seguir são apresentados dois comandos do ntpq que permitem visualizar algumas variáveis importantes do ntp:
ntpq -c pe
Uma reposta normal se parece com essa:
ntpq -c pe remote refid st t when poll reach delay offset jitter ============================================================================== *ttm.nic.br .GPS. 1 u 8 16 377 0.320 -0.008 1.340 +server20.pop-df .GPS. 1 u 11 16 377 15.608 -0.002 0.491 201.63.254.68 .INIT. 16 u - 16 0 0.000 0.000 0.000 +santuario.pads. .GPS. 1 u 59 64 377 6.852 -0.002 0.045 xtime.nist.gov .ACTS. 1 u 56 64 377 282.494 -45.091 1.718 -ntp2.usno.navy. .USNO. 1 u 52 64 377 135.380 4.391 7.449 -a.ntp.br 200.160.7.192 2 u 15 16 377 0.362 0.424 0.048 -b.ntp.br 200.160.7.186 2 u 17 16 376 17.544 1.562 0.134 -c.ntp.br 200.160.7.192 2 u 10 16 377 15.680 0.393 0.012 -clock.trit.net 192.12.19.20 2 u 42 64 377 296.580 -29.083 0.574 -Stone.Rodents.M 65.71.16.189 3 u 47 64 377 249.918 -7.678 0.963 -rbi0261.giga-dn 192.53.103.104 2 u 49 64 377 262.197 18.316 0.845 -einstein.postre 66.187.233.4 2 u 43 64 377 341.553 34.962 38.449A primeira coluna apresenta os tally codes, que significam o seguinte:
- * o system peer, par do sistema, ou principal fonte de sincronização
- o o system peer, par do sistema, ou principal fonte de sincronização, mas apenas se a fonte for o sinal de um pulso por segundo (PPS)
- + candidate, ou um relógio sobrevivente, indica que é uma boa fonte de sincronização e que está sendo utilizada no momento, juntamente com o par do sistema, para ajustar o relógio local
- - outlyer, ou relógio afastado, indica que é uma boa fonte de sincronização, mas não sobreviveu ao algorítmo de agrupamento, ou seja, no momento há opções melhores e ela não está sendo utilizada
- x falseticker, ou relógio falso, indica que não é uma boa fonte de sincronização, foi descartada já no algorítmo de seleção de relógios por discordar muito das outras fontes
- . excess, excesso: a fonte foi rejeitada por não estar entre as 10 melhores
- (espaço em branco) reject, relógio rejeitado porque não responde, porque há um loop na sincronização, ou porque ele apresenta uma distância na sincronização enorme
Mais informações podem ser obtidas na página do ntpq.
A tabela a seguir mostra o significado das demais colunas:
Coluna | Significado |
---|---|
remote | nome ou IP da fonte de tempo |
refid | a referência (par do sistema) à qual o servidor de tempo remoto está sincronizado |
st | o estrato da fonte de tempo |
when | quanto segundos se passaram desde a última consulta à essa fonte de tempo |
poll | de quantos em quantos segundos essa fonte é consultada |
reach | um registrador de 8 bits que vai girando para a esquerda representado na forma octal, que mostra o resultado das últimas 8 consultas à fonte de tempo: 377 = 11.111.111 significa que todas as consultass foram bem sucedidas; outros número indicam falhas, por exemplo 375 = 11.111.101, indica que a penúltima consulta falhou |
delay | atrasou, ou tempo de ida e volta, em milisegundos, dos pacotes até essa fonte de tempo |
offset | deslocamento, ou quanto o relógio local tem de ser adiantado ou atrasado, em milisegundos, para ficar igual ao da fonte de tempo |
jitter | a variação, em milisegundos, entre as diferentes medidas de deslocamento para essa fonte de tempo |
ntpq -c rl
Uma reposta normal se parece com essa:
%ntpq -c rl associd=0 status=0614 leap_none, sync_ntp, 1 event, freq_mode, version="ntpd 4.2.6p5@1.2349-o Mon Apr 13 13:39:46 UTC 2015 (1)", processor="x86_64", system="Linux/3.13.0-36-generic", leap=00, stratum=2, precision=-22, rootdelay=9.141, rootdisp=155.934, refid=200.186.125.195, reftime=d934225c.0e476dff Tue, Jun 23 2015 15:22:20.055, clock=d9342283.bf40eca3 Tue, Jun 23 2015 15:22:59.747, peer=59316, tc=6, mintc=3, offset=9.460, frequency=1.909, sys_jitter=5.893, clk_jitter=2.077, clk_wander=0.978Enquanto o ntpq -c pe apresenta as variáveis relacionadas a cada associação, ou seja, a cada fonte de tempo, o ntpq -c rl apresenta as variáveis (globais) do sistema. As mais importantes estão indicadas na tabela a seguir:
Variável | Significado |
---|---|
version | Versão do ntp |
stratum | Estrato do servidor local |
precision | Precisão indicada com o expoente de um número base 2 |
rootdelay | Atraso ou tempo de ida e volta dos pacotes até o estrato 0, em milisegundos |
rootdisp | Erro máximo da medida de offset em relação ao estrato 0, em milisegundos |
refid | O par do sistema, ou principal referência |
offset | Deslocamento, quanto o relógio local tem de ser adiantado ou atrasado para chegar à hora certa (hora igual à do estrato 0) |
frequency | Erro na freqüência do relógio local, em relação à freqüência do estrato 0, em partes por milhão (PPM) |
Interpretando os logs
Os principais logs do ntp são o loopstats, que apresenta as informações do loop local, ou seja, as variáveis do sistema, e o peerstats, que apresenta as informações de cada associação.
loopstats
Seu formato é o seguinte:
day, second, offset, drift compensation, estimated error, stability, polling interval dia, segundo, deslocamento, escorregamento, erro estimado, estabilidade, e intervalo de consulta
Exemplo:
54475 73467.286 -0.000057852 31.695 0.000015298 0.006470 4 54475 73548.286 -0.000084064 31.688 0.000017049 0.006471 4 54475 73682.286 -0.000077221 31.678 0.000016130 0.006988 4 54475 73698.286 -0.000077448 31.677 0.000015103 0.006550 4 54475 73761.286 -0.000083230 31.672 0.000014275 0.006376 4 54475 73889.286 -0.000059100 31.665 0.000015846 0.006487 4 54475 74004.285 -0.000045825 31.660 0.000015548 0.006324 4 54475 74086.286 -0.000038670 31.657 0.000014762 0.006011 4 54475 74156.285 -0.000052920 31.653 0.000014699 0.005759 4 54475 74251.285 -0.000053223 31.649 0.000013766 0.005651 4 54475 74268.286 -0.000062545 31.648 0.000013292 0.005298 4
peerstats
Seu formato é o seguinte:
day, second, address, status, offset, delay, dispersion, skew (variance) dia, segundo, endereço, estado, deslocamento, atraso, dispersão, variância
Exemplo:
54475 34931.294 200.20.186.75 9074 0.009958844 0.008390600 0.000390895 0.000132755 54475 34931.301 200.192.232.43 f0f4 0.000348814 0.015550265 0.001120348 0.000023645 54475 34932.303 200.189.40.28 f0f4 0.000810708 0.017701986 0.188995109 0.000043145 54475 34934.286 200.160.0.28 f0d4 0.000332344 0.000271801 0.000620139 0.000037467 54475 34935.286 200.160.7.165 9614 0.000003557 0.000216088 0.000826694 0.000022076 54475 34935.301 200.19.119.69 9334 0.002667663 0.015740055 0.001858731 0.001733883 54475 34935.303 200.186.125.200 f034 0.004857359 0.016764821 0.000719509 0.000303380 54475 34936.301 200.189.40.42 f0b4 -0.000738445 0.015510523 0.000390094 0.000039731 54475 34936.301 200.19.119.120 9434 0.000009164 0.015505927 0.000447001 0.000030319 54475 34938.301 200.192.232.28 f0f4 0.000363627 0.015584684 0.063231626 0.000020460 54475 34939.286 200.160.0.8 f054 0.000368748 0.000334013 0.000484437 0.000013953 54475 34939.286 200.160.0.43 f034 0.000325615 0.000260201 0.000849475 0.000039634
Gerando gráficos
A interpretação dos arquivos de log fica bastante facilitada com o uso de gráficos. E uma vez que se conhece seu formato fica muito fácil gerá-los. Várias ferramentas podem ser utilizadas para isso, mas recomenda-se o uso do gnuplot. Foge do escopo desse site dar informações detalhadas sobre a instalação ou uso dessa ferramenta, então consulte http://www.gnuplot.info/ para mais informações. O software funciona em GNU/Linux, FreeBSD, Windows e outros sistemas.
Segue um exemplo de uso, no GNU/Linux com interface gráfica, que permitirá aos interessados entender o processo:
Cria-se um arquivo chamado deslocamento.txt com o seguinte conteúdo:
set term gif set output '| display' set title "Deslocamento" plot "/var/log/ntpstats/loopstats" using 2:3 t"deslocamento" with linespoints lt rgb "#d0d0d0";
Observe-se que o comando plot faz referência ao arquivo loopstats, e usa suas colunas 2 e 3, 2 representa o tempo, no dia, em segundos; e 3 representa o deslocamento, em milisegundos.
Executa-se o seguinte comando:
gnuplot deslocamento.txtE pronto, como a saída esta redirecionada para display, vê-se o gif gerado na tela:
