Pular para o conteúdo principal
Esta página explica como o AppSignal lida com o tempo, por que máquinas podem reportar horários que não são precisos e como sincronizar servidores de aplicação com servidores NTP. Os dados que o AppSignal coleta da sua aplicação e do servidor de aplicação têm um carimbo de data/hora associado a eles. Esse carimbo é o momento em que uma requisição HTTP foi feita, um job em background foi iniciado, uma métrica foi definida ou um evento começou na aplicação. Esse horário é então usado para exibir gráficos, amostras e dados de eventos em ordem cronológica. ⚠️ O carimbo de data/hora associado aos dados de uma aplicação é baseado na data e hora do servidor da instância da aplicação. Se um servidor de aplicação não estiver reportando aproximadamente o horário atual, isso pode causar problemas no processamento e nos alertas do AppSignal. Quando uma aplicação possui vários servidores, esses servidores precisam reportar aproximadamente o mesmo horário. Uma diferença de segundos pode não ter um grande impacto, mas uma diferença de minutos criará efeitos indesejados. Isso inclui gráficos, métricas e amostras imprecisos, e notificações perdidas sobre alertas de detecção de anomalias. Leia mais sobre como os dados da sua aplicação e dos servidores são enviados aos servidores do AppSignal e como esses dados são processados na nossa página do ciclo de vida dos dados. Em particular, para alertas de detecção de anomalias, garantir que o horário correto seja enviado pela aplicação é muito importante para evitar perder alertas sobre métricas.

Desvio de relógio

Computadores podem sofrer com desvio de relógio, fazendo com que se afastem cada vez mais do relógio de referência, o horário atual. Isso significa que o relógio do servidor de uma aplicação pode estar vários minutos adiantado ou atrasado em relação ao horário real. Como os [dados de transação] usam o carimbo de data/hora do servidor, se o servidor estiver fora de sincronia, os dados enviados também ficarão fora de sincronia. Horários imprecisos podem causar problemas com os horários reportados para amostras, métricas e quebrar o reporte para gatilhos de detecção de anomalias. Amostras e métricas não serão exibidas no horário em que realmente ocorreram. A detecção de anomalias não conseguirá criar alertas para métricas reportadas com carimbos de data/hora imprecisos. Para minimizar o desvio de relógio, recomendamos que você configure seus servidores para sincronizar automaticamente seu horário atual com um servidor NTP.

Sobre o futuro

Quando o AppSignal detecta [dados de transação] com carimbos de data/hora baseados no futuro (a partir da perspectiva do horário atual do processador do AppSignal), ele envia uma notificação alertando os usuários da aplicação sobre o horário incorreto enviado pela aplicação. Essa notificação não está disponível para métricas (personalizadas) enviadas por uma instância da aplicação, mas pode ser adicionada no futuro.

Configurando a sincronização NTP

Sincronizar um servidor com servidores NTP garantirá que o horário do servidor seja aproximadamente o mesmo que o de um relógio de referência. NTP, Network Time Protocol, é o protocolo usado por computadores para sincronizar horários através de redes. Na prática, servidores e computadores pessoais consultam um ou mais servidores de tempos em tempos para obter o horário atual. Se o horário retornado for diferente do horário atual do computador, o computador atualiza seu horário atual para o valor NTP. Consultas frequentes aos servidores NTP por um servidor de aplicação garantirão que o servidor nunca se desvie demais do horário de referência. Os servidores do AppSignal também são configurados para sincronizar com servidores NTP. O pacote ntp sincronizará uma máquina com servidores NTP na maioria dos sistemas. O Ubuntu oferece o pacote timesyncd, como parte do systemd desde o Ubuntu 16.04. As instruções de configuração do NTP podem diferir para sua distribuição Linux ou Sistema Operacional, portanto, encontre um guia aplicável à sua configuração. Certifique-se de verificar a instalação do NTP checando se a data e hora atuais do servidor estão sincronizadas com servidores NTP usando os comandos ntpstat ou timedatectl status (Ubuntu/systemd).