개요

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

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

1. 유의사항

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

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

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

  • 모니터링 전송주기 및 실시간 모니터링 데이타 Reset 주기

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

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

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

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

  • 현상 : 다음과 같은 오류 메시지를 출력하면서 Application 이 정상 가동되지 않음
org.springframework.beans.factory.BeanNotOfRequiredTypeException: 
	Bean named '[서비스이름]' must be of type [예상되는 서비스Impl 객체이름], but was actually of type ...
  • 원인 : 어플리케이션 API 모니터링을 위해서 Service 객체에 대한 AOP Aspect 를 작동시키는 과정에서 오류 발생
  • 문제 해결 :
소스코드를 수정하는 방법
...
    @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 객체가 순환참조 발생가능성이 존재하는 경우

  • 현상 : 다음과 같은 오류 메시지를 출력하면서 Application 이 정상 가동되지 않음
org.springframework.beans.factory.BeanCurrentlyInCreationException:  
	in its raw version as part of a circular reference, ...
  • 원인 : A 라는 서비스 객체가 B 라는 서비스 객체를 참조하고, B라는 서비스 객체가 A라는 서비스 객체를 참조하는 경우에 이러한 오류가 발생할 가능성이 있다. 이러한 경우 Service 객체에 대한 AOP Aspect 를 작동시키는 과정에서 오류가 발생한다.
  • 문제 해결 : 소스코드를 수정하거나 위의 설명한 “서비스 API 모니터링에 대한 예외처리 방법” 을 통해 해결할 수 있다.
 
egovframework/oe2/설치/에이전트_설치/에이전트_문제해결가이드.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki