.NET Agent 설치
이제 모든 관련 문서를 확인했습니다. 상세한 답변을 작성합니다.
exemONE .NET(Dotnet) Agent 설치 방법 및 설정 상세 가이드
참고 문서:
1. 모듈 설명
exemONE Dotnet Agent(exem-dotnet-agent)는 Windows 환경의 .NET Framework 기반 웹 애플리케이션(IIS 등)에 프로파일러 형태로 연결되어 트랜잭션, SQL, Call Tree, Exception 등의 데이터를 수집하고 exemONE 수집 서버(Receiver)로 전송하는 모니터링 에이전트입니다.
2. 지원 환경
| 항목 | 지원 범위 |
|---|---|
| OS | Windows |
| .NET 버전 | .NET Framework 4.8까지 (.NET Core 호환 불가) |
주의: .NET Core는 지원하지 않습니다. 반드시 .NET Framework 환경에서만 사용 가능합니다.
3. 통신 포트
| 출발지 | 도착지 | Type | Port | 내용 |
|---|---|---|---|---|
| 모니터링 대상 장비 (.NET App) | exemONE 수집 서버 (Receiver) | TCP | 9010 | 범용 TCP 요청 및 응답 |
Java Agent와 동일하게 TCP 9010 포트를 사용합니다. 모니터링 대상 서버에서 수집 서버 방향으로 9010 포트가 반드시 개방되어 있어야 합니다.
4. 사전 설정 (환경 변수)
Dotnet Agent 설치 전, Windows 시스템에 아래 환경 변수를 등록해야 합니다.
4-1. 필수 환경 변수
| 환경 변수 | 설명 | 예시 |
|---|---|---|
EXEM_DOTNET_PATH | exem 폴더까지의 경로 설정 | C:\workspace\package\exem |
EXEM_DOTNET_PROFILE_TARGET_PROCESS | Exem.DotNet.Profiler가 타겟으로 할 프로세스 설정 | w3wp.exe |
4-2. 선택 환경 변수
| 환경 변수 | 설명 | 예시 |
|---|---|---|
EXEM_DOTNET_DEBUG | Exem.DotNet.Profiler의 디버그 로그 옵션 | true |
EXEM_DOTNET_DEBUG2 | Exem.DotNet.Agent의 디버그 로그 옵션 (Agent ID 발급 이전까지의 로깅) | true |
5. 설치 방법 (단계별)
단계 1. (선택) 최신 Visual C++ 재배포 패키지 설치
{EXEM_DOTNET_PATH}/dotnet/tools/Visual Studio 2017 C++ Redistributable 폴더 내에 프로세서 아키텍처에 맞는 버전을 설치합니다.
단계 2. Exem.DotNet.Profiler 레지스트리 등록
{EXEM_DOTNET_PATH}/dotnet/tools/dll_regsvr/DLL_Install.bat 파일을 관리자 권한으로 실행합니다.
# 관리자 권한으로 실행
{EXEM_DOTNET_PATH}\dotnet\tools\dll_regsvr\DLL_Install.bat
단계 3. Exem.DotNet.Agent GAC 등록
{EXEM_DOTNET_PATH}/dotnet/tools/Assembly/assembly_regist.bat 파일을 관리자 권한으로 실행합니다.
# x64 환경
{EXEM_DOTNET_PATH}\dotnet\tools\Assembly\assembly_regist.bat
# x86 환경
{EXEM_DOTNET_PATH}\dotnet\tools\Assembly\assembly_regist_x86.bat
주의: x86 아키텍처의 경우
assembly_regist_x86.bat를 실행해야 합니다.
단계 4. exem-dotnet-agent 서비스 등록
{EXEM_DOTNET_PATH}/dotnet/tools/profile_for_service_start.bat 파일을 관리자 권한으로 실행합니다.
# 관리자 권한으로 실행
{EXEM_DOTNET_PATH}\dotnet\tools\profile_for_service_start.bat
단계 5. 게더(Receiver) 주소 설정
config/net.conf 파일에서 RECEIVER_ADDR 옵션에 수집 서버 IP와 포트를 설정합니다.
RECEIVER_ADDR=10.10.40.72:9010
6. 데이터 수집 사전 설정 (IIS 환경)
데이터 수집을 위해 IIS Server에서 추가 설정이 필요합니다.
6-1. Performance Monitor Users 그룹 추가
CPU Usage, DB Connection 지표 수집을 위해 설정이 필요합니다.
단계 1. 컴퓨터 관리 메뉴 이동
단계 2. 로컬 사용자 및 그룹 > 그룹 > Performance Monitor Users > 그룹에 추가

단계 3. [추가] 버튼 클릭 > IIS APPPOOL\{웹 서버 이름} 입력 후, [이름 확인] 버튼 클릭하여 추가

단계 4. 추가된 화면 확인

단계 5. IIS 재시작
iisreset /restart
6-2. Web.config 옵션 추가
Active DB Connection 지표 수집을 위해 설정이 필요합니다.
IIS 사이트의 Web.config 파일의 <configuration> 태그 안에 아래 내용을 추가합니다:
<system.diagnostics>
<switches>
<add name="ConnectionPoolPerformanceCounterDetail" value="4" />
</switches>
</system.diagnostics>
7. 옵션 설정 (net.conf)
7-1. 설정 파일 위치
{EXEM_DOTNET_PATH}\dotnet\config\net.conf
7-2. 설정 방법 (2가지)
CASE 1. 로컬 파일에서 수정
dotnet\config\net.conf 파일을 직접 수정하여 적용합니다.
| 옵션 | 설명 | 예시 |
|---|---|---|
RECEIVER_ADDR | 수집 서버 주소 (IP:Port) | RECEIVER_ADDR=10.10.40.72:9010 |
AGENT_NAME | 에이전트 이름 | AGENT_NAME=dotnet-agent1 |
GROUP_ID | 에이전트 그룹 이름 | GROUP_ID=dotnet-group1 |
CASE 2. Setting 화면에서 수정
exemONE 웹 UI에서 수정하여 적용합니다.
경로: Setting > Application > Application > Edit WAS Group > Config

7-3. 주요 옵션 상세
OS Resource 데이터 수집
| 옵션 | 설명 | 기본값 |
|---|---|---|
DISABLE_PERFORMANCE_COUNTER | 성능 지표 수집 여부 | true (미수집) |
false로 설정 시, 성능 지표 수집 가능
수집 가능 지표:
- WAS CPU Usage
- Active Transaction
DB Stat 데이터 수집
| 옵션 | 설명 | 기본값 |
|---|---|---|
USE_MSSQL | DB 지표 수집 여부 | false (미수집) |
true로 설정 시, DB 지표 수집
수집 가능 지표:
- Total DB Connections
- Active DB Connections
- Active Transactions
8. 패치(업데이트) 방법
기존에 설치되어 정상 구동 중인 Dotnet Agent의 버전을 업데이트하는 방법입니다.
사전 조건
- 기존에 설치되어 정상 구동 중인 Dotnet Agent
패치 절차
단계 1. 설치 파일 압축 해제
EXEM-DOTNET-AGENT-x.x.x.zip 설치 파일을 압축 해제합니다.
단계 2. DLL 파일 교체
dotnet/binary/Exem.DotNet.Agent.dll 파일을 새 버전으로 교체합니다.
단계 3. GAC 재등록
dotnet/tools/Assembly/assembly_regist.bat 파일을 관리자 권한으로 실행합니다.
{EXEM_DOTNET_PATH}\dotnet\tools\Assembly\assembly_regist.bat
9. 전체 설치 흐름 요약
1. 환경 변수 설정 (EXEM_DOTNET_PATH, EXEM_DOTNET_PROFILE_TARGET_PROCESS)
↓
2. (선택) Visual C++ 재배포 패키지 설치
↓
3. DLL_Install.bat 실행 (Profiler 레지스트리 등록)
↓
4. assembly_regist.bat 실행 (Agent GAC 등록)
↓
5. profile_for_service_start.bat 실행 (서비스 등록)
↓
6. net.conf 파일에 RECEIVER_ADDR 설정
↓
7. (선택) Performance Monitor Users 그룹에 IIS AppPool 추가
↓
8. (선택) Web.config에 ConnectionPoolPerformanceCounterDetail 추가
↓
9. IIS 재시작 (iisreset /restart)
10. 주의사항
- .NET Framework 전용: .NET Core는 호환되지 않습니다. .NET Framework 4.8까지만 지원합니다.
- Windows 전용: Linux, Unix 환경은 지원하지 않습니다.
- 관리자 권한 필수: 모든 bat 파일(
DLL_Install.bat,assembly_regist.bat,profile_for_service_start.bat)은 반드시 관리자 권한으로 실행해야 합니다. - x86 아키텍처 구분: x86 환경에서는
assembly_regist_x86.bat를 사용해야 합니다. - 방화벽 포트 개방: 모니터링 대상 서버 → 수집 서버(Receiver) 간 TCP 9010 포트가 개방되어 있어야 합니다.
- IIS 재시작 필수: Performance Monitor Users 그룹 추가 및 Web.config 수정 후에는 반드시
iisreset /restart를 실행해야 합니다. - DISABLE_PERFORMANCE_COUNTER 기본값 주의: 기본값이
true(미수집)이므로, WAS CPU Usage 등 OS Resource 지표를 수집하려면false로 변경해야 합니다. - USE_MSSQL 기본값 주의: 기본값이
false(미수집)이므로, DB Connection 관련 지표를 수집하려면true로 변경해야 합니다. - 패키지 파일 준비: 설치 파일은 제품기술팀에 문의하여 준비합니다.