Squid логи
Формат лога
Разберемся с форматом 'по умолчанию'
#logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt access_log /var/log/squid/access.log squid
Знак % означат что далее следует литерал а не терминальный символ
- %ts.%03tu : точка - это терминальный символ разделяющий значения, а число 03 аргумент (т.е. точность до 3х знаков) для tu
ts : Seconds since epoch - Количество секунд от 00:00 1970.01.01
tu : subsecond time (milliseconds) - доли секунду
- %6tr : Time Response - время отклика, миллисекунд
- %>a : адрес источника запроса
- %Ss/%03Hs :
Ss : Squid request status
Hs : HTTP status code - Статус коды HTTP протокола
- %<st : передано байт (В ответ, включая HTTP заголовок)
- %rm : Request method - метод запроса (POST, GET …)
- %ru : Request URL
- %un : User name
- %Sh/%<A :
Sh : Squid hierarchy status
<A : IP адрес запрашиваемого сервера
- %mt : MIME type
Создание собственного формата
Первое что хотелось бы сделать - это привычный формат времени
%tl - Local time, по умолчанию получим запись вот такого вида %d/%b/%Y:%H:%M:%S %z
07/Aug/2009:16:06:04 +0400
%tg - GMT time, покажет мировое время
07/Aug/2009:12:06:04 +0000
Модифицируем в %{%Y.%m.%d/%H:%M:%S}tl и получим
2009.08.07/16:26:55
Разделение логов
При необходимости можно легко разделять логи для разных acl
access_log <file> [<logformat name> [acl acl ...]]
Пример разделения логов с локального хоста и из локальной сети
access_log /var/log/squid/access.log mylogformat localhost access_log /var/log/squid/access_parsing.log mylogformat localnet
Чтобы логировать полый адрес URL
strip_query_terms off
Обсуждение
Спасибо Вам большое!!
Здравствуйте! А не подскажите, можно ли определённые get запросы не логировать?
Сам спросил, сам отвечу. Что не логировать что-то, добавить вот это:
acl exclude url_regex -i regexp
access_log none exclude
где regexp, то что не должно быть в логах, слово или регулярное выражение, можно использовать файл, путь к нему указать в кавычках.