목차

개요

어플리케이션 모니터링 에이전트는 사용자 정보 모니터링 기능을 통해 기본적으로 사용OS, BROWSER 정보를 모니터링하여 통계 정보를 제공한다. 그 외 부가적인 모니터링 기능은 다음을 참고하여 선택적으로 설정할 수 있으며, 필수 사항은 아니다.

어플리케이션 모니터링 문제 해결 가이드

1. 유의사항

1.1 모니터링을 위한Aspect 적용시 유의 사항

전자정부표준 프레임워크 어플리케이션 모니터링 도구는 기본적으로 AOP 기능을 사용하여 모니터링 기능을 수행하고 있다. Monitoring Tool에서는 InfraRED에서 지원하는 모든 기능(AspectJ 기반 Aspect 적용, AspectsWerks 기반 Aspect 적용 등)에 대해서 검증을 수행한 것은 아니므로 위에서 언급한 대로 사용할 것을 권장하며 그렇지 않은 경우 일부 모니터링 기능이 불가능할 수도 있다.

1.2. 모니터링 수행시간 데이타 분석시 유의 사항

어플리케이션 성능 모니터링 데이타는 기본 30초를 주기로 전송되며, 수신된 모니터링 성능 데이타는 기본 30초 단위로 지정된 데이타베이스에 저장된다. 어플리케이션 성능 모니터링 데이타는 실시간 또는 데이타베이스를 통해 조회할 수 있도록 되어 있으며, 실시간 데이터는 기본적으로 30분을 주기로 Reset 되고 재수집된다.

2. 모니터링 에이전트 설치시 문제 해결방법

전자정부표준 프레임워크 어플리케이션 모니터링 도구는 기본적으로 AOP, Filter 기능을 사용하여 모니터링 기능을 수행하고 있기 때문에 설정 오류 또는 예외사항이 발생하여 어플리케이션의 정상적인 가동을 어렵게 할 수 있다. 이러한 문제에 대한 일반적인 해결 방법은 다음과 같다.

2.1 어플리케이션에서 Spring Context 에 *Service 라는 이름으로 임의의 ServiceImpl 객체를 직접 할당한 경우

org.springframework.beans.factory.BeanNotOfRequiredTypeException: 
	Bean named '[서비스이름]' must be of type [예상되는 서비스Impl 객체이름], but was actually of type ...
소스코드를 수정하는 방법
...
    @Resource(name = "exampleService")
    private [임의의 ServiceImpl] exampleService;
...

위의 문제의 코드를 아래와 같이 수정함으로 문제를 해결할 수 있다.

...
    @Resource(name = "exampleService")
    private ExampleService exampleService;
...
    ExampleService = new [임의의 ServiceImpl]();
...
서비스 API 모니터링에 대한 예외처리 방법
...
	<bean id="egovframe_api_profiler_aop_autowire" class="egovframework.oe2.agt.aggregator.aspects.ExclusiveBeanNameAutoProxyCreator">
		...
		<property name="exclusiveBeanNames" value="[문제된 서비스이름 또는 패턴], ..." />
		...
	</bean>
....

2.2 어플리케이션에서 Spring Context 에 로딩된 Service 객체가 순환참조 발생가능성이 존재하는 경우

org.springframework.beans.factory.BeanCurrentlyInCreationException:  
	in its raw version as part of a circular reference, ...