Блог студии веб-дизайна «Make a Site» Дизайн, верстка, программирование, наполнение и раскрутка сайтов.

Как и зачем смотреть логи сервера

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

Как и зачем смотреть логи сервера
Содержание статьи

Что такое логи сервера

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

footprintsЛоги сервера, о которых сегодня пойдет речь — это записанные в интуитивно понятном и легко читаемом формате данные о всех действиях, производимых на сервере. Данные эти записываются в виртуальный журнал, который представляет собой файл с расширением access_log, error_log и т.д. Довольно часто логи не хранятся на сервере в первоначальном виде, а подвергаются сжатию в формате GZIP (GZIP compressed archive file), но это происходит со старыми логами. Такие файлы имеют расширение GZ и занимают значительно меньше места, чем занимали бы несжатом виде. Сжатие логов происходит на стороне хостинг-провайдера в автоматическом режиме и от вас тут никаких действий не требуется. Особенно сжатие логов актуально для высокопосещаемых проектов, подверженных большой нагрузке. Логи же за текущий день пишутся в режиме реального времени и не подвергаются сжатию для достижения максимального быстродействия, но в ущерб физической памяти на сервере.

server-logsФайлы имеющие расширение access_log и error_log не должны вас пугать своей загадочностью, ведь их можно открыть обычным блокнотом, а представленная в них текстовая информация понятна на интуитивном уровне даже тем людям, которые только недавно узнали о существовании этих файлов.

Как видно из расширений этих файлов, access_log хранит в себе данные, связанные с обращением к серверу, а error_log — данные с возможными ошибками, произошедшими на его стороне.

Обычно названия этих файлов совпадают с доменным именем сайта, к которому относятся, поэтому ориентироваться в них довольно просто. Каждый файл содержит логи за один день, что делает просмотр и анализ логов еще более удобным. Как только наступает следующий день, создается новый файл, в который записываются новые данные. По прошествии некоторого времени (зависит от того, какой используется хостинг, но обычно 1-2 дня), старые логи архивируются и хранятся еще какое то время, после чего окончательно удаляются. Чаще всего, на виртуальном хостинге вы сможете посмотреть логи не более чем двухнедельной давности, поэтому начинать заниматься поиском возможных проблем стоит как можно раньше и не откладывать это дело в долгий ящик.

Как смотреть логи сервера

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

87.242.64.204 - - [14/Sep/2015:00:00:19 +0300] "POST /wp-cron.php?doing_wp_cron=1442178018.1021161079406738281250 HTTP/1.0" 200 0 "-" "WordPress/4.3; http://makeasite.ru"

Как видите, все довольно просто и интуитивно понятно. Из этой строки можно по порядку выделить следующие данные:

detective-with-magnifying-glassА теперь давайте немного подробней рассмотрим каждый из этих пунктов.

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

Дата — дата и время в формате GMT (время гринвичского меридиана), когда происходило обращение к серверу.

Метод принимает значения GET или POST, которые означают передачу данных в очевидном виде (GET) или зашифрованном (POST).

URL — адрес страницы, к которой обратились.

Версия протокола, которая используется сервером сервером (в данном случае HTTP/1.0). Подробнее смотрите в статье о 404 ошибке и ее настройке, там был момент, когда мы немного подробней обсудили возможные версии протоколов и способы их определения средствами PHP.

Код ответа сервера (в данном случае он имеет значение 200, что означает успешный ответ).

User agent — заголовок, передающий информацию об устройстве, с которого происходит обращение к серверу. Иногда, к этой информации добавляется ссылка, что чаще всего указывает на то, что посетитель является поисковым ботом:

"Mozilla/5.0 (compatible; YandexMetrika/2.0; +http://yandex.com/bots)"

activate-access-logКстати, сами файлы логов чаще всего находятся в корневой директории вашего сервера, в папке _logs или с похожим и понятном на интуитивном уровне названием (не перепутаете). Иногда бывает так, что логов изначально нет и их запись нужно включить опционально, активировав бесплатную услугу в контрольной панели вашего хостинга. Если же у вас возникли проблемы с поиском директории логов и их просмотром, лучше всего будет обратиться в техническую поддержку вашего хостинга, где вам обязательно помогут разобраться с этой проблемой.

Зачем смотреть логи сервера

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

analysis-of-server-logsТакже есть смысл изучать логи для определения частоты посещения вашего сайта поисковым роботом. На начальном этапе раскрутки сайта это довольно важный момент. Вебмастер просто обязан знать, как часто на его сайт заходят сканеры всех распространенных поисковых систем и делать выводы, анализируя данную информацию. Для более удобного анализа даже существуют специальные программы (Servers Log Analyser), позволяющие оптимизировать процесс и сделать его более приятным и увлекательным.

Еще один случай, при котором может потребоваться детальное изучение логов сервера, не столь приятен, но, к сожалению, бывает и такое — выявление злоумышленников и вычисление подключенных парсеров контента. Если вы обнаружили, что ваш сайт взломали, есть шанс наказать хакера, вычислив его адрес и обнаружить уязвимое место в системе. Конечно IP-адрес, скорее всего, мало чем поможет, т.к. злоумышленник воспользуется прокси-сервером для заметания следов, но вот место, где произошел взлом вы точно увидите в логах. Если вы читали одну из наших предыдущих статей о необходимости регулярного резервного копирования, то все будет в порядке — закроете все уязвимости и закачаете на сервер бекап сайта. Также не помешает и предусмотреть защиту от SQL-инъекций, чтобы спалось спокойней.





Предыдущая статья:
Вторая волна Минусинска: теперь АГС и для доноров

Читайте также:
Основные причины заражения сайтов вирусами

Возможно, вам это интересно:



Блог студии веб-дизайна «Make a Site».
Дизайн, верстка, программирование, наполнение и раскрутка сайтов.

Текущий проект: «Stream Booster» — раскрутка Twitch и YouTube каналов

Студия веб-дизайна «Make a site»