728x90
Apache의 로그는 주로 두 가지 종류의 로그를 생성한다.
1. Access Log
- 클라이언트의 요청과 서버의 응답에 대한 정보를 기록
- 로그 형식은 2가지가 있다.
1-1. common 로그 형식
아파치는 기본적으로 CLF(Common Log Format) 형식을 따른다.
"%h %l %u %t \"%r\" %>s %b"
- %h : hostname 또는 IP 주소
- %l : 클라이언트 식별자
- %u : 인증된 사용자 이름
- %t : 요청이 수신된 시간
- %r : 클라이언트가 요청한 요청 라인 (ex. GET /index.html HTTP/1.1)
- %>s : 서버가 클라이언트에게 응답한 상태 코드
- %b : 응답 본문 크기 (byte단위)
1-2. combined 로그 형식
combined 형식은 common 형식에서 두 가지 정보를 추가로 포함한다.
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
- Referer : 현재 요청이 발생하기 전에 클라이언트가 방문했던 페이지의 URL
- User-agent : 클라이언트의 웹 브라우저와 운영 체제에 대한 정보
- httpd.conf 파일에서 CustomLog 지시어를 사용하여 Combined Log Format 형식으로도 설정이 가능하다.
CustomLog logs/access_log combined
참고
프록시 서버를 통해 들어오는 경우에는 서버에서 요청을 받는 측에서는 클라이언트의 실제 IP 주소를 알기 어려움이 있다. 이런 경우 %h가 아닌 %a를 사용하는 것이 좋다. (%h는 클라이언트의 IP 주소를 나타내지만 이는 프록시 서버의 IP 주소일 수도 있다.) %a는 프록시를 통해 전달된 경우에도 클라이언트의 실제 IP 주소를 기록해 준다.
2. Error Log
- 서버에서 발생하는 에러와 문제를 기록
- httpd.conf 파일에서 로그 레벨을 설정하여 상세한 로그가 출력되도록 할 수 있다.
LogLevel Debug
로그 레벨
- emerg : 긴급 상황으로 서버가 중단될 수 있는 심각한 오류
- alert : 즉시 처리해야 하는 문제
- crit : 심각한 문제, 즉시 해결해야하는 상태
- error : 오류가 발생했으며 처리가 필요함
- warn : 경고, 즉시 문제가 되지는 않지만 주의가 필요한 상태
- notice : 정상적인 동작이지만 주의가 필요한 상황
- info : 일반적인 정보를 기록
- debug : 매우 상세한 디버깅 정보를 기록
- Apache 2.4부터는 ErrorLogFomart을 설정하여 원하는 형식으로 에러 로그를 출력할 수 있다.
ErrorLogFormat "[%t] %h %l %u %r %s %b %m"
728x90
'SW > WEB WAS' 카테고리의 다른 글
[Apache] Virtual Hosts 종류 알아보기 (0) | 2024.09.14 |
---|---|
[Apache] 아파치 로그 파일 관리하기_rotatelogs (1) | 2024.09.14 |
[Apache] 아파치 모듈(mod_dav, mod_ssl, mod_security) 살펴보기 (2) | 2024.09.07 |
[2tier] Apache-Tomcat 연동 _1. mod_jk 방식 (0) | 2024.03.09 |
[linux] nginx 컴파일 설치 및 서비스(systemctl) 등록하기 (0) | 2024.01.23 |