ћерион Ќетворкс

6 минут

Apache – это часть стека LAMP программного обеспечени€ дл€ Linux (Linux, Apache, MySQL, PHP). Apache позвол€ет открывать веб-страницы люд€м, просматривающим ваш сайт.

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

¬ данной статье вы узнаете, как просматривать лог-файлы журнала доступа Apache.


ѕросмотр журналов доступа Apache

»спользование cPanel дл€ загрузки необработанных файлов регистрации доступа

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

  1. Ќайдите раздел с надписью «Metrics».
Metrics
  1. Ќажмите «Raw Access». ≈сли включено архивирование, то необработанные файлы журналов Apache можно загрузить внизу страницы. ќни будут выгл€деть как стандартные гиперссылки, промаркированные с учетом конструкции веб-сайта, которым вы управл€ете.
Raw Access

ѕри нажатии на гиперссылку вам будет предложено сохранить или открыть файл. Ёти лог-файлы сжаты при помощи gzip, поэтому, если ваша систему отлична от Linux, то вам могут понадобитьс€ дополнительные инструменты дл€ распаковки. —охранить файл вы можете в любую папку.

  1. Ќайдите файл в своей ќ—, затем щелкните на него правой кнопкой мыши и выберите extract(извлечь). ѕосле этого должен по€витьс€ новый файл без расширени€ .gz.
  1. ўелкните правой кнопкой мыши и выберите edit (изменить), чтобы открыть файл в любом текстовом редакторе и просмотреть его содержимое.

»спользование команд терминала дл€ отображени€ журналов локального доступа

≈сли вы работаете на компьютере, на котором установлен Apache, или если вы вошли в систему удаленно, то вы можете использовать терминал дл€ отображени€ и фильтрации содержимого журналов доступа.

ѕо умолчанию вы можете найти лог-файл по следующим пут€м:

  • /var/log/apache/access.log
  • /var/log/apache2/access.log
  • /etc/httpd/logs/access.log

„тобы перемещатьс€ по вашей системе в поисках журналов, используйте графический интерфейс или терминал с командой cd.

Ўаг 1: ќтображение последних 100 записей журнала доступа

¬ведите в окно терминала следующую команду:

sudo tail -100 /var/log/apache2/access.log

 оманда tail указывает на то, что необходимо прочитать последнюю часть файла, а команда -100 – что нужно отобразить 100 записей.

ѕоследн€€ часть команды, /var/log/apache2/access.log, указывает, где искать лог-файл. ≈сли ваш лог-файл имеет другое расположение, то об€зательно укажите верный путь.

Ўаг 2: отображение записей определенного типа из журнала доступа

»ногда может потребоватьс€ отобразить в журнале только записи определенного типа. ¬ы можете воспользоватьс€ командой grep дл€ фильтрации отчета по ключевым словам.

Ќапример, введите в терминал следующую команду:

sudo grep GET /var/log/apache2/access.log

 ак и предыдуща€ команда, она обращаетс€ к файлу /var/log/apache2/access.log, чтобы отобразить содержимое журнала доступа.  оманда grep указывает на то, что отобразить нужно только записи с запросом GET.

Ёту команду можно заменить на любые другие команды Apache. Ќапример, если вы хотите отследить доступ к изображени€м в формате .jpg, то вы можете заменить GET на .jpg.  ак и в предыдущей команде, следите за тем, чтобы был указан фактический путь к лог-файлу вашего сервера.


ѕросмотр журнала ошибок Apache

ѕомимо журнала доступа вы можете просматривать журнал ошибок, использу€ ранее упом€нутые команды терминала.

¬ведите в терминал следующую команду:

sudo tail -100 /var/log/apache2/error.log

≈сли ваш лог-файл доступа был расположен в другой папке, то и лог-файл ошибок будет в той же папке. ѕроверьте, что вы верно указали путь до файла.


 ак читать логи в Apache

 огда вы открываете лог-файл доступа впервые, то внутренний вид вас может потр€сти.

“ам находитс€ множество информации о HTTP-запросах, а некоторые текстовые редакторы (и терминал) еще могут переносить часть текста на следующую строку, что может затрудн€ть чтение файла. ќднако, несмотр€ на это, кажда€ информаци€ отображаетс€ в определенном пор€дке.

“радиционный формат отображени€ лог-файла доступа:

"%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i""

Ёто код дл€ наиболее общих параметров в каждой строке лог-файла.

 аждый знак % соответствует определенному фрагменту информации в журнале:

  • %h – IP-адрес клиента (источника запроса на доступ).
  • %l – следующа€ запись может быть просто дефисом – это означает, что информаци€ не была получена. Ёто результат проверки identd на стороне клиента.
  • %u – идентификатор пользовател€ клиентской стороны, если дл€ запроса доступа требуетс€ HTTP-аутентификаци€.
  • %t – временна€ метка вход€щего запроса.
  • %r – использованна€ строка запроса. «десь речь идет о методе http (GET, POST, HEAD и т.д.), пути к тому, что было запрошено, и используемом протоколе http.
  • %>s – код состо€ни€, возвращенный сервером клиенту.
  • %b – размер запрошенного ресурса.
  • «%{Referer}i» - указывает на то, как был получен доступ, путем перехода по ссылке на другом веб-сайте или другими способами, с помощью которых клиент был направлен на вашу страницу.
  • «%{User-agent}i» - сообщает вам информацию об объекте, совершающем запрос, например, о веб-браузере, операционной системе, источнике веб-сайта (если это робот) и т.д.

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

ƒополнительную информацию о форматах журналов декодировани€ можно найти тут


 ак использовать данные в лог-файлах Apache

јнализ журнала Apache дает возможность наблюдать за способами взаимодействи€ клиентов с вашим сайтом.

Ќапример, вы можете посмотреть временную метку, чтобы вы€снить, сколько поступает запросов на доступ в час, чтобы определить шаблоны трафика. ¬ы можете посмотреть на user-agent, чтобы узнать, вход€т ли определенные пользователи на веб-сайт с целью доступа к базе данных или создани€ контента. ¬ы также можете отлеживать неудачные попытки аутентификации, чтобы вы€вл€ть различные виды кибератак на вашу систему.

∆урнал ошибок Apache можно использовать аналогичным образом. „асто его просто используют дл€ того, что посмотреть сколько генерируетс€ ошибок 404. ќшибка 404 возникает, когда клиент запрашивает отсутствующий ресурс, и это может помочь вам распознать неработающие ссылки или другие ошибки на странице. ѕомимо этого, его также можно использовать дл€ поиска ошибок конфигурации или даже предупреждений о потенциальных проблемах с сервером.


«аключение

¬ данной статье были представлены методы извлечени€ данных дл€ просмотра лог-файлов доступа Apache.

‘айл access.log – отличный вариант дл€ того, чтобы проанализировать то, как клиенты взаимодействуют с вашим сервером. ј файл error.log может помочь вам устранить проблемы с вашим веб-сайтом.


—кидки 50% в Merion Academy

¬ыбрать курс