[[Squid логи]]

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

Статус запроса в squid

Hs : HTTP status code - Статус коды HTTP протокола

  • %<st : передано байт (В ответ, включая HTTP заголовок)
  • %rm : Request method - метод запроса (POST, GET …)
  • %ru : Request URL
  • %un : User name
  • %Sh/%<A :

Sh : Squid hierarchy status

Коды иерархий в Squid

<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

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
77 +0​ = ?
 
doc/squidlogformat.txt · Последние изменения: 2012/09/28 10:13 — lexa
Gentoo Linux Driven by DokuWiki