Использование Analog
Использование 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.
• Файлы поддержки языка. Для того чтобы программа Analog выполнялась корректно, она должна иметь доступ к файлам поддержки языка. Некоторые пакеты размещают эти файлы в /var/lib/analog/lang, но Analog ищет их в каталоге /usr/bin/lang. Чтобы разрешить это противоречие, надо выполнить команду ln -s /var/lib/analog/lang /usr/bin.
• Поддержка графики. При обработке содержимого файлов протоколов Analog генерирует графические изображения, в частности диаграммы. Графические данные создаются для каждого узла, но Analog использует для записи информации файлы с фиксированными именами. В некоторых пакетах по умолчанию предусмотрено размещение этих файлов в каталоге /var/www/html/images, но в документах, сгенерированных при выполнении Analog, содержатся ссылки, которые указывают на файлы, находящиеся в подкаталоге images текущего каталога. Чтобы обеспечить доступ к графическим файлам, необходимо создать еще одну символьную ссылку, выполнив для этого команду ln -s /var/ww/html/ images.
Указанные здесь изменения нужны лишь для некоторых пакетов. В частности, их необходимо выполнить при использовании пакета analog-5.01-1mdk в системе Mandrake.
Запуск программы Analog
Для запуска программы Analog на выполнение необходимо ввести команду analog. Пользователь, вызывающий эту команду, должен иметь право читать содержимое файла протокола и иметь право записи в тот каталог, в который Analog помещает свои выходные данные. Таким образом, при наличии необходимых полномочий запускать Analog можно от имени обычного пользователя.
В некоторых случаях возникает необходимость в периодическом запуске Analog (раз в неделю, раз в месяц или даже раз в день). Сделать это можно с помощью инструмента cron. При этом необходимо помнить, что Analog потребляет не очень большие, но все же значительные ресурсы, поэтому если запускать данную программу слишком часто (например, каждую минуту), это непременно скажется на производительности системы.
Интерпретация выходных данных Analog
Выходные данные Analog представляют собой сочетание различных отчетов. Каждый из них содержит информацию, которая была создана в результате некоторой операции по обработке файла протокола, и помещается в отдельном разделе. Назначение основных разделов выходного файла описано ниже.
• Обобщенная сводка. В этом разделе представлена общая информация, используемая для оценки состояния Web-сервера: среднее количество запросов, обрабатываемых в течение дня, среднее число запросов, при обработке которых возникли ошибки, общий объем переданных данных и средний объем данных, переданных в течение дня.
• Ежемесячный отчет. В ежемесячном отчете указывается число документов, обработанных в течение месяца. Увеличение числа обращений в течение месяца и снижение производительности системы указывает на то, что вам необходимо перенести сервер на более мощный компьютер или увеличить пропускную способность соединения.
• Ежедневный отчет. В этом разделе указывается число документов, обработанных в течение определенного дня недели (понедельник, вторник и т.д.).
• Почасовые отчеты. В данном разделе приводится информация о работе сервера в течение каждого часа текущего дня. Если вам необходимо выполнять какие-либо действия, потребляющие ресурсы сервера, желательно выбрать для этого время, в течение которого сервер наименее загружен. В этом вам поможет информация, приведенная в данном разделе.
• Отчет о работе с доменами. Если ваш сервер поддерживает несколько доменов, просмотрев данный раздел, вы ознакомитесь с трафиком, связанным с каждым доменом.
• Отчет об использовании серверов различных организаций. Если ваш сервер поддерживает виртуальные узлы для различных организаций, этот отчет предоставляет сведения о трафике, связанном с работой сервера каждой организации.
• Отчет о работе с операционными системами. Если в вашем файле протокола содержится информация об операционных системах, в которых работают клиенты, обращающиеся к серверу, эта информация учитывается в данном отчете. Следует заметить, что из-за наличия proxy-серверов приведенные здесь данные не всегда отражают реальную ситуацию.
• Отчет о кодах состояния. В данный раздел Analog включает диаграмму, представляющую соотношение различных кодов состояния, передаваемых Web-сервером в составе ответов клиентам. Если коды 4.xx и 5.xx появляются во многих ответах, необходимо найти и устранить причину подобного поведения сервера.
• Отчет о размерах файлов. Данный раздел содержит сведения о числе файлов разных размеров, которые Web-сервер предоставляет пользователям. Информация, приведенная в этом отчете, может быть использована для управления трафиком. Если вы обнаружите, что средний размер передаваемых файлов увеличивается, вам надо принять соответствующие меры, например увеличить степень сжатия графических изображений.
• Отчет о типах файлов. В данном отчете сообщается о типах файлов (JPEG, HTML и т.д.), предоставляемых Web-сервером. Эта информация может быть использована для тех же целей, что и сведения, содержащиеся в отчете о размерах файлов.
• Отчет о каталогах. На большинстве Web-узлов информация хранится в различных каталогах. Данный отчет предоставляет сведения о том, в каких каталогах находится информация, пользующаяся наибольшим успехом (решение о популярности того или иного каталога принимается на основании объема переданных данных).
• Отчет о запросах. Данный отчет содержит сведения об использовании файлов, находящихся в корневом каталоге Web-узла.
Информация, приведенная в различных отчетах, позволяет составить представление о работе Web-узла. Еще более полные сведения вы можете получить, собрав данные, сгенерированные Analog в течение определенного периода времени. Для этого надо организовать ротацию файлов протоколов Apache, причем в процессе ротации необходимо копировать выходные данные Analog в специальный подкаталог. Ротацию и копирование файлов Analog можно реализовать с помощью инструмента cron. Кроме того, вам придется создать главный HTML-документ, ссылающийся на данные Analog, скопированные в процессе ротации в выбранные вами каталоги. В результате вы получите информацию, собранную Analog в течение нескольких недель или месяцев.
Несмотря на то что Analog является чрезвычайно полезным инструментом, следует все же признать, что обработка данных, сгенерированных в процессе выполнения этой программы, — трудоемкое занятие, требующее ненамного меньше усилий, чем непосредственный анализ файлов протоколов Apache. Для дальнейшей обработки данных, сгенерированных Analog, и представления их в форме, удобной для восприятия, используются дополнительные инструменты. В качестве примера такого инструмента можно привести Report Magic (http://www.reportmagic.com).