Lighttpd 액세스를 확인합니다.로그

Lighttpd 액세스를 확인합니다.로그

2022-06-04 last update

7 minutes reading Linux Applications
시스템 관리자는 시스템에서 발생할 수 있는 문제를 진단하고 복구하기 위해 상세한 정보를 필요로 한다.이런 정보의 출처는 로그이다.로그는 시스템이나 시스템의 자원을 어떻게 활용하는지 설명하는 일련의 기록이다.
Lighttpd 등 웹 서버는 로그를 사용하여 출력 정보의 상세한 단계를 설정할 수 있습니다.기본적으로 일반 로그 형식을 사용합니다.그러나 로그 기록 방법은 각종 수요와 장면에 대해 고도로 설정할 수 있다.
이 강좌에서는 Lighttpd 서버에서 로그 기록을 활성화하고access에서 로그의 형식을 이해하는 방법을 배울 것입니다.로그 파일.

액세스 로깅 사용


파일을 분석하고 파일 형식을 파악하기 전에 웹 서버에서 액세스 로깅을 설정해야 합니다.
액세스 로그는 웹 서버에서 위탁 관리하는 웹 응용 프로그램 요청 파일과 자원에 대한 로그 정보를 포함합니다.액세스 로그에 저장된 일반적인 정보는 IP 주소, 사용자 에이전트, 파일 액세스 등을 포함한다.
Lighttpd 서버에서 액세스 로깅을 설정하려면 다음 명령을 사용하여 로그 모듈에 액세스할 수 있습니다.
sudo lighttpd-enable-mod accesslog
상술한 명령은 서버에서 웹 응용 프로그램의 파일과 자원에 접근 로그를 기록할 수 있도록 접근 로그 모듈을 불러옵니다.
accessLog 모듈의 옵션을 수정하려면 다음 위치에 있는 파일을 편집합니다.
/etc/lighttpd/conf-enabled/10-accesslog.conf

액세스 로그 파일 이름 수정


기본적으로 액세스 로그는access에 저장됩니다.로그에 정의된 로그 파일에 접근합니다.파일 이름 옵션.
사용자 정의 이름을 설정하려면 항목의 값을 편집합니다.예를 들어, 파일 서버에서 액세스 로그를 설정합니다.로그:
accesslog.filename = "/var/log/lighttpd/server.log"

로그 액세스 옵션.


Lighttpd 서버에서 액세스 로그를 구성하도록 수정할 수 있는 추가 옵션은 다음과 같습니다.
  • 로그에 액세스합니다.syslog 사용 - 이 옵션을 사용하면 액세스 로그를syslog로 보냅니다.이 옵션은 기본적으로 비활성화됩니다.
  • 로그에 액세스합니다.syslog level - syslog의 로그 기록 수준 (심각성) 을 정의합니다.기본적으로 이 수준은 정보로 설정됩니다.기타 옵션:
  • 0 – 긴급
  • 1 – 경고
  • 2 – 중요
  • 3 – 오류
  • 4 – 경고
  • 5 – 알림
  • 6 – 정보
  • 7 – 디버깅
  • 시스템 로그 수준에 대한 자세한 내용은 다음 리소스에서 확인할 수 있습니다.
    https://en.wikipedia.org/wiki/Syslog#Severity_level
  • 로그에 액세스합니다.형식 - 액세스 로그의 구조를 설명합니다.로그 파일.
  • 로그 형식 이해


    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 요청 종료 시간의 타임 스탬프입니다.
  • 다음은 GET, POST,...
  • 등의 HTTP 요청 방법입니다.
  • 다음 섹션에는 요청한 URL이 포함되어 있습니다.위의 예에서 요청한 URL은 색인/
  • 다음은 HTTP/1.1
  • 과 같은 HTTP 요청 프로토콜입니다.
  • 다음은 요청한 리소스나 URL의 HTTP 상태 코드입니다. 예를 들어 200 OK, 404 not found 등입니다.
  • 다음은 본문에서 보내는 바이트 수를 요청합니다.
  • 마지막 블록은 요청한 사용자 에이전트를 포함합니다.
  • 다음 형식은 위의 모든 블록을 설명합니다.
    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과 요청 본문의 바이트 수를 포함할 것이다.
  • %h - 원격 IP 주소를 나타냅니다.
  • %l - 원격 호스트 이름을 나타냅니다.
  • %m - 요청 방법에 사용됩니다.
  • %s – 상태 코드.
  • %U - 요청한 URL입니다.
  • %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 서버에서 액세스 로그를 설정하고 포맷하는 방법을 배웠습니다.다양한 옵션을 사용하여 사용자 정의 로그 형식을 만드는 방법도 배웠습니다.
    읽어 주셔서 감사합니다. 더 많은 강좌에 계속 관심을 가져 주십시오.