Анализ лог-файлов сервера Apache
Для того, чтобы владеть статистикой посещений, все веб-серверы ведут лог-файлы. И сервер Apache не стал исключением – в его лог-файл записывается информация о каждом посещении. Это могут быть данные о запрашиваемом файле, его параметрах, URL, с которого осуществляется запрос и т. д. С помощью логов можно узнать не только количество посещений сайта, но и наиболее востребованные разделы, запросы, по которым пользователи переходят на сайт.
На Apache ведутся стандартные access-логи и error-логи, а также другие, дополнительные, которые при должной настройке будут отображать только ту информацию, которая необходима веб-мастеру для дальнейшего анализа.
И стандартные, и дополнительные логи описываются командами LogFormat и CustomLog. С помощью команды LogFormat можно установить формат, по которому будут вестись логи. Например, если вы укажете формат referrer, то сможете получать информацию о том, по каким запросам и на какие страницы заходят пользователи чаще всего.
Referer-логи, используемые по умолчанию, не очень удобны в работе. В стандартном логе будет содержаться много «мусора» - в некоторых записях вместо referrer будет стоять прочерк или название вашего сайта. Также лог будет замусорен записями об обращениях к картинкам, CSS-файлам и другой служебной информацией.
Команда SetEnvIf устанавливает переменные среды, которые зависят от определенных вами условий. У данной команды есть три параметра – атрибут (то, что будет проверяться), регулярное выражение (условие проверки) и переменная (устанавливается в зависимости от выполнения или невыполнения условия). Атрибутом может быть любой заголовок или переменные среды сервера Apache. Чаще всего используются Request_URL (запрошенный пользователем адрес), Remote_Host (хост, посылающий запрос), Remote_Addr (IP-адрес пользователя), Request_Method (метод запроса - POST или GET). Команда SetEnvIf позволяет отбирать те запросы, которые будут включаться в лог-файл.
Вы можете создать и свой формат лога, подходящий под ваши требования. В команде LogFormat чаще всего используются такие переменные: IP пользователя (%а), первая строка запроса (%r), запрашиваемый URL (%U), число переданных на запрос байт (%b), дата и время обращения (%t), обрабатывающий запрос сервер (%v).
Для того, чтобы облегчить обработку статистической информации в лог-файлах, можно пользоваться специальными программами. Такие программы обладают несложной настройкой и позволяют представлять информацию в более удобном виде, в том числе и графически, с помощью графиков и диаграмм. Самые распространенные из таких программ – это Webalizer, AWStats и Analog.
Webalizer представляет данные в формате html. Для его функционирования необходима графическая библиотека GD. Хотя Webalizer вполне доступен, легок в настройке, и отчеты достаточно информативны, интерфейс отображения статистики не очень удобен, а из браузера обновлять статистику не получится.
AWStats предоставляет более расширенную статистику, работает через интерфейс CGI или командную строку. AWStats может быть медленнее Webalizer, так как написан на Perl, а не на С. Но этот недостаток полностью компенсируется красивым и удобным интерфейсом, возможностью создавать выборочные отчеты, автоопределением языка отображения.
Самый простой анализатор логов – это Analog. Если вы не хотите возиться с долгой настройкой программы и вам не нужны подробные результаты, то Analog вполне подойдет. Analog предоставляет информацию в основном о посещаемости сайта. Но его дизайн не слишком хорош, к тому же могут возникнуть проблемы с русскими поисковыми строками.