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