1. Nginx의 로그 포멧은 다음과 같이 설정할 수 있습니다.
http { log_format combiled '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_byte_sent ' '"$http_referer" "$http_user_agent"'; access_log /var/log/nginx/access.log combined; //combine 형태의 로그 error_log /var/log/nginx/error.log crit; //crit 형태의 로그 ... |
Nginx 로그 레벨 설정
에러 레벨 | 의미 |
Alert | 긴급 상황 |
Crit | 위험한 상황 |
Error | 오류 상황 |
Warn | 경고 상황 |
Notice | 정상이지만 중요한 상황 |
Info | 정보 메시지 |
Debug | 디버그레벨 메시지 |
2. Apache 포맷으로 로그 기록하기
대부분의 웹 로그 분석기는 Apache 로그 포멧을 기준으로 작동을 합니다. 필요에 따라서 NginX의 로그를 다음과 같은 방법을 통하여 Apache 로그 포멧으로 기록을 할 수 있습니다.
log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded+for"'; access_log /var/log/nginx/access.log main; |
Apache와 Nginx 로그 설정 비교.
Apache 설정 | Nginx 설정 | 의미 |
%h | $remote_addr | 이 사이트에 접근하고 있는 클라이언트들의 IP 주소 |
%l | $remote_user | 사용자가 HTTP 인증으로 로그인했을 때 사용자명 |
%t | $time_local | 요청이 발생한 때 서버의 지역 타임스탬프 |
%r | $request | 서버에 제출된 요청 |
%s | $status | HTTP 응답 코드 (200, 404, 500 등) |
%b | $body_bytes_sent | 서버가 클라이언트로 전송한 응답의 크기 |
%U | $http_referer | 클라이언트를 이 서버로 오게 만든 이전 페이지의 URL |
"%{User-agent}i" | $http_user_agent | HTTP 요청에 사용된 브라우저 타입 |
참고 : http://httpd.apache.org/docs/2.2/ko/mod/mod_log_config.html
by hyeons(9월)
'1. 미들웨어이야기 > 04. Nginx' 카테고리의 다른 글
Nginx 가상 호스트별 로그 설정 (0) | 2014.11.26 |
---|---|
Nginx 다중 로그 설정 (0) | 2014.11.26 |
Nginx와 OpenSSL 보완 취약점 (0) | 2014.07.31 |
Nginx 실시간 모니터링 (ngxtop) (0) | 2014.07.30 |
Nginx 다수의 서드파티 모듈 설치방법 (0) | 2014.07.28 |