ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Разобрать access.log в Lighttpd

Как установить Lighttpd на CentOS 7

Системным администраторам требуется подробная информация для диагностики и устранения проблем, которые могут возникнуть в системе. Одним из источников такой информации являются журналы. Журналы – это серия записей, описывающих использование системы или ресурсов в системе.

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

В этой статье вы узнаете, как включить ведение журнала на сервере Lighttpd, и поймете форматирование журналов из файла access.log.

 

Включить ведение журнала доступа

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

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

Чтобы включить ведение журнала доступа на сервере Lighttpd, разрешите модуль журнала доступа с помощью команды:

sudo lighttpd-enable-mod accesslog

 

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

Если вы хотите изменить параметры модулей accessLog, отредактируйте файл, расположенный в:

/etc/lighttpd/conf-enabled/10-accesslog.conf

Изменение имени файла журнала доступа

По умолчанию журналы доступа хранятся в файле access.log, как определено в параметре accessLog.filename.

Чтобы установить собственное имя, отредактируйте значение записи. Например, чтобы установить журналы доступа в файл server.log:

accesslog.filename = "/var/log/lighttpd/server.log"

Доступ к параметрам журнала.

Другие параметры, которые вы можете изменить для настройки журналов доступа на сервере Lighttpd, включают:

  1. accesslog.use-syslog – эта опция отправляет журналы доступа в syslog. По умолчанию эта опция отключена.
  2. accesslog.syslog-level – определяет уровень ведения журнала (серьезность) для системного журнала. По умолчанию установлен уровень INFO. Другие варианты включают:
    1. 0 – Emergency
    2. 1 – Alert
    3. 2 – Critical
    4. 3 – Error
    5. 4 – Warning
    6. 5 – Notice
    7. 6 – Info
    8. 7 – Debug

Вы можете узнать больше об уровнях системного журнала в ресурсе ниже:

https://en.wikipedia.org/wiki/Syslog#Severity_level

  1. accesslog.format – эта опция описывает структуру журналов в файле access.log.

 

Понимание формата журнала

Разберем формат журналов доступа на сервере Lighttpd. Стоит отметить, что для простоты мы будем использовать формат журнала по умолчанию.

Чтобы просмотреть содержимое файла журнала, вы можете использовать команду cat как:

sudo cat /var/log/lighttpd/access.log

 

Возьмем одну запись, как показано в примере ниже:

127.0.0.1 localhost - [02/Nov/2021:01:05:28 -0400] "GET / HTTP/1.1" 200 15043 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0"

 

Следующий формат описывает все указанные выше блоки:

accesslog.format = "%h %V %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""

 

 

Пользовательский формат журнала.

Вы можете создать собственный формат журнала, используя параметры, представленные в документации по формату журнала Lighttpd.

https://redmine.lighttpd.net/projects/1/wiki/Docs_ModAccesslog

 

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

  1. %h – представляет удаленный IP-адрес.
  2. %l – представляет собой удаленное имя хоста.
  3. %m – для метода запроса.
  4. %s – код статуса.
  5. %U – запрошенный URL.
  6. %b – количество байтов в теле запроса.

Отредактируйте файл журнала доступа:

sudo nano conf-enabled/10-accesslog.conf

 

Установите формат журнала, как показано ниже:

accesslog.format = "%h %l %m %s %U %b"

 

Сохраните и закройте файл. Перезапустите службу как:

sudo service lighttpd restart

 

После перезапуска службы перейдите по индексной веб-странице. Теперь вы должны увидеть формат журнала, как показано:

192.168.9.220 localhost - GET 200 / 15043

 

Чтобы узнать, как создать собственный формат журнала, обратитесь к документации.

 

Вывод

В этой статье вы узнали, как настроить ведение журнала доступа на сервере Lighttpd и отформатировать журналы. Вы также узнали, как создать собственный формат журнала, используя различные параметры.

Exit mobile version