.NET Framework Agent 설치
1. 모듈 설명
exem-dotnet-agent는 .NET Framework 기반 프로세스(IIS 등)의 트랜잭션, SQL, Call Tree, 예외 데이터를 수집하여 ExemONE으로 전송하는 모니터링 에이전트입니다.
2. 지원 환경
| 항목 | 내용 |
|---|---|
| OS | Windows |
| Arch | 64bit |
| Runtime | .NET Framework 4.5 이상 |
| Platform | On-premise (IIS / w3wp.exe) |
| Framework | ASP.NET (IIS/w3wp) |
| DB | SQL Server (System.Data.dll) |
| HTTP | Remote Call (System.Net.WebResponse) Socket |
| Protocol | TCP 9010 → Receiver |
| Prereq | Visual C++ 재배포 패키지 관리자 권한 GAC 등록 COM 컴포넌트 레지스트리 등록 |
| Other | Error handling Application lifecycle Custom Transaction |
3. 설치하기
3-1. 패키지 다운로드
설치 패키지(Exem_DotNet_Agent_[version].zip)를 서버에 다운로드하거나 직접 업로드한 후 압축을 해제합니다.
3-2. 시스템 환경 변수 설정
Windows 시스템 환경 변수에 아래 항목을 설정합니다.
필수 환경 변수:
| 환경 변수 | 설명 | 예시 |
|---|---|---|
EXEM_DOTNET_PATH | 패키지 압축 해제 경로 아래의 exem 폴더 경로 | C:\workspace\package\exem |
EXEM_DOTNET_PROFILE_TARGET_PROCESS | Profiler가 모니터링할 프로세스 이름 | w3wp.exe |
선택 환경 변수:
| 환경 변수 | 설명 |
|---|---|
EXEM_DOTNET_DEBUG | Exem.DotNet.Profiler 디버그 로그 활성화 (true) |
EXEM_DOTNET_DEBUG2 | Exem.DotNet.Agent 디버그 로그 활성화 (Agent ID 발급 이전 구간 로깅, true) |
3-3. 런타임 라이브러리 및 에이전트 설치
v3.0.3 이상 패키지는 배치 파일을 사용한 간편 설치를 지원합니다.
방법 1 — 배치 파일로 설치 (v3.0.3 이상, 권장)
tools/Visual Studio 2017 C++ Redistributable폴더에서 서버 아키텍처에 맞는 Visual C++ 재배포 패키지를 설치합니다.tools/netfw_agent_install.bat파일을 관리자 권한으로 실행합니다.
방법 2 — 개별 설치
아래 순서대로 각 단계를 진행합니다.
Visual C++ 재배포 패키지 설치
tools/Visual Studio 2017 C++ Redistributable폴더에서 서버 아키텍처에 맞는 설치 파일을 실행합니다.Profiler DLL 등록
tools/dll_regsvr/DLL_Install.bat파일을 관리자 권한으로 실행합니다.Exem.DotNet.Profiler가 COM 구성 요소로 레지스트리에 등록됩니다.Agent GAC 등록
tools/Assembly/assembly_regist.bat파일을 관리자 권한으로 실행합니다. x86 환경에서는assembly_regist_x86.bat을 실행합니다.에이전트 서비스 등록
tools/profile_for_service_start.bat파일을 관리자 권한으로 실행합니다.
4. Gatherer 주소 설정
config/net.conf 파일에서 DG_ADDR 옵션에 ExemONE 수집 서버 주소를 설정합니다.
DG_ADDR=<수집서버 IP>:<포트>
4. 제거하기
4-1. 제거 전 확인 사항
관리자 권한 명령 프롬프트 또는 배치 실행 권한이 필요합니다.
대상 서비스 또는 IIS worker process가 동작 중이면 제거 직후 재기동 여부를 확인합니다.
패키지 경로가 유지된 상태에서 제거하는 것이 안전하다. 제거 배치는 EXEM_DOTNETFW_HOME 또는 시스템 레지스트리의 동일 값을 참조합니다.
4-2. 권장 제거 방법
tools/netfw_agent_uninstall.bat를 관리자 권한으로 실행합니다.
이 배치 파일은 아래 작업을 순서대로 수행합니다.
- 에이전트 서비스 중지
- GAC 등록된 어셈블리 제거
- Profiler DLL COM 등록 해제
- 시스템 환경 변수 삭제 (
EXEM_DOTNETFW_HOME,EXEM_DOTNETFW_DEBUG,EXEM_DOTNETFW_DEBUG2,EXEM_DOTNET_PROFILE_TARGET_PROCESS,EXEM_DOTNET_RETRY_COUNT)
4-3. 수동 제거 방법
아래 순서대로 각 단계를 진행합니다.
1. 에이전트 서비스 중지
tools/profile_for_service_stop.bat를 관리자 권한으로 실행합니다.
2. GAC 등록 어셈블리 제거
아키텍처에 맞는 배치 파일을 관리자 권한으로 실행합니다.
- x64:
tools/Assembly/assembly_remove.bat - x86:
tools/Assembly/assembly_remove_x86.bat
제거 대상 어셈블리: Exem.DotNetFw.Agent, log4net, System.Buffers, System.Runtime.CompilerServices.Unsafe, System.Memory, Google.Protobuf
3. Profiler DLL 등록 해제
tools/dll_regsvr/DLL_Remove.bat를 관리자 권한으로 실행합니다.
Exem.DotNetFw.Profiler.x86.dll, Exem.DotNetFw.Profiler.x64.dll의 COM 등록이 해제됩니다.
4. 시스템 환경 변수 삭제
아래 명령을 관리자 권한 명령 프롬프트에서 실행합니다.
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_HOME /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG2 /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_PROFILE_TARGET_PROCESS /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_RETRY_COUNT /f