Apache – это часть стека LAMP программного обеспечения для Linux (Linux, Apache, MySQL, PHP). Apache позволяет открывать веб-страницы людям, просматривающим ваш сайт.
Сервер предоставляет доступ для посещения вашего веб-сайта и ведет журнал доступа. Эти записи, лог-файлы, могут оказаться ценным источником информации о вашем веб-сайте, его использовании и его аудитории.
В данной статье вы узнаете, как просматривать лог-файлы журнала доступа Apache.
Просмотр журналов доступа Apache
Использование cPanel для загрузки необработанных файлов регистрации доступа
Если вы вошли на веб-сервер с помощью cPanel, то вы можете загрузить журналы доступа Apache через графический интерфейс.
- Найдите раздел с надписью «Metrics».
- Нажмите «Raw Access». Если включено архивирование, то необработанные файлы журналов Apache можно загрузить внизу страницы. Они будут выглядеть как стандартные гиперссылки, промаркированные с учетом конструкции веб-сайта, которым вы управляете.
При нажатии на гиперссылку вам будет предложено сохранить или открыть файл. Эти лог-файлы сжаты при помощи gzip, поэтому, если ваша систему отлична от Linux, то вам могут понадобиться дополнительные инструменты для распаковки. Сохранить файл вы можете в любую папку.
- Найдите файл в своей ОС, затем щелкните на него правой кнопкой мыши и выберите extract(извлечь). После этого должен появиться новый файл без расширения
.gz
.
- Щелкните правой кнопкой мыши и выберите 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 может помочь вам устранить проблемы с вашим веб-сайтом.