Когда журнал доступа Squid выглядит отставшим на годы
Прежде чем что-либо менять, разделите исходную метку времени epoch, преобразование часового пояса и фактические часы хоста прокси.
Собственный формат доступа Squid начинается с метки времени epoch, обычно записываемой как %ts.%03tu: секунды с начала epoch, за которыми следуют три разряда миллисекунд. Значение в этой позиции не является отформатированной календарной датой.
Сначала проверьте активный формат access_log. Для Squid 7 просмотрите выбор вывода и формата access_log для этого экземпляра. Пользовательский формат журнала, префикс syslog или последующий обработчик журналов могут поместить другую метку времени в начало отображаемой строки.
Три проверки сужают круг
- Декодируйте числовое значение с правильной единицей. Дробные разряды являются частью значения в секундах, а не отдельной целой меткой времени в миллисекундах.
- Сравните декодированное время UTC с отображением местного времени. Разница часовых поясов может сдвинуть отображаемый час и иногда календарный день; но она не объясняет дату, отстоящую на много лет.
- Сравните свежую запись с часами машины, на которой работает этот экземпляр Squid. На хосте с systemd
timedatectl statusсообщает настройки часов и состояние синхронизации.
Если часы хоста тоже неверны, исследуйте синхронизацию времени и, где применимо, настройку времени виртуальной машины. Одной неправдоподобной даты в журнале недостаточно, чтобы определить неисправную батарею аппаратных часов.
Если часы хоста верны, убедитесь, что файл актуален и принадлежит этому экземпляру. Проверьте ротированные архивы, удалённые сборщики и преобразования меток времени в инструменте просмотра.
Также отличайте метку времени транзакции от момента получения строки сборщиком. Обычное журналирование доступа происходит при завершении запроса, а журнал демона может записываться асинхронно. Длительный запрос или туннель не обязан появляться во время первоначального подключения.