O uso de um script para monitorar ntpd
não é comumente feito. Normalmente, uma ferramenta de monitoramento como nagios
ou munin
é usada para monitorar o daemon. A ferramenta pode enviar um alerta quando as coisas dão errado. Eu tenho munin
me enviando por e-mail se o deslocamento exceder 15 milissegundos.
Normalmente, você deve usar um número ímpar de servidores para que o daemon possa executar uma eleição entre os servidores, caso algum deles seja desativado. Três é geralmente adequado e mais de cinco é excessivo. Os clientes na sua rede interna devem conseguir se conectar a um servidor interno se você monitorá-lo. Use servidores legítimos ou seus servidores NTP ou DNS de ISPs como fontes de relógio. Existem pools públicos e servidores públicos.
ntpd
é auto-ajustável e não é necessário ajustá-lo depois de configurado e iniciado. Com implementações ntpd
recentes, você pode descartar o uso de ntpdate
totalmente, já que elas podem fazer a configuração inicial da data.
O seguinte script irá analisar os deslocamentos na saída do ntpd e reportar um deslocamento excessivo. Você poderia executá-lo a partir do cron para enviar e-mail se houver problemas. O padrão do script é alertar em um deslocamento de 0,1 segundo.
#!/bin/bash
limit=100 # Set your limit in milliseconds here
offsets=$(ntpq -nc peers | tail -n +3 | cut -c 62-66 | tr -d '-')
for offset in ${offsets}; do
if [ ${offset:-0} -ge ${limit:-100} ]; then
echo "An NTPD offset is excessive - Please investigate"
exit 1
fi
done
# EOF