Squids natives Zugriffsformat beginnt mit einem Epoch-Zeitstempel, üblicherweise geschrieben als %ts.%03tu: Sekunden seit der Epoche, gefolgt von drei Ziffern Millisekunden. Ein Wert an dieser Stelle ist kein formatiertes Kalenderdatum.

Prüfen Sie zuerst das aktive access_log-Format. Bei Squid 7 sehen Sie sich die Auswahl von Ausgabe und Format für access_log für die Instanz an. Ein benutzerdefiniertes Protokollformat, ein syslog-Präfix oder ein nachgelagerter Protokollprozessor kann einen anderen Zeitstempel an den Anfang der angezeigten Zeile setzen.

Drei Prüfungen grenzen es ein

  1. Dekodieren Sie den Zahlenwert mit der richtigen Einheit. Die Nachkommastellen sind Teil eines Sekundenwerts, kein separater ganzzahliger Zeitstempel in Millisekunden.
  2. Vergleichen Sie die dekodierte UTC-Zeit mit der Anzeige der Ortszeit. Eine Zeitzonendifferenz kann die angezeigte Stunde und manchmal den Kalendertag verschieben; sie erklärt aber kein Datum, das viele Jahre entfernt liegt.
  3. Vergleichen Sie einen frischen Eintrag mit der Uhr der Maschine, auf der diese Squid-Instanz läuft. Auf einem systemd-Host meldet timedatectl status Uhrzeiteinstellungen und Synchronisierungsstatus.

Wenn auch die Host-Uhr falsch ist, untersuchen Sie ihre Zeitsynchronisierung und gegebenenfalls die Zeitkonfiguration der virtuellen Maschine. Ein einzelnes unplausibles Protokolldatum reicht nicht aus, um eine defekte Hardware-Uhr-Batterie zu identifizieren.

Wenn die Host-Uhr korrekt ist, bestätigen Sie, dass die Datei aktuell ist und zu dieser Instanz gehört. Prüfen Sie rotierte Archive, entfernte Sammler und Zeitstempelumrechnungen im Betrachtungswerkzeug.

Unterscheiden Sie außerdem den Transaktionszeitstempel von dem Zeitpunkt, an dem ein Sammler die Zeile erhält. Die normale Zugriffsprotokollierung erfolgt beim Abschluss der Anfrage, und die Daemon-Protokollierung kann asynchron schreiben. Eine lang laufende Anfrage oder ein Tunnel muss nicht zum Zeitpunkt der ursprünglichen Verbindung erscheinen.

Ähnliche Artikel