Анализ логов сервера

В конце концов начинающий вебмастер приходит к тому, что ему необходимо анализировать лог-файлы сервера. Но где находятся логи и как их читать мы сейчас и разберем. Все, что нам будет нужно это html редактор, с которым вы работаете, да еще желателен установленный блокнот notepad++.

где хранятся логи

Рассмотрим несколько вариантов мест хранения лог файлов, просто для того, что бы вы могли сориентироваться и найти их на своей хостинг площадке даже если у вас другая панель управления. В данном примере мы пользуемся хостингом с панелью Direct Admin.

Заходим в панель управления хостингом и жмем на интересующий нас сайт.

путь к логам в панели Direct admin

путь к логам в панели Direct admin

Справа в верхнем углу видим ссылку Общая статистика и Log-файлы.

Общая статистика и лог-файлы Direct Admin

Общая статистика и лог-файлы Direct Admin

И здесь уже выбираем Полный журнал обращений, если вас не интересует журнал обращений за весь день то можно просмотреть только последние 100 строк или 10

читать логи в Direct Admin

читать логи в Direct Admin

Добираемся к логам с помощью редактора, которым далеам сайты. В данном примере используем adobe dreamweaver. Подключаемся к хостингу, открываем папки domains — ваш сайт и видим папку logs, внутри которой лежит нужное нам содержимое

где хранятся логи

где хранятся логи

Теперь то же самое, но для панели ISP manager. Заходим в панель, слева в меню жмем Менеджер файлов и видим папку logs

лог-файлы в isp manager

лог-файлы в isp manager

Тоже, но с помощью редактора: папка с логами находится в корне вашей хостинг площадки.

isp manager где хранятся логи

isp manager где хранятся логи

Теперь мажордомо, как видим, папка с логами лежит тоже в корне площадки.

где хранятся логи мажордомо

где хранятся логи мажордомо

P.S. если вы желаете посмотреть лог не за сегодняшний день, а за прошедший или более поздний, то наилучшим вариантом будет скачать архивы .log.tgz с ранними логами файловым менеджером на компьютер, распаковать и уже открыть блокнотом.

как открыть лог файл

Самым оптимальным вариантом для чтения логов будет использование программы-редактора dreamweaver и блокнота notepad++. Для начала нам надо настроить редактор, что бы он по умолчанию открывал файлы такого типа блокнотом.

В меню программы выбираем Правка — настройка, слева выбираем Типы файлов и редакторы. Жмем на плюсик в левом окне, в открывшейся строке пишем расширение лог-файла .log (обязательно с точкой впереди). Теперь в левом окне выделяем наше расширение, а в правом тыкаем на плюсик, в открывшемся окне выбираем нашу программу-блокнот (для win7 это C\Program Files 86\Notepad++\notepad++.exe)

чем открыть лог файл

чем открыть лог файл

P.S. dreamweaver для настройки открываем от имени администратора, иначе программа будет закрываться при выборе блокнота.

P.S. таким же образом можно настроить программу для открытия подобных файлов: .htaccess, .ru_error_log и т.п. 🙂

анализ логов или как читать логи

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

Как правило строки в логах довольно длинные, каждую строку мы разделим на несколько частей.

Для примера разберем одну строчку и для наглядности разделим ее разными цветами на несколько основных нужных нам частей.

чтение и анализ лог-файла пример 1

92.100.6.63[28/May/2012:00:24:07 +0400] «GET /hitrosti/htacccess/4.jpg HTTP/1.0» 200 23261 «http://www.www.instructing.ru/hitrosti/htaccess.html» «Opera/9.80 (Windows NT 5.1; U; MRA 5.10 (build 5265); ru) Presto/2.10.229 Version/11.64»

92.100.6.63 — ip адрес с которого был заход на ваш сайт

[28/May/2012:00:24:07 +0400] — тут понятно, дата и время захода (по серверу) вплоть до секунды

«GET /hitrosti/htacccess/4.jpg HTTP/1.0» — первая часть заключенная в кавычки покажет нам каким методом (head, get, post) и к какому файлу было обращение. (При заходе пользователя на ваш сайт в логах остается несколько строк, потому что страница сайта состоит из нескольких файлов включая картинки, стили и т.п) Один файл- одна строчка в логах

200 — ответ полученный посетителем, код 200 означает, что пользователь получил что хотел, т.е все ок. рекомендую ознакомиться с кодами ответов сервера

«http://www.www.instructing.ru/hitrosti/htaccess.html«- вторая часть заключенная в кавычки — реферер, показывает нам откуда запрашивается файл. В нашем случае файл 4.jpg был запрошен при открытии страницы /htaccess.html

«Opera/9.80 (Windows NT 5.1; U; MRA 5.10 (build 5265); ru) Presto/2.10.229 Version/11.64» — третья часть заключенная в кавычки — юзерагент, в юзерагенте мы можем увидеть версию браузера, версию операционной системы, язык браузера.

чтение и анализ лог-файла пример2

92.38.234.215 — — [28/May/2012:00:38:15 +0400] «GET / HTTP/1.0» 200 15908 «-» «mizukov-test»

92.38.234.215 — ip адрес бота

[28/May/2012:00:38:15 +0400] — время захода бота

«GET / HTTP/1.0» метод обращения get, поскольку файл к которому обращается бот не указан, значит запрос был к морде сайта, ну и время обращения

200 — с сайтом все хорошо

«-» — поле реферер не заполено, такми образом можем предположить что это бот

«mizukov-test» — я точно знаю, что это бот, потому что сам прописал его в поле юзер-агент в системе мониторинга сайтов :))))

исходя из краткого анализа данной строчки лога мы видим, что в ночью заходил бот сервиса мониторинга сайтов и сайт прекрасно работал.

P.S. как правило настоящий посетитель пришедший на ваш сайт оставляет несколько строчек в лог-файле, боты (поисковые и другие роботы, спам-боты, пауки) обычно оставляют за собой след в виде одной строчки.

чтение и анализ лог-файла пример 3

95.108.158.134 — — [28/May/2012:01:42:22 +0400] «GET /robots.txt HTTP/1.0» 200 211 «-» «Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)»

95.108.158.134 — ip адрес с которого пришел…

[28/May/2012:01:42:22 +0400]

«GET /robots.txt HTTP/1.0» — он пришел и прочитал файл robots.txt

200 — мы уверены, что он прочитал файл потому что он получил ответ 200

«-» — поле реферера пусто, а в логах строчка только одна. Значит это робот.

«Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)» — поле юзерагент. ОН представляется как браузер мазила/5.0 но прочитав тут мы знаем что это был основной индексирующий робот яндекса.

вобщем то надеюсь вам стало понятно, что структура логов всегда одинакова (основные части)1-ip 2-дата и время 3-метод обращения и запрашиваемый файл 4-реферер 5-юзер-агент

При анализе логов обратите внимание на ботов основных поисковых систем, как часто они вас навещают, какой файл запрашивают и какой ответ сервера получают. Если ответ отличный от 200 или 304 то стоит заняться исправлением ошибок на сайте.

Дабы избежать сильной нагрузки на сервер от ботов не следует пренебрегать директивой Crawl-delay: в файле robots.txt Особенно могут оборзеть боты майла или рамблера, да так что сервак буквально падает.

Ну а ботов беспредельщиков, которые не принимают к сведению директивы robots мы, балгодаря анализу логов, тупо будем банить разными методами. Но об этом уже в другой статье.