Перевод подготовила команда проекта http://break-people.ru
Секция: Журналирование(LOGFILE)
-----------------------------------------------------------------------------
TAG: logformat
Использование:
logformat <name> <format specification>
Этот тэг определяет формат записи для журнала доступа(access.log)
<format specification> это строка со специальными символами
Специальные символы определяют некоторую базовую структуру записи данных в журнал. Выходная строка будет автоматически сформирована из данных определенных специальными символами.
% ["|[|'|#] [-] [[0]width] [{argument}] formatcode
" выходные данные заключить в кавычки
[ выходные данные в формате используемом для log_mime_hdrs
# выходные данные в URL формате
' выходные данные как есть(as-is)
- выравнивание по левому краю
width поля width. Если начинается с 0, то выходные данные будут сдвинуты на 0 относительно левого края
{arg} аргумента. Например, название заголовка(Header) и т.п.
Специальные символы:
>a
Client source IP address (Клиентский IP адрес)
>A
Client FQDN (Клиентский FQDN)
>p
Client source port (Клиентский порт)
<A
Server IP address or peer name (IP адрес сервера или имя пира)
la
Local IP address (http_port) (Локальный IP адрес)
lp
Local port number (http_port) (Локальный порт)
ts
Seconds since epoch (Прошло секунд с начала эпохи)
tu
subsecond time (milliseconds) (Время в миллисекундах)
tl
Local time. Optional strftime format argument (Локальное время). Формат по умолчанию %d/%b/%Y:%H:%M:%S %z
tg
GMT time. Optional strftime format argument (GMT время). Формат по умолчанию %d/%b/%Y:%H:%M:%S %z
tr
Response time (milliseconds) (Время ответа в мс)
>h
Request header. Optional header name argument (Заголовок запроса). Опционально можно задать имя заголовка header[:[separator]element]
<h
Reply header. Optional header name argument (Заголовок ответа)
un
User name (Имя пользователя)
ul
User name from authentication (Имя авторизованного пользователя)
ui
User name from ident (Имя пользователя от ident)
us
User name from SSL (Имя пользователя от SSL)
ue User name from external acl helper (Имя пользователя от внешней программы авторизации)
Hs
HTTP status code (Код ответа HTTP)
Ss
Squid request status (TCP_MISS etc) (Ответ Squid на запрос)
Sh
Squid hierarchy status (DEFAULT_PARENT etc) (Уровень этого Squid в иерархии нескольких прокси)
mt
MIME content type (MIME тип)
rm
Request method (GET/POST etc) (Метод запроса)
ru
URL запроса
rv
Протокол запроса, версия
ea
Лог строка возвращаемая от внешнего ACL
<st
Размер ответа включая HTTP заголовки
>st
Размер запроса включая HTTP заголовки
st
Общий размер Запрос + Ответ включая HTTP заголовки
%
знак %
Форматы по умолчанию:
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
logformat squidmime %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt [%>h] [%<h]
logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st %Ss:%Sh
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
По умолчанию:
none
Примечание break-people.ru: При задании формата, вы указываете его имя. Оно понадобится в соответствующих директивах. Например, первая строчка форматов по умолчанию задаёт некоторый формат с именем squid. Это значит, что затем в директивах типа access_log, вам не нужно прописывать формат записи в журнал, а следует просто указать имя squid вместо <logformat name>.
TAG: access_log
Этот тэг определяет местоположение журнала access.log в который будет производится запись клиентской активности. Каждая строка содержит HTTP или ICP запрос.
Формат:
access_log <filepath> [<logformat name> [acl acl ...]]
access_log none [acl acl ...]]
Этот тэг позволяет использовать механизм ACL при записи в журнал. Если ни один ACL не указан, следовательно все поступившие запросы будут записаны в журнал.
Для отключения функции ведения журнала, укажите вместо <filepath> значение "none".
Для записи в журнал через syslog, укажите путь к "syslog":
access_log syslog[:facility.priority] [format [acl1 [acl2 ....]]]
где facility может быть одним из:
authpriv, daemon, local0 .. local7 or user.
priority может быть одним из:
err, warning, notice, info, debug.
По умолчанию:
access_log /usr/local/squid/logs/access.log squid
TAG: log_access allow|deny acl acl...
Этот тэг позволяет определить, какие запросы будут записаны в журнал access.log. (смотри директиву access_log).
По умолчанию, записываются все запросы. То есть, к примеру, записываются все запросы на 6785(число выбрано произвольно) порт.
Пример, когда нужно запретить запись запросов на порт 6785 в журнал access.log:
acl bad_port port 6785
log_access deny bad_port
Пример, когда нужно запретить запись запросов к www.google.ru в журнал access.log:
acl google url_regex ^http://www.google.ru
log_access deny google
По умолчанию:
none
TAG: cache_log
Этот тэг определяет местоположение журнала cache.log. Этот журнал содержит основную информацию об использовании кэша.
По умолчанию:
cache_log /usr/local/squid/logs/cache.log
TAG: cache_store_log
Этот тэг определяет местоположение журнала store.log. Этот журнал отражает, какие объекты были взяты из кэша, какие объекты хранятся и как долго они хранятся. Для отключения ведения журнала введите "none". В этом журнале нет информации, которая была бы полезна при анализе работы кэша. Поэтому вы можете смело отключить ведение этого журнала.
По умолчанию:
cache_store_log /usr/local/squid/logs/store.log
TAG: cache_swap_state
Этот тэг определяет местоположение файла "swap.state". Этот файл содержит метаданные об объектах записананных на диск. Это используется при запуске Squid, для быстрого сбора информации о кэше. Обычно этот файл распологается в каждой директории cache_dir, но вы можете указать альтернативное месторасположение. Помните, вы должны указать полный путь к файлу, включая название файла, а не только путь из каталогов.
Если переменная %s используется в имени файла, то она будет заменена на полное имя директории кэша(полный путь к ней) cache_dir, где каждый знак '/' будет заменятся на знак '.'. Это необходимо для разрешения добавления/удаления cache_dir строк при использовании cache_swap_log.
Если у вас более одной cache_dir и переменная %s не используется, то swap файлы будут выглядеть так:
cache_swap_log.00
cache_swap_log.01
cache_swap_log.02
Если вы измените порядок расположения cache_dir в конфигурационном файле, то возникнет ошибка. Выход - удалить кэш и пересоздать его снова. Либо не изменять порядок расположения cache_dir, если в кэш сделана уже хотя бы одна запись.
По умолчанию:
none
TAG: logfile_rotate
Этот тэг определяет количество ротаций лог-файла. По умолчанию - 10. Это означает, что когда вы введете команду 'squid -k rotate', то текущий файл журнала получит расширение от 0 до 9 и будет отложен. Вместо него создастся новый файл для ведения журнала и теперь все записи будут вестись уже в новый файл. Если установить значение тэга logfile_rotate 0, то это отключит ротацию файлов.
Помните, команда 'squid -k rotate' обычно отправляет сигнал USR1 к запущенному процессу squid. В некоторых ситуациях(Например на Linux с Async I/O), USR1 используется для других целей, поэтому -k rotate использует другой сигнал. Следовательно вам не нужно использовать 'kill -USR1 <pid>'.
По умолчанию:
logfile_rotate 10
TAG: emulate_httpd_log on|off
Этот тэг определяет включение/выключение эмуляции 'httpd' формата ведения журнала. По умолчанию, Squid ведет журналы в своём собственном формате.
По умолчанию:
emulate_httpd_log off
TAG: log_ip_on_direct on|off
Этот тэг определяет, вести ли запись IP адрес назначения запроса, если он идет напрямую(direct). Ранние версии Squid вели запись имени хоста(hostname). Если вы предпочитаете старый способ, то вам необходимо установить значение этой директивы в off.
По умолчанию:
log_ip_on_direct on
TAG: mime_table
Этот тэг определяет путь к таблице Squid's MIME.
По умолчанию:
mime_table /usr/local/etc/squid/mime.conf
TAG: log_mime_hdrs on|off
Этот тэг определяет, вести ли запись обоих заголовков - запроса и ответа для каждой HTTP транзакции. Для включения этой возможности, вам следует установить значение этой директивы в on.
По умолчанию:
log_mime_hdrs off
TAG: useragent_log
Примечание: этот тэг доступен только если Squid собран с опцией --enable-useragent-log
Этот тэг определяет файл, в который Squid будет записывать поле User-Agent из HTTP запросов. По умолчанию, useragent_log выключен.
По умолчанию:
none
TAG: referer_log
Примечание: этот тэг доступен только если Squid собран с опцией --enable-referer-log option
Этот тэг определяет файл, в который Squid будет записывать поле Referer из HTTP запросов. По умолчанию, referer_log выключен. Помните, что "referer" это ошибочное написание "referrer", т.е. "referrer" - правильное написание. Но Squid понимает оба варианта.
По умолчанию:
none
TAG: pid_filename
Этот тэг определяет местоположение файла в который будет происходить запись id процесса. Для отключения, введите "none".
Примечание: Если вы измените значение этого тэга, вам нужно будет изменить на это же значение директиву squid_pidfile в /etc/rc.conf. Смотри /usr/local/etc/rc.d/squid для подробностей.
По умолчанию:
pid_filename /usr/local/squid/logs/squid.pid
TAG: debug_options
Этот тэг определяет секцию и уровень отладки. Формат записи debug_options секция,уровень_отладки . Уровень может быть выставлен от 1 до 9. Чем выше уровень отладки тем больше будет размер журнала. Рекомендуется "ALL,1".
По умолчанию:
debug_options ALL,1
TAG: log_fqdn on|off
Этот тэг позволяет включить/выключить запись полного формата доменных имен в access.log. Для того, чтобы это сделать Squid осуществляет DNS поиск всех подключающихся IP адресов. Этот тэг дополнительно нагружает систему в связи с чем может снизится производительность.
По умолчанию:
log_fqdn off
TAG: client_netmask
Этот тэг позволяет задать маску сети для клиентских адресов при записи в журналы. Измените этот тэг если вы хотите сохранить конфиденциальность ваших клиентов. Маска 255.255.255.0 означает, что у всех клиентских адресов последняя цифра IP адреса будет заменена на 0 в журнале. По умолчанию IP адреса записываются как есть.
По умолчанию:
client_netmask 255.255.255.255
TAG: forward_log
Примечание: этот тэг доступен только если Squid собран с опцией --enable-forward-log option
Этот тэг определяет местоположение журнала в который будет вестись запись запросов сервера.
Пока не работает.
По умолчанию:
none
TAG: strip_query_terms
Этот тэг позволяет включить/выключить опцию удаления значений передаваемых в URL запросе. Это сохраняет конфиденциальность ваших пользователей.
По умолчанию:
strip_query_terms on
TAG: buffered_logs on|off
Этот тэг позволяет включить/выключить буферизацию данных перед записью в файл журнала на диск.
По умолчанию:
buffered_logs off
Ссылки:
К содержаниюSquid на практике
Работа с Squid через Webmin
Анализатор логов Squid