Программа WebTrends компании e.g. Software позволяет получать наглядную картину запутанной информации, хранящейся в журнальных файлах.
РАСПЕЧАТКА 1 - СЦЕНАРИЙ НА PERL ДЛЯ АНАЛИЗА ЖУРНАЛА WEB-СЕРВЕРА
ИТОГ ИСПЫТАНИЙ
WebTrends 2.0
Любой администратор сервера Web знает, как настойчиво руководство компании требует предоставления статистической информации о работе сервера. Не стоит думать о том, насколько условную картину дает такая статистика: если кому-то нужны цифры, следует их предоставить.
Программой WebTrends эта статистика будет представлена в удобной форме. Сухие цифры можно даже заключать в сахарные облатки типа круговых диаграмм и прочего в том же духе. Вне всякого сомнения, WebTrends соответствует всем своим обещаниям.
Все знают, что просматривать статистические данные куда удобнее, когда итоговые таблицы отражают только самые общие закономерности, а все подробности от пользователя скрыты. Если начальство любит картинки, то сделать их с помощью описываемого пакета очень даже просто. Работа с программой не потребует больших умственных усилий. Установить ее тоже довольно легко (хотя и нельзя не отметить, что на диске она занимает
10 Мбайт). Работает WebTrends под Windows практически любой версии, в том числе и под NT 3.x. Правда, на момент написания статьи версия программы под NT 4.0 еще не появилась. (Наша статья посвящена программе WebTrends 2.0; ко времени окончания работы над публикацией e.g. Software выпустила версию 2.1, но, к сожалению, включить информацию о ней в данный материал мы уже не успели. - Прим. ред.)
Пакет устанавливается не на сервере Web, а на рабочей станции. Получить доступ к генерируемым на сервере журнальным файлам можно двумя путями: скопировав эти файлы на локальный диск или сообщив необходимый Internet-адрес (в каком угодно формате - хоть ftp, хоть HTTP URL) программе WebTrends.
ТОЛЬКО ФАКТЫ
Среди знатоков Web сейчас очень модно не обращать никакого внимания на такой показатель, как число обращений к серверу Web. Считается, что эта цифра лишена всякого смысла, между тем именно она лежит в основе всей статистики Web. Обращение к серверу - это отправленный через браузер Web клиентский запрос к данным, хранящимся на сервере; запрос может быть как прямым ("представьте мне данный документ"), так и условным, то есть зависящим от того, устарела ли копия документа, хранящаяся в локальном буфере ("представьте мне данный документ, если в него вносились изменения после 25 декабря").
Все эти запросы регистрируются в журнальном файле либо в формате, разработанном в NSCA при университете штата Иллинойс [его также называют общим (common) форматом], либо в комбинированном формате, куда включена еще парочка дополнительных полей. Эти журналы создаются в обычном ASCII-формате, по строчке на запрос. Поэтому число строк в файле в точности равно
числу обращений к серверу. WebTrends читает данный файл и сортирует находящуюся в нем информацию, в результате чего и получаются отчеты. Например, подсчитываются запросы, пришедшие с разных IP-адресов, что позволяет сказать, сколько раз к серверу Web обращались из того или иного места.
Скорее всего, умный сервер Web пишет в файл имена доменов, а не собственно адреса - для этого используется обратный поиск имени домена (reverse domain lookup). (Прямой поиск имени домена осуществляется, когда пользователь вводит адрес электронной почты - ну, скажем, lanmag.com. Система автоматически запрашивает сервер имен доменов и выясняет, какому IP-адресу соответствует данное имя.) В случае когда сервер Web не осуществляет обратный поиск, этим занимается WebTrends.
ОБЫЧНЫЕ ТАБЛИЦЫ
Узнав, что журнальный файл пишется на диск в формате ASCII и что смысл этих записей абсолютно прозрачен, читатель, наверное, уже догадался, что создать статистический отчет с использованием этого файла несколько проще, чем запустить космический корабль. Вы совершенно правы, читатель! Тот, кто знаком с языком Perl, может написать сценарий вроде того, что приводится в Распечатке 1, после чего считать обращения к серверу Web, беря информацию из файла, указанного при запуске программы.
Чуть усложнив эту программу, можно заставить ее считывать только обращения, удовлетворяющие определенным требованиям, - например только обращения к определенным страницам. WebTrends позволяет делать то же самое, хотя и несколько менее прямолинейным образом. Фактически, при создании отчета файлы, в которых содержится не относящаяся к делу информация, игнорируются. Поэтому, указав страницу, можно узнать, обращается ли кто-нибудь именно к ней, даже если такие обращения сами по себе не так часты.
Простые самодельные сценарии на Perl вряд ли прельстят разборчивого пользователя, поскольку им недостает множества функций управления, среди которых, в частности, возможности ограничивать выбор статистики из журнального файла определенными датами. Поэтому пользователь, скорее всего, предпочтет воспользоваться одной из тех утилит, которую можно бесплатно получить через Internet. К примеру, знаменитая утилита getstats находится по адресу http://www.eit.com/software/getstats/getstats.html; она обеспечивает выполнение чуть ли не любого мыслимого запроса пользователя. Еще один сценарий на Perl (который, конечно, куда замысловатее нашего примера) носит название wwwstat; его можно получить по адресу http://www.ics.edu/pub/websoft/wwwstat/.
Оба этих продукта выдают простые, очень неудобные в использовании текстовые отчеты. Разумеется, с помощью графических средств представить Web-статистику в удобочитаемой форме можно самостоятельно, Perl опять же вам в этом поможет. Бесплатно распространяемые сценарии gwstat.pl и getgraph.pl ровно для того и предназначены; исходным материалом для них служат статистические данные, предоставляемые getstats и wwwstat, соответственно. Сценарии можно найти по адресам http://dis.cs.umass.edu/stats/gwstat.html и http://www.tcp.chem.tue.nl/stats/script/.
Это, однако, не самый простой путь. Тому, кто хочет получить простые графические средства, стоит поинтересоваться программой WebTrends. С помощью данной программы можно получать трехмерные графики и диаграммы простым щелчком мыши.
О ЧЕМ МОЛЧАТ ТАБЛИЦЫ
WebTrends имеет еще одно важное свойство: эта программа может подсчитывать сеансы связи с пользователем. Иными словами, программа не ограничивается простым учетом обращений к файлам, а вычисляет, сколько раз пользователи работали с данным сервером. Однако журнальный файл не содержит никакой информации о времени окончания пользовательского сеанса, поскольку определить окончание сеанса для сервера HTTP не так просто - пользователь не обязан регистрироваться в Web (как это делается, например, в локальных сетях). Так каким же образом WebTrends (или любая другая программа) выбирает сеансы из списка обращений? Он может только предполагать. Иначе говоря, получаемая цифра имеет лишь условный характер. Поэтому весьма важен набор признаков, по которым WebTrends определяет, какие обращения к какому сеансу относятся. В идеале администратор должен иметь возможность менять эти признаки в соответствии с информацией о поведении среднего пользователя своего сервера Web. К сожалению, в документации WebTrends не говорится ни слова о том, каким образом пользовательский сеанс выбирается. На сервере Web компании e.g. Software нам удалось раскопать - и телефонная служба технической поддержки это подтвердила, - что создатели данной программы рассуждали очень просто: неполучение от пользователя нового запроса в течение получаса интерпретируется как окончание сеанса. Настраивать продолжительность этого интервала можно, меняя параметр CachedTime в .ini-файле WebTrends.
Независимо от того, какой именно тайм-аут установлен, возможны ситуации, когда получаемые таким образом данные оказываются неточными. Например, за одним и тем же IP-адресом могут скрываться много пользователей - большинство сетей NetWare связаны с Internet именно таким способом. Как правило, интерактивные службы (CompuServe, America Online, Prodigy и другие) выдают адреса из некоего фиксированного пула; это означает, что один и тот же пользователь во время разных сеансов получает разные адреса. Так что если пользователь, отключившись от провайдера, тут же опять набирает номер и возвращается на тот же сервер, то в статистических данных фигурирует новый сеанс, хотя на самом деле речь идет лишь о возобновлении старого. С другой стороны, пока от определенного IP-адреса будут исходить запросы (независимо - тот же это пользователь или другой), программа будет считать, что сеанс продолжается.
Разумеется, WebTrends нельзя упрекать за такого рода неточности. Несмотря на наши придирки к настраиваемости программы, общий подход к определению пользовательских сеансов представляется вполне разумным. Надо только помнить, что число пользовательских сеансов - не более чем оценка, а основной смысл как общего числа обращений, так и числа сеансов - возможность сравнивать их текущие значения со значениями в предшествующие моменты времени.
РАСТИРАЕМ КРАСКИ
Все, что сверх определения числа обращений к серверу и отлавливания 30-минутных тайм-аутов - это разнообразные расчеты и способы представления данных. Главное тут - скорость счета, и по этой части WebTrends выглядит весьма неплохо. Он очень быстро продирается сквозь колоссальные журнальные файлы, выдавая те самые мегабайты в минуту, которые e.g. Software обещает для систем на базе Pentium.
WebTrends может обрабатывать файл двумя способами. Во-первых, программа располагает средствами просмотра объемных журнальных файлов, обеспечивающими, например, такие "примочки", как цветовое выделение различных частей журнала. Программа просмотра может искать в файле заданные текстовые фрагменты, что очень удобно, если нужно найти определенного пользователя или отследить какую-либо проблему. Файл можно также сортировать, например, по времени, по домену, по сгенерированному сервером коду результата и так далее.
Конечно, программа просмотра вполне удобна, однако главная привлекательность пакета в средствах генерации отчетов. Отчет можно создавать по одному из имеющихся в программе образцов или задавать форму отчета самому. В отчет обычно вставляется большое число графиков и таблиц; помимо этого, WebTrends (что очень полезно) может записывать отчет в формате HTML, так что его можно просматривать с помощью браузера. Закончив создание отчета, WebTrends сам запускает выбранный пользователем браузер.
Однако у самого генератора отчетов средств управления не так много, как хотелось бы. Например, заголовок отчета выбрать можно, однако добавить к нему пояснительный текст уже не получится. Точно так же пользователю не удастся включить в заголовок отчета период времени, к которому он относится, или время его создания (в то же время в самом тексте отчета эта информация фигурирует). Конечно, HTML-файл можно отредактировать и после создания, включив в него все что душе угодно, но это дополнительная головная боль для пользователя; любой достойный генератор отчетов должен брать такого рода заботы на себя.
Зато генератор отчетов позволяет указать, какие графики и таблицы следует включить в документ. Правда, пользователь не имеет возможности задать порядок их следования. Существует 44 вида отчетов. В основном они представляют собой вариации на ограниченное число ключевых тем (страницы, к которым производилось наибольшее число обращений, с раскладкой по дням, по месяцам, по организациям и так далее). Для каждого графика или таблицы можно задавать некоторые ограничения, например указать число показываемых элементов. В частности, при отборе данных для диаграммы User Profile by Regions можно задать число регионов (правда, границы регионов программа устанавливает сама, без вмешательства пользователя, поэтому далеко не всегда такая диаграмма имеет смысл), расстояние между делениями по абсциссе и ординате диаграммы, а также тип диаграммы. Как и можно было бы предположить, для одних диаграмм такая операция более осмысленна, для других - менее.
Управление отбором информации для отчета осуществляется изменением способа работы с журнальным файлом, а не изменением структуры собственно отчета. Например, если нужно сгенерировать два отчета - один с учетом всех элементов журнального файла, а другой с учетом только обращений к серверу с территории Соединенных Штатов, то программа работает с двумя разными фильтрами, один из которых обеспечивает использование всей информации, а другой - только записей с соответствующими суффиксами в адресе пользователя (в пакете имеется целый ряд готовых фильтров). Иными словами, пользователь смотрит на один и тот же файл под несколькими углами зрения.
В результате получаются очень красивые отчеты. WebTrends записывает диаграммы в формате GIF, поэтому все такие файлы имеют очень маленькие размеры (значительно меньше 10 Кбайт; на практике размеры многих файлов не превосходят 5 Кбайт), что очень удобно для передачи их через Internet. Поскольку списки наиболее популярных страниц содержат ссылки для непосредственного перехода к этим страницам, то, думается, было бы логичнее, чтобы и столбцы диаграмм представляли собой ссылки. Ну, например, вы смотрите на диаграмму, где показано, сколько заграничных пользователей обращалось к вашей странице, щелкаете мышкой и вызываете тем самым на экран программу просмотра журнала, фильтр которой уже настроен таким образом, чтобы показывать только записи, соответствующие данному столбцу диаграммы. Программа Quicken компании Intuit прекрасно справляется с аналогичной ситуацией, когда вы даете ей разнообразные запросы относительно своего бюджета. К сожалению, WebTrends такой возможности не предоставляет.
С Web-сервера e.g. Software можно загрузить одну симпатичную утилиту, помогающую установить соответствие между именами субдоменов и различными частями сети Intranet. Это позволит вам отслеживать обращения к серверу, исходящие из разных частей сети, - надо только присвоить IP-адреса таким образом, чтобы по адресу можно было определить, где находится пользователь или к какому отделу организации он относится.
Пожалуй, еще более полезна (особенно для Internet-провайдеров) поддержка серверов с большим количеством домашних страниц: одна физическая машина обслуживает несколько имен доменов (и, соответственно, узлов Web). В этом случае сервер создает один главный журнальный файл, куда записывается статистика о всех поддерживаемых серверах Web. Обычно такая информация совершенно бесполезна для администраторов отдельных серверов Web; пользу может принести только создание отчетов для отдельных серверов Web. Именно этим и занимается WebTrends. Нельзя сказать, что для обеспечения такой функции надо иметь семь пядей во лбу, однако владельцу подобного сервера ее наличие может заметно облегчить жизнь.
ОТДЕЛЬНЫЕ НЕДОСТАТКИ
Пользователи WebTrends 1.0 жалуются, что автоматический планировщик работы программы не слишком надежен. Впрочем, даже если бы он работал как часы, все равно оставлять WebTrends в запущенном состоянии на весь период ожидания генерации планового отчета (например на месяц) по меньшей мере неразумно, да и системные ресурсы в данной ситуации используются отнюдь не оптимальным образом. К сожалению, во второй версии этот механизм оставлен без изменений.
На наш взгляд, куда разумнее было бы связать пакет с Windows 95 System Agent, который как раз и предназначен для активизации периодически исполняемых заданий. Проблема в том, что WebTrends не воспринимает параметры командной строки, поэтому при запуске пакета средствами System Agent невозможно указать, какую программу следует выполнить. Было обещано, что это изменение будет внесено в версию 2.1; ее предполагается бесплатно распространять среди владельцев 2.0.
Еще одна неприятность состоит в том, что слово "Trends" в названии пакета не вполне соответствует действительности. Бесспорно, пользователь может отслеживать все тенденции в рамках одного и того же журнального файла, но по мере роста данного файла его время от времени приходится удалять или, как минимум, существенно сокращать. При этом пользователь, скорее всего, не станет выбрасывать старые отчеты WebTrends. Беда, однако, в том, что нет никакого способа установить взаимосвязь между старыми и новыми отчетами. Поясним чуть подробнее. Возьмем сервер, администратор которого ежемесячно составляет отчет об его работе. Поскольку объем журнальных файлов любого сервера быстро достигает нескольких мегабайт, эти файлы каждый месяц удаляются с диска сразу же после составления отчета. Получается набор ежемесячных отчетов, все в формате HTML, с красивыми графиками. Администратор знает, как работал сервер в январе, феврале, марте и так далее. Но если ему понадобится отследить тенденцию в течение нескольких месяцев, то у него в руках окажутся всего два пути, ни один из которых привлекательным не назовешь. Если все файлы ежемесячных журналов хранятся в специальном каталоге, то их можно сгруппировать в один здоровенный журнал (что-то вроде *.log) и потом использовать для создания одной супертаблицы. В этом случае, правда, страдает производительность, да и необходимость хранить колоссальные и ни для какой другой цели не нужные файлы восторга не вызывает. Альтернатива такому способу - ручное сличение таблиц и графиков. Что же касается составления годового отчета, то тут придется обложиться ежемесячными отчетами и вручную вбить все данные в какую-нибудь электронную таблицу, а потом уже готовить требуемый документ средствами этой программы.
Да, и еще приходится надеяться, что при записи журнальных файлов не было никаких сбоев, потому что, наткнувшись на запись в неправильном формате, WebTrends прекращает чтение файла без каких бы то ни было предупреждений. По счастью, формат журнального файла очень прост, поэтому ошибки там бывают довольно редко. Нельзя не признать, однако, что было бы хорошо, если бы программа хотя бы сообщала о произошедшем сбое.
ОБЩАЯ ТЕНДЕНЦИЯ
Честно говоря, мне кажется, что объем продаж лучше говорит об успехе любого коммерческого сервера Web, чем число обращений или пользовательских сеансов. Тем не менее мониторинг трафика - вещь вполне полезная. Если вам надо получить небольшое число наглядных и легких для восприятия графиков, WebTrends вас вполне устроит - благодаря этой программе вы сможете следить за происходящими на сервере Web событиями. Когда появится версия 2.1 и генерацию отчетов можно будет запускать средствами Windows 95 System Agent, администраторы серверов Web смогут автоматически размещать на Web красиво оформленные, регулярно обновляемые документы, доступные всем, кто заинтересован в росте популярности данного сервера Web.
Роберт Ричардсон - консультант по вопросам Internet и технологий для малых офисов из Филадельфии. С ним можно связаться по адресу: robert@fiction.com.
РАСПЕЧАТКА 1 - СЦЕНАРИЙ НА PERL ДЛЯ АНАЛИЗА ЖУРНАЛА WEB-СЕРВЕРА
while (<>) { if(/index.htm/){ $pagehits++; } } print "Page hits = $pagehits ";
ИТОГ ИСПЫТАНИЙ
WebTrends 2.0
e.g. Software 319 S.W. Washington, Ste. 706 Portland, OR 97204 1-503-294-7025 http://www.webtrends.comЦена. 299 долл.
Требования к системе. Microsoft Windows 3.1, Windows for Workgroups 3.11, Windows 95 или Windows NT 3.x; от 4 до 10 Мбайт свободного дискового пространства; как минимум 8 Мбайт оперативной памяти (однако для обеспечения приличной производительности нужно куда больше).
WebTrends - это средство для анализа журналов учета доступа к серверу Web и генерации отчетов на основе статистических данных, извлекаемых из журналов. Программа может читать журналы двух разных форматов; большая часть серверов Web не выходит за эти рамки. Отчеты генерируются быстро, за один проход, с цветными трехмерными графиками, давая тем самым наглядное представление о работе сервера Web. Поскольку отчеты генерируются в формате HTML, они легко доступны для совместного использования средствами Web.
Установка. WebTrends - вполне традиционное приложение под Windows. Его установка мало чем отличается от установки прочих таких же программ: она производится при помощи программы Setup, содержащейся на первой из входящих в комплект поставки двух дискет. Поскольку действия программы практически сводятся к чтению и записи файлов, то в большинстве случаев о совместимости беспокоиться не приходится. Заметим, что если предполагается пользоваться встроенной функцией чтения файлов с помощью ftp или HTTP, то на рабочей станции, где устанавливается программа, необходимо иметь работающее соединение с Internet.
Документация. Документацию обширной назвать нельзя, но, по счастью, работать с программой очень легко. По существу, она представляет собой набор снимков экрана компьютера. Однако к затруднениям это приводит, только если пользователь захочет сделать что-нибудь особенное - например изменить продолжительность перерыва в активных действиях с конкретного IP-адреса для определения окончания пользовательского сеанса. Такого сорта информация (равно как и смысл прочих параметров, имеющихся в файле .ini) в документации не содержится; чтобы ее получить, надо позвонить в отдел технического обслуживания.
Гарантия. 30 дней
Удобство использования. Если только администратору сервера не придет в голову заняться чем-то архисложным, то пользоваться программой необыкновенно легко.
Надежность/совместимость. Надежность программы обусловлена характером производимых ею операций - чтение файлов и запись данных в файл. Она работает быстро и хорошо. Нельзя, впрочем, не отметить, что попытка чтения случайно испорченных строк из журнала обращений может привести к сбою.
Область применения. Данный пакет можно порекомендовать администраторам серверов Web, которых интересует, как работает их подопечный, но которые не хотели бы положить на это всю свою жизнь. Особенно хорош пакет для тех администраторов, которым приходится поддерживать несколько имен доменов на одном сервере Web, а также для желающих следить за доступом к серверу из различных частей Intranet.
Тестовая среда. Мы запускали WebTrends на нескольких ПК-совместимых рабочих станциях. Первичное тестирование выполнялось на ноутбуке Toshiba Satellite Pro T2155CDS (486, с оперативной памятью объемом 8 Мбайт) под Windows 95; соединение с Internet осуществлялось через PPP, пропускная способность канала связи составляла 28,8 Кбит/с.