티스토리 뷰

LINUX

[tomcat] 톰캣 로그 남기기

란텔 2015. 11. 25. 18:27

몇일전에 디도스 공격을 당해서 클라우드 호스팅중인 업체에서 하룻동안 서버를 정지시켰다.


공부겸 사이트를 만드는 것이라 누가 접속할 것이라고는 생각도 못했다.


그래서 톰캣에 로그를 남기고 비정상적으로 많은 접속을 하는 아이피를 차단하기 위해 톰캣차원에서 로그를 남기기로 했다.



 

centos 기준...톰캣에 로그기록을 남기기 위한 설정은 다음과 같다.

/etc/tomcat6/server.xml 파일 내용 중 아래 부분(Valve엘리먼트)의 주석을 제거한 후 Tomcat을 재시작하면 된다.

 

(초기에는 주석처리가 되어있다.)

        <!--

        <Valve className="org.apache.catalina.valves.AccessLogValve"

                 directory="logs"  prefix="localhost_access_log." suffix=".txt"

                 pattern="common" resolveHosts="false"/>

        -->

 

아래와 같이 수정했다.(아래의 엘리먼트가 위치할 곳은 Engine엘리먼트 내부이다.)

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  

               prefix="localhost_access_log." 

  suffix=".txt" 

  resolveHosts="false"

  pattern="%t %a %r"

fileDateFormat="yyyy-MM-dd"

  />

 

참조: http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html

아래는 pattern속성에 쓸 수 있는 값들이다.

·         %a - Remote IP address

·         %A - Local IP address

·         %b - Bytes sent, excluding HTTP headers, or '-' if zero

·         %B - Bytes sent, excluding HTTP headers

·         %h - Remote host name (or IP address if resolveHosts is false)

·         %H - Request protocol

·         %l - Remote logical username from identd (always returns '-')

·         %m - Request method (GET, POST, etc.)

·         %p - Local port on which this request was received

·         %q - Query string (prepended with a '?' if it exists)

·         %r - First line of the request (method and request URI)

·         %s - HTTP status code of the response

·         %S - User session ID

·         %t - Date and time, in Common Log Format

·         %u - Remote user that was authenticated (if any), else '-'

·         %U - Requested URL path

·         %v - Local server name

·         %D - Time taken to process the request, in millis

·         %T - Time taken to process the request, in seconds

·         %I - current request thread name (can compare later with stacktraces)



로그 확인은..

/var/log/tomcat6/     

에서 로그파일을 확인하면 된다.

Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday