Поиск по сайту:

Лон Чени написал детектив "человек с тысячью лиц". (Алан.Дж.Перлис)

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

FavoriteLoadingДобавить в избранное
22 декабря 2021
Как установить 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

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

Читать  Команда ifconfig в Linux

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"
  • Первый блок записи журнала содержит IP-адрес удаленного хоста, запрашивающего указанный ресурс. В этом примере исходный IP-адрес — localhost.
  • Вторая часть содержит имя удаленного хоста.
  • Далее следует отметка времени окончания HTTP-запроса.
  • Далее следует метод HTTP-запроса, такой как GET, POST,…
  • Следующая часть содержит запрошенный URL. В нашем примере выше запрошенный URL является индексным,
  • Следующая часть — это протокол HTTP-запроса, например HTTP/1.1.
  • Далее идет код состояния HTTP для запрошенного ресурса или URL-адреса, например 200 OK, 404 не найден и т. д.
  • Затем идет количество байтов, отправленных в теле запроса.
  • Последний блок содержит User-Agent для запроса.

 

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

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

 

ПРИМЕЧАНИЕ
Это формат журнала по умолчанию для Lighttpd версии 1.4.13 и выше.

 

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

Вы можете создать собственный формат журнала, используя параметры, представленные в документации по формату журнала 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 и отформатировать журналы. Вы также узнали, как создать собственный формат журнала, используя различные параметры.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
5 2 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**Commentor's URL Will be Followed

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close