Собственный формат доступа Squid начинается с метки времени epoch, обычно записываемой как %ts.%03tu: секунды с начала epoch, за которыми следуют три разряда миллисекунд. Значение в этой позиции не является отформатированной календарной датой.

Сначала проверьте активный формат access_log. Для Squid 7 просмотрите выбор вывода и формата access_log для этого экземпляра. Пользовательский формат журнала, префикс syslog или последующий обработчик журналов могут поместить другую метку времени в начало отображаемой строки.

Три проверки сужают круг

  1. Декодируйте числовое значение с правильной единицей. Дробные разряды являются частью значения в секундах, а не отдельной целой меткой времени в миллисекундах.
  2. Сравните декодированное время UTC с отображением местного времени. Разница часовых поясов может сдвинуть отображаемый час и иногда календарный день; но она не объясняет дату, отстоящую на много лет.
  3. Сравните свежую запись с часами машины, на которой работает этот экземпляр Squid. На хосте с systemd timedatectl status сообщает настройки часов и состояние синхронизации.

Если часы хоста тоже неверны, исследуйте синхронизацию времени и, где применимо, настройку времени виртуальной машины. Одной неправдоподобной даты в журнале недостаточно, чтобы определить неисправную батарею аппаратных часов.

Если часы хоста верны, убедитесь, что файл актуален и принадлежит этому экземпляру. Проверьте ротированные архивы, удалённые сборщики и преобразования меток времени в инструменте просмотра.

Также отличайте метку времени транзакции от момента получения строки сборщиком. Обычное журналирование доступа происходит при завершении запроса, а журнал демона может записываться асинхронно. Длительный запрос или туннель не обязан появляться во время первоначального подключения.

Похожие статьи