[Linux] Apache(아파치) 로그 설정

반응형
반응형

 

Apache는 log_config_module을 사용하여 클라이언트의 요청을 원하는 형식으로 로그에 기록할 수 있습니다

 

아래 설정은 Apache 기본 로그 설정입니다. 한줄씩 의미를 확인해 보겠습니다.

#1 <IfModule log_config_module>
#2    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#3    LogFormat "%h %l %u %t \"%r\" %>s %b" common
#4
#5    CustomLog "logs/access_log" combined
#6 </IfModule>

 

#1 #6 :  IfModule 지서어는 서버에 log_config_module이 설치되어 있을 때만 섹션 안의 지시어들을 적용한다.

[root@linux-2 conf]# httpd -D DUMP_MODULES | grep log_config_module
 log_config_module (shared)

 

#2 #3 : LogFormat 지시어는 말 그대로 로그의 형식을 지정합니다. 어떤 형식으로 지정할지는 아래 표의 문자열을 참고하시면 됩니다. 끝에 combined는 정의한 LogFormat의 이름 입니다

형식 문자열

의미(설명)

%h

원격 호스트

%l

원격 로그인명

%u

원격 사용자

%t

시간

%r

요청의 첫번째 줄

%s

상태

%b

HTTP 헤더를 제외한 전송 바이트수
CLF 형식과 같이 전송한 내용이 없는 경우 0 대신 '-'가 나옴

%{헤더}i

클라이언트 요청의 헤더 값

(추가 문자열에 대해서는 Apaceh 공식페이지에서 확인 하시면 됩니다)

https://httpd.apache.org/docs/2.4/ko/mod/mod_log_config.html#logformat

 

#5 : CustomLog 지시어로 로그 파일(이름 및 위치)과 형식을 지정합니다.

 

 

그럼, 실제 서버에서 로그를 확인해 보겠습니다.

 

192.168.56.1 - - [30/May/2020:23:50:48 +0900] "GET / HTTP/1.1" 200 14 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
형식 문자열
%h 192.168.56.1
%l -(값없음)
%u -(값없음)
%t [30/May/2020:23:50:48 +0900]
%r GET / HTTP/1.1
%s 200
%b 14
%{referer}i -(값없음)
%{User-Agent}i Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/83.0.4103.61 
Safari/537.36

 

 

반응형

댓글

Designed by JB FACTORY

loading