| |
Voltar
Instalação
do NTP à partir dos fontes
A
instalação à partir dos fontes permite
trabalhar
com a última versão do ntp. Permite
também ter
certeza de que se está rodando o software padrão,
sem
modificações de terceiros.
Verifique no site do NTP http://www.ntp.org/downloads.html
qual o link para o download da versão mais recente. Na
época em que essa página foi escrita a
versão mais
recente era 4.2.4p4.
Faça o download do arquivo, descompacte-o, entre na
pasta criada e então rode o script de
configuração, compile e instale:
root@servidor#
wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.2p4.tar.gz
root@servidor# tar
zxvf ntp-4.2.4p4.tar.gz
root@servidor#
cd ntp-4.2.4p4
root@servidor:~/ntp-4.2.4p4#
./configure
root@servidor:~/ntp-4.2.4p4#
make
root@servidor:~/ntp-4.2.4p4#
make install
Substitua
o conteúdo do arquivo de configuração
padrão /etc/ntp.conf
pela configuração abaixo.
root@servidor:~/ntp-4.2.4p4#
wget http://www.ntp.br/xnix/ntp.conf
root@servidor:~/ntp-4.2.4p4#
cp ./ntp.conf /etc/ntp.conf
Esse
arquivo pode
ser baixado aqui.
# "memoria" para o escorregamento de frequencia do micro # pode ser necessario criar esse arquivo manualmente com # o comando touch ntp.drift driftfile /etc/ntp.drift
# estatisticas do ntp que permitem verificar o historico # de funcionamento e gerar graficos statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable
# servidores publicos do projeto ntp.br server a.ntp.br iburst server b.ntp.br iburst server c.ntp.br iburst
# outros servidores # server outro-servidor.dominio.br iburst
# configuracoes de restricao de acesso restrict default kod notrap nomodify nopeer
A hora do seu computador pode ser ajustada inicialmente com o seguinte
comando:
#/usr/local/bin/ntpd -q -g
Isso
permite que o ntp ajuste seu relógio mesmo que ele tenha um
erro
de tempo absurdamente alto (maior que 16 min). O daemon ntp pode ser
executado então:
#/usr/local/bin/ntpd
Arquivos
de inicialização apropriados podem ser criados
conforme o
padrão de sua distribuição.
Assista a um mini tutorial em vídeo mostrando essa
instalação:
Voltar
Topologia
Se
você é um usuário doméstico,
ou sua rede
é muito pequena, com menos do que 3 equipamentos, use a
configuração sugerida no item anterior e
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:
Melhores
resultados são obtidos com servidores baseados em unix, como
FreeBSD, OpenBSD e Linux, contudo é possível
utilizar
também servidores Windows.
Acrescente então ao arquivo de
configuração o seguinte:
peer outro-serv.suarede.com.br peer outro-serv.suarede.com.br
Dessa
forma, cada um dos seus servidores se comunicará com os
outros
dois, podendo atuar tanto consultando o tempo como fornecendo. Caso
algum deles perca a conexão com a Internet essa
configuração fará a
redundância.
Voltar
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.449
A 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
status=0674
leap_none, sync_ntp, 7 events, event_peer/strat_chg,
version="ntpd
4.2.2p4@1.1585-o Fri Dec 21 12:11:30 UTC 2007 (1)",
processor="i386",
system="FreeBSD/6.2-RELEASE-p9", leap=00, stratum=2,
precision=-19,
rootdelay=0.190, rootdispersion=9.288, peer=55053,
refid=200.160.7.165,
reftime=cb30fba4.4923180b
Thu, Jan 10 2008 18:16:36.285, poll=4,
clock=cb30fc19.0b973e9e
Thu, Jan 10 2008 18:18:33.045, state=4,
offset=-0.107,
frequency=31.729, jitter=0.039, noise=0.016,
stability=0.007,
tai=0
Enquanto 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 |
| rootdispersão |
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) |
Voltar
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
Voltar
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.txt
E pronto, como a saída esta redirecionada para display,
vê-se o gif gerado na tela:

Assista a um mini tutorial em vídeo mostrando o uso do gnuplot no Windows:
Voltar
|
|