환영합니다
JENNIFER .NET 프로모션에 선정되신 것을 환영합니다. 아래 절차를 통해 https://9net.jennifersoft.com으로 .NET 애플리케이션 모니터링을 할 수 있습니다.
아래 절차를 통한 에이전트 설치가 어려우신 분은 promotion.kr@jennifersoft.com으로 문의 주시기 바랍니다. 원격 접속(http://113366.com/jennifer)을 통해 에이전트 설치를 지원합니다.
제니퍼는 크롬(Chrome) 브라우저에 최적화 되어 있습니다. IE나 Firefox 사용 시 일부 기능에 문제가 있을 수 있습니다.
JENNIFER 접속
크롬(Chrome) 브라우저를 사용해 https://9net.jennifersoft.com으로 접속합니다.
메일에 명시된 ID와 임시 비밀 번호로 접속합니다.
접속 후 대시 보드 우측 상단에 위치한 사용자 메뉴 > 계정관리 > 내 계정을 이용해 비밀번호를 변경합니다.
이후 에이전트 설치를 완료하면 대시 보드에서 .NET 애플리케이션 모니터링을 할 수 있습니다.
.NET 에이전트 설치
닷넷 에이전트 다운로드 경로: https://cdn.jennifersoft.com/public/promotion/kr/agent.net.zip
에이전트와 제니퍼 서버는 TCP 포트 5000번으로 통신합니다. JENNIFER 서버 5000번 포트로 접속할 수 있도록 방화벽 설정이 되어 있는지 확인해 주세요.
만약 모니터링 해야 할 서비스가 여러 개 있다면 매 서비스마다 프로모션을 신청할 필요는 없습니다. 처음 신청 시 메일에 첨부된 Domain ID로 여러 서비스에 대해 에이전트 ID를 다르게 설정해서 모니터링 할 수 있습니다.
설치
제니퍼 닷넷 에이전트의 압축 파일(agent.net.zip)을 해제하면 다음의 파일이 생성됩니다.
Installer.exe
Installer.exe.config
agent-installer.dll
agent-installer.runtimeconfig.json
윈도우 운영체제 - 일반 서버 및 클라우드의 단독 가상 머신 환경
Installer.exe를 실행해 설치하면 정상적인 경우 다음의 하위 폴더들이 생성됩니다.
디렉터리 | 설명 |
---|---|
bin/ | 에이전트 실행 파일이 있는 디렉터리 |
config/ | 에이전트가 적용되는 응용 프로그램들의 구성 설정 파일을 보관하는 디렉터리 |
logs/ | 에이전트 로그 파일이 있는 디렉터리 |
utility/ | 유틸리티 실행 파일이 있는 디렉터리 |
닷넷 에이전트 설치 후 모니터링을 원하는 닷넷 응용 프로그램을 선택해야 합니다. 만약 응용 프로그램 유형이 IIS 웹, NT 서비스, COM+에 속한다면 /bin/IISConfigHelper.exe 도구를 이용하여 쉽게 설정할 수 있고, 반면 그 이외의 독립 실행 응용 프로그램이라면 수작업으로 직접 설정 파일을 구성해야 합니다.
IIS 웹 응용 프로그램을 위한 구성 방법
IIS 웹 응용 프로그램은 응용 프로그램 풀(Application Pool) 단위로 작업자 프로세스(w3wp.exe)가 관리됩니다. 제니퍼 닷넷 에이전트는 w3wp.exe 내부에 활성화되기 때문에 IIS와 마찬가지로 응용 프로그램 풀 별로 모니터링 단위를 관리합니다.
예를 들어, 다음 화면에는 ".NET 웹 응용 프로그램"이 있는 응용 프로그램 풀이 "cshtml_web", "DefaultAppPool", "Jennifer40.WebSiteTest4"가 등록된 것을 보여줍니다.
그림에서 보면, ".NET v4.5", ".NET v4.5 Classic"은 등록된 웹 응용 프로그램이 없으므로 제니퍼 닷넷이 설치될 수 없습니다.
이런 환경에서 /bin/IISConfigHelper.exe 도구를 실행하면 다음과 같이 제니퍼 닷넷이 활성화 가능한 3개의 응용 프로그램 풀 이름을 "IIS" 노드에 보여줍니다.
설치를 원하는 응용 프로그램 풀을 마우스로 선택하고 우측 버튼을 누르면 "Install" 메뉴가 나오고, 그 메뉴를 선택해서 실행하면 다음 화면과 같이 필수 설정 값들을 채울 수 있는 화면이 나옵니다.
필드 명 | 설명 |
---|---|
Jennifer Server | 9net.jennifersoft.com (제니퍼 데이터 서버가 설치된 컴퓨터의 DNS 또는 IP 주소) |
Domain Id | 프로모션 메일에 포함된 domain_id 값 |
Start Instance Id | 제니퍼 에이전트가 활성화되는 응용 프로그램에 대한 고유 식별자. 데이터 서버에 연결된 모든 에이전트들의 ID는 고유해야 하며 1개의 Domain 당 최대 100개의 Instance 접속이 가능. (100개 이후의 Instance가 설정된 경우 새로운 에이전트는 접속이 거부됩니다.) IIS 웹 응용 프로그램의 경우 "Web Garden" 설정에 따라 여러 개의 w3wp.exe 프로세스가 활성화 될 수 있으므로 범위를 지정하게 됩니다. |
Auto ID | 설정하면 에이전트의 Instance ID를 서버로부터 자동 할당합니다. |
Auto Select | IIS 웹 응용 프로그램인 경우에만 옵션이 활성화되며, 이를 선택해 두면 해당 응용 프로그램 풀(Application Pool)에 속한 모든 웹 애플리케이션을 모니터링합니다. 이 설정을 해제하면, 하단의 목록 상자에 나열된 웹 애플리케이션 중 원하는 항목을 선택해 모니터링하는 것이 가능합니다. |
원하는 값을 설정하면 이를 반영하기 위해 반드시 "저장(Save)" 버튼을 눌러줍니다. 설정된 값은 [에이전트 설치 폴더]\config\iis 폴더 하위에 [응용 프로그램 풀].conf 파일로 저장됩니다.
리눅스 - .NET Core/5/6 환경
리눅스 환경에서 설치를 진행하려면 .NET Core 3.1 이상의 런타임이 설치되어 있어야 하고 다음과 같이 명령어를 수행하면,
$ sudo dotnet agent-installer.dll
정상적으로 설치된 경우 하위에 다음의 디렉터리들이 생성됩니다.
디렉터리 | 설명 |
---|---|
bin/ | 에이전트 실행 파일이 있는 디렉터리 |
config/ | 에이전트가 적용되는 응용 프로그램들의 구성 설정 파일을 보관하는 디렉터리 |
logs/ | 에이전트 로그 파일이 있는 디렉터리 |
utility/ | 유틸리티 실행 파일이 있는 디렉터리 |
모니터링을 위한 설정 파일 구성
리눅스 환경에서 응용 프로그램 모니터링을 위해서는 2가지 작업을 해야 합니다. 첫 번째는 conf 파일을 생성하는 것이고, 두 번째는 해당 응용 프로그램에 적용할 환경 변수를 구성합니다.
./config 디렉터리에 conf 파일 생성
이제 어떤 응용 프로그램을 모니터링해야할지 결정하고 그에 대해 config 디렉터리 내에 응용 프로그램 이름과 대응하는 conf 구성 정보 파일을 만들어야만 제니퍼 닷넷 에이전트가 동작하게 됩니다. 이때 conf 파일명은 응용 프로그램의 실행 유형에 따라 정해집니다. 대표적으로 .NET Core 응용 프로그램은 2가지 유형으로 나뉘는데,
[dotnet 실행 파일에 호스팅되는 경우] $ dotnet [...net.dll...] 예) $ dotnet CoreCoreLin.dll
[ELF 실행 파일에 호스팅되는 경우] $ [...net_elf...] 예) $ .\CoreCoreLin
첫 번째 유형의 경우 CoreCoreLin.dll.conf 파일로, 두 번째라면 CoreCoreLin.conf 파일로 지정합니다. conf 파일의 내용은 app_pool.conf의 내용을 복사해 제니퍼 데이터 서버의 환경에 따른 설정으로 변경합니다.
server_address = 9net.jennifersoft.com server_port = 5000 domain_id = ... 프로모션 메일에 포함된 domain_id 값 ... inst_id = ... 에이전트 ID ... inst_id_pool = 1
환경 변수 구성
프로세스에 다음의 환경 변수가 적용되어야 합니다.
CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={6C7CAF0F-D0E5-4274-A71B-6551761BBDC8} CORECLR_PROFILER_PATH=libAriesProfiler.so
만약 shell 파일을 통해 실행하는 닷넷 응용 프로그램이라면 .sh 파일 내에 다음과 같이 export 명령어를 포함합니다.
export CORECLR_ENABLE_PROFILING=1 export CORECLR_PROFILER={6C7CAF0F-D0E5-4274-A71B-6551761BBDC8} export CORECLR_PROFILER_PATH=libAriesProfiler.so
대개의 경우 리눅스에서 구동하는 .NET Core 웹 응용 프로그램은 /etc/systemd/system 디렉터리에 service 파일로 등록되었을 텐데, 이런 경우에는 service 파일 내에 다음과 같이 환경 변수 구성을 추가합니다.
[Service] WorkingDirectory=/home/tusr/corecorelin ExecStart=/usr/share/dotnet/dotnet /home/tusr/corecorelin/CoreCoreLin.dll KillSignal=SIGINT SyslogIdentifier=dotnet-corecorelin Environment=CORECLR_ENABLE_PROFILING=1 Environment=CORECLR_PROFILER={6C7CAF0F-D0E5-4274-A71B-6551761BBDC8} Environment=CORECLR_PROFILER_PATH=libAriesProfiler.so
닷넷 에이전트 적용 및 해제 방법
에이전트 설치를 하고 모니터링을 원하는 응용 프로그램에 대해 설정 파일을 만들었다면 이후 프로세스를 다시 실행할때 부터 모니터링이 진행됩니다. (예를 들어, IIS 웹 사이트라면 "iisreset" 명령으로 w3wp.exe를 재시작합니다.)
반대로 닷넷 에이전트 적용을 해제하고 싶다면 conf 설정 파일을 제거(또는 이름 변경)한 후 프로세스를 다시 실행만 하면 됩니다. (IISConfigHelper 응용 프로그램에서 제공되는 "Uninstall" 메뉴는 설정 파일만 제거하므로 프로세스 재시작은 별도로 수행해야 합니다.)
.NET 에이전트 제거
윈도우 환경
Installer.exe 실행 시 "/u" 인자를 주면 제거됩니다. (또는 Installer.exe로 설치했을 때 함께 생성된 uninstall.bat 파일을 실행합니다.)
> Installer.exe /u 또는 > uninstall.bat
이는 시스템에 등록된 정보만 제거하는 것으로 현재 모니터링 중인 프로세스는 여전히 제니퍼 에이전트의 모듈을 사용 중일 수 있습니다.
따라서, 기존에 모니터링되고 있는 프로그램이 있다면 프로세스(EXE) 종료 후 다시 실행해야 제니퍼 모듈이 완전하게 내려갑니다. (예를 들어, IIS 웹 사이트인 경우 반드시 "iisreset" 명령을 실행해야 합니다.)
제니퍼 닷넷이 설치된 폴더는 모든 프로세스에서 에이전트 사용이 해제되고 난 후에야 삭제할 수 있습니다.
만약 삭제가 안 된다면 제니퍼 모듈이 올라간 프로세스가 여전히 실행 중인지를 확인하고, 있다면 종료 후 다시 삭제를 시도합니다. (또는, 서버를 재부팅한 후 안전하게 삭제할 수 있습니다.)
리눅스 환경
agent-installer.dll 실행 시 "/u" 인자를 주면 제거됩니다. (또는 "dotnet agent-installer.dll"로 설치했을 때 함께 생성된 uninstall.sh 파일을 실행해도 됩니다.)
$ sudo dotnet agent-installer.dll /u 또는 $ sudo ./uninstaller.sh
이는 시스템에 등록된 정보만 제거하는 것으로 현재 모니터링 중인 프로세스는 여전히 제니퍼 에이전트의 모듈을 사용하고 있는 중입니다.
따라서, 기존에 모니터링되고 있는 프로그램이 있다면 프로세스 종료 후 다시 실행해야 제니퍼 모듈이 완전하게 내려갑니다.
JENNIFER 따라하기
아래 '실시간 데이터 조회하기', '과거 데이터 조회하기', '통계 보기'를 통해 JENNIFER의 컨셉과 간략한 사용법을 학습할 수 있습니다.
제니퍼를 처음 사용하시는 분들을 위해 원격 접속(http://113366.com/jennifer)을 통해 주요 사용 방법을 안내 합니다. promotion.kr@jennifersoft.com으로 연락 주시기 바랍니다.
매뉴얼을 통해 제니퍼의 기능 활용방법을 확인하실 수 있습니다. 매뉴얼은 모든 제니퍼 화면 우측 상단의 '?' 버튼으로 확인 가능합니다.
실시간 데이터 조회하기
JENNIFER 로그인 후 바로 보이는 화면이 '시스템 관리자 대시보드'입니다. 이 화면에서 액티브 서비스, 응답시간, 프로세스 메모리 사용량, TPS를 살펴보세요.
액티브 서비스란 ASP.NET에서 처리 중인 요청을 의미합니다. 액티브 서비스 숫자가 10이라면 현재 처리 중인 요청의 수가 10이라는 것을 의미합니다.
시스템 관리자 대시보드 우측의 X-View 차트를 확인하세요. X-View 차트는 트랜잭션(.NET 요청)을 'X'로 표시합니다. x축은 요청이 완료된 시간이며, y축은 응답시간(elapsed time)입니다.
마우스 드래그를 동작을 사용해 X-View 차트의 특정 X점들(처리된 트랜잭션)을 선택하세요. 선택된 트랜잭션의 상세 정보를 X-View 트랜잭션 팝업을 통해 확인하실 수 있습니다. X-View를 활용한 트랜잭션 모니터링 도움말로 자세한 사용법을 학습할 수 있습니다.
실시간 모니터링으로 실시간 모니터링 데이터를 확인할 수 있습니다. 화면 좌측 메뉴목록의 대시보드 메뉴를 클릭하면 실시간 모니터링 화면 리스트를 볼 수 있습니다. 여기서 사용자를 클릭한 후 보이는 화면에서 방문자 수, TPS, 액티브 사용자 수치를 확인하세요.
과거 데이터 조회하기
분석 퍼스펙티브로 이동하면 JENNIFER에 저장된 과거 데이터를 조회할 수 있습니다.
분석 퍼스펙티브 리스트에서 애플리케이션 현황을 클릭하면 일일 호출 건수와 시간당 호출 건수를 볼 수 있습니다. 시간당 호출 건수 바 그래프에서 특정 시간대를 클릭하세요. 하단 테이블에서 해당 시간대에 어떤 애플리케이션 URL이 호출되었는지, 어떤 SQL이 실행되었는지 확인하세요. 테이블의 '응답시간' 컬럼을 클릭해 응답시간이 가장 느린 순으로 애플리케이션을 정렬해보세요.
분석 퍼스펙티브 리스트에서 성능 브라우저를 클릭하세요. 상단 입력 컴포넌트에서 Domain 이름과 날짜, Instance를 차례대로 선택합니다. Metrics 선택 화면에서 시스템 CPU 사용률(%)를 선택한 후 검색 버튼을 누르세요. 하단 그래프에서 선택한 날짜의 시스템 CPU 사용률 추이를 확인할 수 있습니다.
분석 퍼스펙티브 리스트에서 X-View를 클릭하세요. 이후 조회 기간을 선택한 후 검색 버튼을 누르세요. 해당 시간대에 처리된 트랜잭션을 X점으로 확인하실 수 있습니다. 또한 마우스 그래그로 X점들을 선택하면 상세 트랜잭션 데이터 정보를 확인하실 수 있습니다.
통계 보기
통계 화면을 통해 일별, 월별 통계 데이터를 확인할 수 있습니다. 통계 퍼스펙티브로 이동해 일일 방문자, 운영시간 호출 건수등 통계 데이터를 확인하세요.
문제 리포트 및 개선 사항 수렴
JENNIFER .NET 기능에 문제가 있거나 개선할 점이 있으시면 언제든지 promotion.kr@jennifersoft.com 으로 연락 주시기 바랍니다.