===== 개요 ===== 어플리케이션 모니터링 Agent는 다음과 같은 환경 설정을 갖고 있다. ===== 어플리케이션 모니터링 Agent 환경 설정파일 구성 ===== ==== 1. 모니터링 에이전트 속성 ==== <표 1.1.1 모니터링 속성> ^Property^Description^Default Value^ |enable-monitoring|해당 어플리케이션에 대한 모니터링 여부를 정의한다. false일 경우, 어플리케이션 성능 모니터링이 수행되지 않는다.| true| |jdbc-monitoring-enable|해당 어플리케이션의 JDBC 실행에 대한 모니터링 여부를 정의한다.|true| |enable-call-tracing|전자정부표준프레임워크 Monitoring Tool을 통해 실행 순서대로 기록될 것인지 정의한다. 어플리케이션 API 실행 순서를 트리 구조로써 보여준다. |true| |prune-threshold|전자정부표준프레임워크 Monitoring Tool이 표현할 수 있는 한계 시간(milliseconds)을 정의한다. 실행 시간이 지정된 milliseconds보다 적을 경우 표현되지 않는다. |-1| |last-invocations-to-trace|전자정부표준프레임워크 Monitoring Tool의 Last Invocations 페이지에 표현할 Invocation 개수를 정의한다. |5| |prepared-statement-monitoring-enable|PreparedStatement 표현시 해당 쿼리문의 인자값을 함께 표현할 것인지를 정의한다.|true| |enable-user-monitoring|해당 어플리케이션의 사용자 정보 (로그인id, os, browser, 업무시스템) 모니터링 여부를 정의한다.|true| |contextFlushSize|사용자 정보 모니터링 Flush size |500| |enable-exception-monitoring|해당 어플리케이션의 오류 정보 (Exception) 모니터링 여부를 정의한다.|true| |collection-strategy|수집된 데이터를 표현하기 위한 strategy가 정의된 class명을 정의한다. 전자정부표준프레임워크 Monitoring Tool은 현재 net.sf.infrared.agent.transport.impl. CentralizedCollectionStrategy만을 추가 지원한다. default로 적용되는 DoNothingCollectionStrategy는, 이름에서 알 수 있듯이 아무것도 수행하지 않는다. |egovframework.oe2.agt.aggregator.transport.impl.CentralizedCollectionStrategy| |collection-strategy.ccs.remotehost|전자정부표준프레임워크 모니터링서버의 ip를 정의한다. 모니터링 대상 어플리케이션으로부터 수집된 데이터는 Socket을 통해 Collertor에게 flush된다. |localhost| |collection-strategy.ccs.port|전자정부표준프레임워크 Monitoring Tool의 Collector가 listening할 대상 port를 정의한다. |7777| |collection-strategy.ccs.flush-frequency|Remotehost에서 모니터링 대상 어플리케이션의 데이터가 Collector에 flush되는 주기를 정의한다. flush되는 주기값은 양호한 성능을 위해서 최적화될 필요가 있다. 그 값이 클수록 저장할 통계값이 커지고, 이에 따라 더 많은 메모리가 필요할 것이다. 반면에 주기값이 낮으면, 빈번한 network traffic을 유발할 수 있게 된다. |30000| |collection-strategy.ccs.pool|Collector가 flush되기 전에 Thread Pool이 수집된 데이터를 유지할 것인지를 정의한다. |false| |collection-strategy.ccs.pool. maxThreads|Thread pool에서 허용 가능한 thread의 최대 개수를 정의한다. collection-strategy.ccs.pool 속성이 true일 경우에만 적용할 수 있다. |1| |collection-strategy.ccs.pool.buffer-length|유지가능한 element의 수를 알려주는 pool buffer의 용량을 정의한다. collection-strategy.ccs.pool 속성이 true일 경우에만 적용할 수 있다. |100| 다음은 위에서 언급한 속성을 포함하고 있는 infrared-agent.properties 파일의 내용이다. # The sample infrared-agent.properties enable-monitoring = true enable-call-tracing = true jdbc-monitoring-enable = true prune-threshold = -1 last-invocations-to-trace = 5 prepared-statement-monitoring-enable = true jdbc-fetch-statistics = true enable-exception-monitoring = true enable-user-monitoring = true only-user-monitoring = true collection-strategy = egovframework.oe2.agt.aggregator.transport.impl.CentralizedCollectionStrategy collection-strategy.ccs.remotehost = localhost collection-strategy.ccs.port = 7777 collection-strategy.ccs.pool = false collection-strategy.ccs.flush-frequency = 30000 #collection-strategy.ccs.pool.maxThreads = 1 #collection-strategy.ccs.pool.buffer-length = 100 ==== 2. 모니터링 도구 속성 ==== 모니터링 서버에서 어플리케이션 모니터링이 정상적으로 작동하는 지 확인할 수 있으며 주요 확인 항목은 다음과 같다. <표 2.1 어플리케이션 주요 모니터링 항목> ^항목^설명^ |총 실행 시간|한 번의 호출에 대한 총 경과 시간| |호출 횟수|총 실행 횟수| |평균 시간|호출을 처리하기 위해 소요된 평균 실행 시간| |최소, 최대 실행 시간|실행 시간중 가장 적게 걸린 시간과 가장 오래 걸린 시간| |최초, 최후 실행 시간|여러번의 호출들 중에서 최초 혹은 최후의 실행에 대한 실행 시간| ===== 참조 URL ===== * http://infrared.sourceforge.net/versions/latest/ * http://dev.anyframejava.org/docs/monitoring/1.0.0/reference/htmlsingle/monitoring.html