Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
squid.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

6.5 Hierarchy.Log

Этот лог-файл используется только в версии Squid-1.0. Его формат

[date] URL peerstatus peerhost

6.6 Access.Log

Работа большинства программ, анализирующих файл журналов, основана на сожержимом access.log. В настоящее время существуют два возможных формата этого файла журнала в зависимости от значения конфигурационной опции emulate_httpd_log. По умолчанию, Squid журналирует данные в собственном формате. Если указанная выше опция включена, то Squid будет использовать общий формат файла журнала, который использует web-демон CERN.

Общий формат файла журнала содержит меньше информации, чем собственный формат и она немного различна. Собственный формат содержит больше интересной для администратора информации о работе кеша.

Общий формат файла журанала

Общий формат файла журнала используется большинством HTTP-серверов. Этот формат включает такие семь полей:

remotehost rfc931 authuser [date] "method URL" status bytes

Обрабатывается большим кол-вом утилит. Общий формат содержит информацию, отличную от собственного формата файла журнала. Версия HTTP записывается в журнал, чего не происходит при собственном формате журнала.

Собственный формат файла журнала

Собственный формат различен для разных версий Squid. Для Squid-1.0 это:

time elapsed remotehost code/status/peerstatus bytes method URL

А в For Squid-1.1 информация, которая содержалась в hierarchy.log была перенесена в access.log. Его формат:

time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type

Для Squid-2 столбцы остались теже, но их содержимое немного отличается.

Собственный формат файл сожержит больше информации, которая отличается от об общего формата файла журнала: продолжительность запроса, некоторая информация о таймаутах, адрес следующего сервера верхнего уровня и тип содержимого.

Существуют инструменты, преобразующие один формат файла в другой. Имейте ввиду, что хотя и оба формата содержат общую информацию, но также оба из них содержат такую информацию, которая не является частью другого и эта часть ифномрации будет утеряна в процессе конвертации. Особенно стоит отметить, что конвертирование из одного форматат в другой и обрратно вообще не возможно без подобных потерь.

Утилита squid2common.pl преобразовывает лобой из форматов файлов журнала squid к старому стилю запими для прокси CERN. Также существуют инструменты для анализа, оценки и отображения результатов анализа этого формата.

Детальное описание собственного формата access.log

Рекомендуется использовать собственный формата файла журнала Squid изза большего количества предоставляемой информации, которая может быть проанализирована впоследствии. Формат строки вывода для собственного access.log выглядит примерно так:

"%9d.%03d %6d %s %s/%03d %d %s %s %s %s%s/%s %s"

Поэтому запись в access.log обычно состоит по крайней мере из 10 полей, разделенныцм одним или более пробелами:

time

Временная метка Unix в секунда с начала UTC с миллисекундым разрешением. Вы можете конверитровать временную метку Unix во что-нибудь более читабельное, использовав такой простой скрипт на Perl:

#! /usr/bin/perl -p

s/^\d+\.\d+/localtime $&/e;

duration

Общее время, которое показываетс сколько миллисекунд у кеша заняла обработка транзакции. Есть различия в интерпритации между TCP и UDP:

  • Для HTTP/1.0 это в общем случае время между accept() и close().

  • For persistent connections, this ought to be the time between scheduling the reply and finishing sending it.

  • Для ICP - этовремя между планирумым , this is the time between scheduling a reply и действительной его отправкой.

Имейте ввиду, что запись заносится в журнал после того, как ответ был полностью отправлен получателю, а не во время обработтки транзакции.

client address

IP-адрес of the requesting instance, клиентский IP-адресs. Опция конфигурации client_netmask может позволять скрыть ифнормацию о клиенте, по причине защиты данных, однако это сильно затруднит анализ. Often it is better to use one of the log file anonymizers.

Also, the log_fqdn configuration option may log the fully qualified domain name of the client instead of the dotted quad. The use of that option is discouraged due to its performance impact.

result codes

Эта колонка состоит из двух значений, которые разделены слешем. This column encodes the transaction result:

  1. The cache result of the request contains information on the kind of request, how it was satisfied, or in what way it failed. Обратитесь к разделу результирующие коды Squid, для пояснений по результирующим кодам.

Several codes from older versions are no longer available, were renamed, or split. Especially the ERR_ codes do not seem to appear in the log file any more. Also refer to section Squid result codes for details on the codes no longer available in Squid-2.

The NOVM versions and Squid-2 also rely on the Unix buffer cache, thus you will see less TCP_MEM_HITs than with a Squid-1. Basically, the NOVM feature relies on read() to obtain an object, but due to the kernel buffer cache, no disk activity is needed. Only small objects (below 8KByte) are kept in Squid's part of main memory.

  1. The status part contains the HTTP result codes with some Squid specific extensions. Squid uses a subset of the RFC defined error codes for HTTP. Refer to section status codes for details of the status codes recognized by a Squid-2.

bytes

Размер кол-ва доставленных клиенту данных. Имейте ввиду, что это не "чистый" размер объекта, заголовки тоже учитываются. Также в результате неудачного запроса возвращается страница с сообщением о ошибке, размер которой записывается в данной колонке.

request method

Метод запроса на получение объекта. Обратитесь к разделу методы запроса, чтобы получить информацию о доступных методах. Если вы установите в off директиву log_icp_queries в вашем файле конфигурации, то вы не увидите (а значит и не сможете проанализировать) данных по ICP-обмену. Метод PURGE доступен только в случае, если у вас разрешен ACL для ``method purge'' в вашем конфигурационном файле.

URL

Это поле содержит запрошенный URL. Please note that the log file may contain whitespaces for the URI. The default configuration for uri_whitespace denies whitespaces, though.

rfc931

В восьмой колонке может содержаться результат запроса ident для клиента, пославшего звпрос. Т.к. ident-запросы влияют на производительность, то по умолчанию ident_loookupsвыключены. В этом случае или если данная ифнормация недоступна, то в лог будет записан символ ``-''.

hierarchy code

The hierarchy information consists of three items:

  1. Any hierarchy tag may be prefixed with TIMEOUT_, if the timeout occurs waiting for all ICP replies to return from the neighbours. The timeout is either dynamic, if the icp_query_timeout was not set, or the time configured there has run up.

  2. A code that explains how the request was handled, e.g. by forwarding it to a peer, or going straight to the source. Refer to section hier-codes for details on hierarchy codes and removed hierarchy codes.

  3. The name of the host the object was requested from. This host may be the origin site, a parent or any other peer. Also note that the hostname may be numerical.

type

Тип содержимого (content type) объекта, извлеченный из заголовка HTTP-ответа. Имейте ввиду, что для ICP обмена обычно никакого типа содержимого не указывается, поэтому в журнал в этом случае подадет ``-''. Кроме того в некоторых тип сожержимого указывается как ``:'' или не указывается вовсе.

There may be two more columns in the access.log, if the (debug) option log_mime_headers is enabled In this case, the HTTP request headers are logged between a ``['' and a ``]'', and the HTTP reply headers are also logged between ``['' and ``]''. All control characters like CR and LF are URL-escaped, but spaces are not escaped! Parsers should watch out for this.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]