IT/MW

[Apache] Log

yskko 2020. 9. 21. 14:14

1. Apache Log 종류

- Error Log (SSL 설정 시 SSL Error)

- Access Log (SSL 설정 시 SSL Access)

- System Log

 

2. Log Level

* 운영 기본 설정은 warn

로그레벨

에러의 의미

Emerg

불안정한 시스템 상황

Alert

즉각적인 조치 필요

Crit

중대한 에러

Error

비교적 중대하지 않은 에러

Warn

경고

Notice

중대한 것은 아닌 일반적인 메시지

Info

정보

Debug

디버그 레벨

 

3. Access Log 의미

아이템

의미

Host

클라이언트의 호스트이름이나 IP Address

Ident

IdentityCheck 가 enable 되어 있고, 클라이언트가 ident 에 응답을 보내면 identity 정보를 남기게 되며, 보통은 -로 대체된다.

Authuser

인증이 있을 경우 여기에 사용자 이름이 기록되게 되며, 그렇지 않을 경우 - 로 대체된다.

Date

접속한 시간과 날짜를 나타내며, 포맷은 다음과 같다 :

날짜포맷 = [day/month/year:hour:minute:second zone]

               day = 2*digit

               month = 3*letter

               year = 4*digit

               hour = 2*digit

               minute = 2*digit

               second = 2*digit

               zone = (`+' | `-') 4*digit

Request

클라이언트가 요청한 자료

Status

요청한 것에 대한 서버의 처리사항으로 상태 코드라 한다.

Bytes

헤더를 제외한 전송된 Byte 양

 

4. Access Log Format Code

%% 퍼센트 기호
%...a 원격 IP-주소
%...A (서버) IP-주소
%...B HTTP 헤더를 제외한 전송 바이트수.
%...b HTTP 헤더를 제외한 전송 바이트수. CLF 형식과 같이 전송한 내용이 없는 경우 0 대신 '-'가 나온다.
%...{Foobar}C 서버가 수신한 요청에서 Foobar 쿠키의 내용.
%...D 요청을 처리하는데 걸린 시간 (마이크로초 단위).
%...{FOOBAR}e 환경변수 FOOBAR의 내용
%...f 파일명
%...h 원격 호스트
%...H 요청 프로토콜
%...{Foobar}i 서버가 수신한 요청에서 Foobar: 헤더의 내용.
%...l (있다면 identd가 제공한) 원격 로그인명. mod_ident가 있고 IdentityCheck On이 아니면 빼기기호를 기록한다.
%...m 요청 메써드
%...{Foobar}n 다른 모듈이 기록한 Foobar 노트(note) 내용.
%...{Foobar}o 응답의 Foobar: 헤더 내용.
%...p 요청을 서비스하는 서버의 정규 포트
%...P 요청을 서비스하는 자식의 프로세스 ID.
%...{format}P 요청을 서비스하는 자식의 프로세스 ID 혹은 쓰레드 ID. format에는 pid와 tid가 가능하다.
%...q 질의문자열 (질의문자열이 있다면 앞에 ?를 붙이고, 없다면 빈 문자열)
%...r 요청의 첫번째 줄
%...s 상태(status). 내부 리다이렉션된 요청의 경우 *원래* 요청의 상태이다. 최종 요청의 상태는 %...>s.
%...t common log format 시간 형식(표준 영어 형식)의 시간
%...{format}t strftime(3) 형식 format의 시간. (지역시간일 수 있음)
%...T 요청을 처리하는데 걸린 시간 (초 단위).
%...u 원격 사용자 (auth가 제공하며, 상태(%s)가 401인 경우 이상한 값을 나올 수 있음)
%...U 질의문자열을 제외한 요청 URL 경로.
%...v 요청을 서비스한 서버의 정규 ServerName.
%...V UseCanonicalName 설정에 따른 서버명.
%...X 응답을 마쳤을때 연결 상태.

(아파치 1.3 후반 버전에서 이 지시어는 %...c였지만, 전통적인 ssl %...{var}c 문법과 겹쳐서 변경했다.)

%...I 요청과 헤더를 포함한 수신 바이트수로 0일 수 없다. 이를 사용하려면 mod_logio가 필요하다.
%...O 헤더를 포함한 송신 바이트수로 0일 수 없다. 이를 사용하려면 mod_logio가 필요하다.