독립 실행형 응용 프로그램 및 NT 서비스

이 장에서는 IIS/COM+ 이외의 응용 프로그램인 일반적인 독립실행형 응용 프로그램(Console, WinForm, WPF,…) 또는 NT 서비스 형식의 응용 프로그램을 모니터링 하기 위한 방법을 설명한다.

에이전트 구성

구성 환경

아래의 표는 제니퍼 에이전트 설치에 따른 설치자 이해를 돕기 위해 제니퍼 에이전트가 설치될 서버의 환경 정보를 보여주고 있다. 본 설치 가이드는 [표 1]의 환경 값을 기준으로 설명되며, 실제 작업 시는 사용자 서버의 환경 정보에 맞추어 설치작업을 진행해야 한다.

예제 환경 설정

구분

설명

제니퍼 에이전트 홈 디렉토리

C:\Jennifer

제니퍼 서버 IP Address

192.168.0.139

[응용 프로그램 이름].exe.config 변경 및 환경 변수 설정

제니퍼 에이전트가 시스템에 설치된 후, 모니터링 하려는 대상 응용 프로그램과 1:1 관계로 ”.conf”파일을 하나씩 지정한다.

conf 파일 설정

만약 테스트 exe 프로그램의 이름이 test.exe 라고 가정해 보자.

“C:\Jennifer\agent.net\conf” 폴더에 기본 설정값을 담은 “app_pool.conf”를 복사해서 test.exe.conf 라는 파일명으로 저장한다.

udp_server_host 에는 제니퍼 서버가 설치된 컴퓨터의 주소를 입력하고 agent_pool 에는 고유 ID 와 포트 값을 적절하게 설정한다.

환경 변수 설정

환경변수 설정 방법은 일반적인 독립실행형 응용 프로그램과 NT 서비스 응용 프로그램에 대해서 달라진다.

독립실행형 응용 프로그램의 경우 다음과 같은 배치 파일을 이용해서 exe 실행 이전에 환경 변수를 설정하도록 바꾼다.

REM ===== startapp.bat =====
REM ===== 반드시 exe 파일명을 소문자로 지정한다.
SET JENNIFER_PROFILE=test.exe
test.exe

반면, “NT 서비스 응용 프로그램”을 모니터링하려면 위와 같이 환경 변수를 설정하는 배치 파일을 만들어 줄 수 없으므로 컴퓨터의 "시스템 환경 변수 설정" 창에서 "시스템 환경 변수" 영역에 JENNIFER_PROFILE 과 NT 서비스의 exe 파일 이름을 소문자로 등록해 준다. (물론, 독립 실행형 응용 프로그램도 배치 파일이 아닌 시스템 환경 변수에 등록해 줘도 무방하다.)

txserver 옵션 설정

독립 실행형 EXE나 NT 서비스는 Request/Response에 대한 처리를 일반 소켓으로 입출력할 가능성이 크기 때문에 그런 트랜잭션 단위가 되는 메소드를 알아내서 [설치 폴더]\profiler.ini 의 [txserver] 섹션에 등록해 주어야 한다.

txserver 지정 단위는 메소드와 클래스가 허용된다. 다음은 각각의 예를 보여준다.

[txserver]
BizServer.BizClass.SelectProduct=1 ; 메소드 단위 지정
                                   ; 1은 enable을 의미

BizServer.DacClass=c ; 1 대신 c 값을 지정해서 클래스 단위 지정이 가능
                     ; 따라서 BizServer.DacClass 안의 모든 메서드를
                     ; txserver로 동작하게 됨

참고로 일부 EXE 프로그램에서는 소켓이 아닌 닷넷의 원격 호출 규약으로 서비스를 제공하는 경우도 있다. 예를 들어, NT 서비스 프로그램 내에서 WCF, .NET Remoting 등의 방법을 사용해서 원격 호출을 제공하는데 그런 경우에는 굳이 txserver를 지정하지 않아도 모니터링이 가능하다.

응용 프로그램 재 시작

모니터링 대상이 되는 응용 프로그램을 새롭게 설정한 환경 변수들이 적용되기 위해 재 시작을 한다.

에이전트 구성 제거

제품 설치는 그대로 유지하고, 모니터링만을 그만 두려는 경우 JENNIFER_PROFILE 환경 변수에서 해당 exe 이름을 제거하면 모니터링이 중지된다. 만약, 프로세스가 실행 중이라면 재시작한다.