• Отчет о каталогах. На большинстве Web-узлов информация хранится в различных каталогах. Данный отчет предоставляет сведения о том, в каких каталогах находится информация, пользующаяся наибольшим успехом (решение о популярности того или иного каталога принимается на основании объема переданных данных).
• Отчет о запросах. Данный отчет содержит сведения об использовании файлов, находящихся в корневом каталоге Web-узла.
Информация, приведенная в различных отчетах, позволяет составить представление о работе Web-узла. Еще более полные сведения вы можете получить, собрав данные, сгенерированные Analog в течение определенного периода времени. Для этого надо организовать ротацию файлов протоколов Apache, причем в процессе ротации необходимо копировать выходные данные Analog в специальный подкаталог. Ротацию и копирование файлов Analog можно реализовать с помощью инструмента cron. Кроме того, вам придется создать главный HTML-документ, ссылающийся на данные Analog, скопированные в процессе ротации в выбранные вами каталоги. В результате вы получите информацию, собранную Analog в течение нескольких недель или месяцев.
Несмотря на то что Analog является чрезвычайно полезным инструментом, следует все же признать, что обработка данных, сгенерированных в процессе выполнения этой программы, — трудоемкое занятие, требующее ненамного меньше усилий, чем непосредственный анализ файлов протоколов Apache. Для дальнейшей обработки данных, сгенерированных Analog, и представления их в форме, удобной для восприятия, используются дополнительные инструменты. В качестве примера такого инструмента можно привести Report Magic (http://www.reportmagic.com).
Инструмент Webalizer (http://www.webalizer.org) предоставляет администратору приблизительно такие же возможности, как и Analog. Подобно Analog, Webalizer читает содержимое конфигурационных файлов и создает выходной HTML-файл, представляя сведения о Web-узле в удобном для восприятия виде. Webalizer поставляется в составе некоторых дистрибутивных пакетов. Если же в вашей системе этот инструмент отсутствует, вы можете скопировать его с Web-узла, содержащего сведения о данном инструменте и его код. Пример выходного файла, сгенерированного Webalizer, расположен по адресу http://www.webalizer.org/sample/.
Настройка Webalizer
Работой Webalizer управляет конфигурационный файл webalizer.conf, который обычно располагается в каталоге /etc. Как и при работе с Analog, вы должны сообщить Webalizer о том, где находится файл протокола Web-сервера и в какой каталог следует записывать выходные данные. Для этого используются следующие опции:
LogFile путь_к_файлу_протокола
OutputDir путь_к_каталогу_содержащему_выходные_данные
Одно из отличий между Analog и Webalizer состоит в том, что в конфигурационном файле Analog задается имя выходного файла, а для Webalizer указывается каталог, в который данная программа будет записывать сгенерированные в процессе работы файлы. Если этот каталог доступен Web-серверу, то вы можете просматривать информацию, созданную Webalizer, с помощью Web-броузера. Если же вы разместите каталог за пределами области, к которой может обращаться Web-сервер, то для просмотра результатов работы Webalizer вам придется задавать URL, начинающийся с file://. Ниже перечислены некоторые опции Webalizer, значения которых вы, возможно, захотите изменить.
• Incremental. Если для данной опции задано значение yes, Webalizer сохраняет от запуска к запуску информацию о своем состоянии. Это позволяет обрабатывать файл протокола по частям. Предположим, например, что вы запускаете Webalizer один раз в день. При установленном значении yes опции Incremental он будет помнить, какую запись он уже обработал, и сможет учитывать при этом ротацию файлов. Если значение данной опции равно no, Webalizer будет при каждом запуске обрабатывать весь файл протокола.
• HostName. Эта опция позволяет задать имя узла, отображаемое в заголовке отчета (содержание заголовка отчета определяется опцией ReportTitle).
• GroupDomains. Данная опция позволяет объединять доменные имена в группы. Значение опции указывает, какое количество компонентов доменного имени должно идентифицировать группу. Предположим, что значение GroupDomains равно 2. В этом случае доменные имена gingko.pangaea.edu и birch.pangaea.edu будут объединены в группу pangaea.edu. Данная опция позволяет упорядочивать данные, генерируемые Webalizer.
• GroupSite. Данная опция также предназначена для поддержки групп. Например, значение GroupSite *.abigisp.net объединяет в одну группу все узлы, принадлежащие домену abigisp.net.
• HideSite. Эта опция исключает узлы из группы, созданной с помощью GroupSite. Опции GroupSite и HideSite используются совместно.
Конфигурационные файлы Webalizer имеют больший объем и более сложную структуру по сравнению с соответствующими файлами Analog. Выше была перечислена лишь незначительная часть опций, предназначенных для настройки Webalizer. Большинство опций снабжено подробными комментариями, прочитав которые вы можете легко составить представление о назначении этих опций.
Запуск Webalizer
Для запуска Webalizer надо ввести команду webalizer. Как и при работе с программой Analog, чтобы запустить Webalizer, не надо обладать полномочиями пользователя root. Достаточно иметь право читать содержимое файла протокола и записывать информацию в каталог, предназначенный для выходных данных Webalizer. Возможно, вам потребуется организовать запуск Webalizer по расписанию с помощью инструмента cron. В этом случае целесообразно установить значение yes опции Incremental.
Часто при инсталляции Apache, формируется задача для инструмента cron на выполнение ротации файлов. Если ротация не предусмотрена, вам надо организовать ее самостоятельно. Чтобы обеспечить максимальное использование входных данных, желательно запускать Webalizer не только по графику, но и непосредственно перед выполнением ротации.
Интерпретация выходных данных Webalizer
Выходные данные, генерируемые в процессе работы Webalizer, представляют собой двухуровневую структуру. На первом уровне выводится информация об активности сервеpa за прошедший год. (Для вновь инсталлированного сервера большинство месяцев будут пустыми.) Информация, соответствующая первому уровню, отображается как в виде таблиц, так и в виде диаграмм и представляет сведения о переданных Web-страницах, объеме скопированной информации и другие данные для каждого месяца. После щелчка на названии месяца отобразится Web-страница, соответствующая второму уровню данных, на котором отображаются более подробные сведения для выбранного месяца. На этой странице присутствуют следующие разделы.
• Статистика работы сервера за месяц. В этом разделе отображается та же информация, что и на первом уровне, дополненная сведениями о кодах, содержащихся в ответах клиентам.
• Статистика работы сервера за день. Во втором разделе Web-страницы содержатся диаграмма и таблица, представляющие сведения о Web-трафике в течение каждого дня месяца. Здесь выводятся данные о количестве обращений, числе скопированных файлов и объеме переданных данных в килобайтах.
• Почасовая статистика. Здесь представлены те же данные, что и в предыдущем разделе, но они разбиты по часам суток. С помощью этой информации вы можете выяснить, в какие часы нагрузка на сервер была максимальна, и принять меры для более равномерного ее распределения.
• URL наиболее популярных документов. Webalizer отображает две таблицы, в которых содержится информация о числе обращений и объеме скопированных данных для различных URL. (При необходимости вы можете объединять URL в группы, используя для этого рассмотренные ранее опции.) Одна таблица отображает URL документов, к которым было максимальное количество обращений, другая — URL, в результате обращения к которым были скопированы данные наибольшего объема.
• Входная и выходная страницы. Следующие две таблицы, генерируемые Webalizer, содержат сведения о наиболее популярной входной и выходной страницах. Входной страницей (entry page) называется документ, к которому обращается пользователь в начале работы с узлом, а выходной страницей (exit page) — документ, который пользователь просматривает непосредственно перед завершением работы.
• Наиболее популярные узлы. Webalizer записывает сведения о взаимодействии клиентов с Web-узлами, поддерживаемыми сервером, учитывая как число обращений, так и объем скопированной информации. При необходимости вы можете объединять узлы в группы с помощью опции GroupSite, расположенной в конфигурационном файле Webalizer.