Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:
На заметку

В данном разделе рассматриваются стандартные файлы протоколов Apache, записью информации в которые управляет директива

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

Формат файла протокола Apache

Данные могут записываться в файл протокола Apache в различных форматах; конкретный формат задается с помощью директивы

CustomLog
. В данном разделе описывается формат
combined
, который объединяет
в одном файле различные данные. Запись в формате
combined
выглядит следующим образом:

192.168.1.1 - - [06/Nov/2002:16:45:49 -0500] "GET /index.html \

 HTTP/1.0" 200 8597 "-" "Mozilla (X11; I; Linux 2.0.32 i586)"

Эта запись включает следующие компоненты.

• Доменное имя или IP-адрес клиента. Первое поле записи содержит адрес или имя клиента, от которого был получен запрос.

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

identd
, а во втором — имя для HTTP-аутентификации. (В данном примере в этих полях указаны дефисы, указывающие на то, что сведения о пользователе не доступны.)

• Дата и время. Apache записывает дату и время передачи запроса. В этой записи содержится локальное время с указанием временного пояса (в данном примере

– 0500
).

• HTTP-запрос. HTTP-запрос включает команду, переданную клиентом (

GET
), запрашиваемый документ (
/index.html
) и версию протокола HTML (
1.0
). С помощью этой информации можно определить, какие из документов, расположенных на вашем Web-узле, наиболее популярны среди пользователей.

• Код ответа. В ответ Apache включает цифровой код, информирующий клиентскую программу о результатах обработки запроса. В данном примере указан код ответа

200
, это означает, что обработка запроса окончилась успешно. Коды, начинающиеся с цифры 3, означают перенаправление запроса, а коды, начинающиеся с цифры 4 или 5, свидетельствуют об ошибке.

• Размер объекта. Число 8597 соответствует размеру ресурса, который Apache передал клиенту в ответ на запрос. При вычислении размера объекта заголовок ответа не учитывается.

• Документ, ссылающийся на текущий ресурс. Если пользователь запросил новый ресурс щелчком на гипертекстовой ссылке в составе HTML-документа, броузер передает серверу в составе запроса URL этого документа. Полученные сведения Apache записывает в файл протокола. В приведенном выше примере в данном поле содержится дефис, означающий, что документ, ссылающийся на запрашиваемый ресурс, не определен. Это может быть в случае, если пользователь непосредственно ввел URL ресурса в поле адреса броузера.

• Клиентская программа. Последнее поле записи содержит информацию о броузере, а также сведения об операционной системе, в которой он выполняется. (Заметьте, что броузер Netscape сообщает о себе с помощью идентификатора

Mozilla
.) На сведения, указанные в этом поле, нельзя полагаться, поскольку клиентскую программу можно настроить так, чтобы она сообщала о себе неверные данные. Кроме того, сведения о броузере могут быть заменены proxy-сервером.

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

На заметку

В большинстве версий Linux инструмент

cron
по умолчанию настраивается так, чтобы через определенные промежутки времени осуществлялась ротация файлов протоколов (переименование файлов протоколов и удаление с диска старых файлов). Соответствующая задача для
cron
обычно описывается в каталоге
/etc/cron.d
или
/etc/cron.interval
. Если в вашей системе ротация файлов не выполняется, вам надо создать соответствующую задачу в противном случае размеры файлов станут слишком большими, а это может привести к переполнению диска.

Использование Analog

Analog (

http://www.analog.cx
) является наиболее популярным из инструментов, предназначенных для анализа файлов протоколов. Этот инструмент в основном отображает результаты анализа в текстовом виде, но может также представлять их в виде диаграмм. С примером отчета, сгенерированным Analog, можно ознакомиться, обратившись по адресу
http://www.statslab.cam.ac.uk/~sret1/stats/stats.html
. Инструмент Analog входит в состав некоторых дистрибутивных пакетов. Если в вашей системе Analog отсутствует, вы можете скопировать его с Web-узла.

Настройка программы Analog

Работой программы Analog управляет конфигурационный файл

analog.cfg
, который обычно размещается в каталоге /
etc.
Этот файл содержит опции, задавая значения которых вы можете представлять данные, генерируемые Analog, в удобном для вас виде. Например, опция
SEARCHENGINE
задает поисковые серверы, которые могут ссылаться на ваши документы. С помощью этой опции Analog может учитывать ссылки на содержимое Web-узла, находящиеся на поисковых серверах. При настройке программы Analog вам придется задать следующие опции:

LOGFILE путь_к_файлу_протокола

OUTFILE путь_к_файлу_содержащему_выходные_данные

HOSTNAME "имя_организации"

Первые две из приведенных выше опций особенно важны. Если вы не укажете их, Analog не сможет найти файл протокола, а выходная информация будет непосредственно передаваться в стандартный выходной поток. Analog генерирует выходные данные в формате HTML и включает в созданный им файл графические изображения. Таким образом, вы можете просмотреть результаты обработки файла протокола с помощью Web-броузера. (При настройке Analog необходимо указать лишь имя основного HTML-файла, например

httpd/html/analog/index.html
; графические данные будут размещены в том же каталоге.) Опция
HOSTNAME
не оказывает существенного влияния на работу Analog. Ее значение лишь отображается в начале отчета.

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

• Конфигурационный файл. При создании некоторых пакетов Analog считается, что файл

analog.cfg
должен находиться в том же каталоге, что и исполняемый файл Analog (т.е. в каталоге
/usr/bin
), однако чаще всего конфигурационный файл размешается в каталоге
/etc
. Очевидно, что каталог
/usr/bin
— не самое подходящее место для конфигурационного файла, поэтому, чтобы обеспечить работу Analog с файлом, находящимся в каталоге
/etc
, необходимо выполнить команду
ln -s /etc/analog.cfg /usr/bin
.

Поделиться с друзьями: