Il formato di accesso nativo di Squid inizia con un timestamp epoch, scritto convenzionalmente come %ts.%03tu: secondi dall'epoch seguiti da tre cifre di millisecondi. Un valore in quella posizione non è una data di calendario formattata.

Controllare prima il formato access_log attivo. Per Squid 7, rivedere la scelta dell'output e del formato di access_log per l'istanza. Un formato di log personalizzato, un prefisso syslog o un processore di log a valle possono inserire un timestamp diverso all'inizio della riga visualizzata.

Tre controlli restringono il campo

  1. Decodificare il valore numerico con l'unità corretta. Le cifre frazionarie fanno parte di un valore in secondi, non di un timestamp intero separato in millisecondi.
  2. Confrontare l'ora UTC decodificata con la visualizzazione dell'ora locale. Una differenza di fuso orario può spostare l'ora visualizzata e talvolta il giorno del calendario; ma non spiega una data a molti anni di distanza.
  3. Confrontare un record recente con l'orologio della macchina che esegue quella istanza di Squid. Su un host systemd, timedatectl status riporta le impostazioni dell'orologio e lo stato di sincronizzazione.

Se anche l'orologio dell'host è errato, indagare la sincronizzazione dell'ora e, ove applicabile, la configurazione dell'ora della macchina virtuale. Una singola data di log inverosimile non basta a identificare una batteria dell'orologio hardware guasta.

Se l'orologio dell'host è corretto, verificare che il file sia aggiornato e appartenga a quella istanza. Controllare archivi ruotati, raccoglitori remoti e conversioni dei timestamp nello strumento di visualizzazione.

Distinguere anche il timestamp della transazione dal momento in cui un raccoglitore riceve la riga. La normale registrazione degli accessi avviene al completamento della richiesta, e la registrazione del demone può scrivere in modo asincrono. Una richiesta o un tunnel di lunga durata non deve necessariamente comparire all'ora della connessione iniziale.

Articoli correlati