
Tenho a tarefa de escrever um aplicativo que suporte comunicação NTP. Tudo funciona bem até agora, mas preciso saber se a última enquete NTP foi bem-sucedida ou não.
Quando retiro o cabo de rede, o ntpstat até me diz, na manhã seguinte, que estava tudo bem. Mas não houve comunicação NTP a noite toda...
Você tem alguma ideia?
Obrigado!
O ping não é uma boa solução, porque a resposta pode ser desativada pelo servidor ou o servidor está acessível, mas o daemon ntp não está em execução.
Responder1
Eu mesmo encontrei.
ntpq -pn possui uma coluna "alcance", que diminui, caso as enquetes não tenham sucesso
Responder2
A maioria dos aplicativos não se importa com a chegada de todos os pacotes NTP. O UDP sobre IP pode causar perdas ocasionalmente, isso acontece. O ntpd continua e ajusta com base no último deslocamento e desvio conhecidos. Na verdade, a maioria dos aplicativos não se importa com a sincronização do horário. Os poucos que o fazem podem esperar na inicialização até que o ntpd (ou chronyd) seja iniciado.
Um script de monitoramento de código aberto que atinge limites éntpmon. Para referência, considera 75% de todas as fontes NTP bem-sucedidas. Portanto, 6 dos 8 últimos pacotes, dado o alcance, são um número de 8 bits. Isso mais os limites de compensação constituem uma métrica de host para monitoramento de infraestrutura.
ntpstat provavelmente se refere aoscript de shell ntpstat(substituindo um programa anterior). O que imprimirá uma fonte e um erro estimado. E só sai com um código de retorno diferente de zero em casos específicos, como o daemon NTP não em execução. O ntpstat não alerta sobre o alcance, seja intencional para oferecer suporte a casos de uso desconectados ou se esse recurso nunca foi implementado, não sei.