환영합니다
JENNIFER OpenTelemetry 프로모션에 선정되신 것을 환영합니다. 아래 절차를 통해 https://9otel.jennifersoft.com으로 OpenTelemetry 에이전트를 이용한 애플리케이션 모니터링을 할 수 있습니다.
아래 절차를 통한 에이전트 설치가 어려우신 분은 promotion.kr@jennifersoft.com으로 문의 주시기 바랍니다. 원격 접속(http://113366.com/jennifer)을 통해 에이전트 설치를 지원합니다.
제니퍼는 크롬(Chrome) 브라우저에 최적화 되어 있습니다. IE나 Firefox 사용 시 일부 기능에 문제가 있을 수 있습니다.
JENNIFER 접속
크롬(Chrome) 브라우저를 사용해 https://9otel.jennifersoft.com으로 접속합니다.
메일에 명시된 ID와 임시 비밀 번호로 접속합니다.
접속 후 대시 보드 좌측 하단에 위치한 사용자 메뉴 > 계정관리 > 내 계정 을 이용해 비밀번호를 변경합니다.
이후 에이전트 설치를 완료하면 대시 보드에서 애플리케이션 모니터링을 할 수 있습니다.
OpenTelemetry 에이전트 설치
오픈텔레메트리 에이전트는 443 TCP 포트를 이용하여 오픈텔레메트리 컬렉터에 데이터를 전송합니다. https://otelcol.jennifersoft.com 으로 접속할 수 있도록 방화벽 설정이 되어 있는지 확인해 주세요.
데이터 전송은 사용자의 데이터 보호를 위해 http/protobuf (HTTPS) 를 이용합니다.
메일에 첨부된 Domain ID로 오픈텔레메트리 에이전트를 설치한 여러 애플리케이션을 모니터링 할 수 있습니다.
오픈텔레메트리는 11개 가량의 언어로 개발된 애플리케이션을 위한 에이전트들을 제공합니다. 자바, 닷넷, PHP 같이 널리 사용되는 언어들은 애플리케이션 변경없이 설치가 가능하며 일부 언어들은 애플리케이션에 일부 코드를 추가해야 모니터링 할 수 있습니다.
에이전트 다운로드
다음 링크를 확인하여 원하는 에이전트를 다운로드 합니다. Instrumentation | OpenTelemetry
PHP, Python 도 프로그램 수정없이 에이전트 설치가 가능합니다. 다만, 직접 다운로드를 하여 설치하는 방식이 아니기에 설치 절차에 대한 문서를 연결해두었습니다.
나머지 언어들을 위한 에이전트는 애플리케이션에 종속성을 추가하거나 초기화 코드를 몇 줄 추가해야 합니다.
자세한 설치 과정은 Instrumentation | OpenTelemetry 를 참고하세요.
자바 에이전트 설치 가이드
이해를 돕기 위하여 자바 에이전트를 설치하는 과정을 진행해보겠습니다.
curl 혹은 wget 등의 방법을 이용하여 자바 에이전트를 다운로드 합니다.
$ curl -LO https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.24.0/opentelemetry-javaagent.jar
모니터링 하고자 하는 애플리케이션의 실행 스크립트에 -javaagent 옵션을 이용하여 에이전트를 설치합니다.
JAVA_OPTS="$JAVA_OPTS -javaagent:/path/opentelemetry-javaagent.jar" JAVA_OPTS="$JAVA_OPTS -Dotel.resource.attributes=service.name=petclinic,jennifer.domain_id=3331" JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.protocol=http/protobuf" JAVA_OPTS="$JAVA_OPTS -Dotel.exporter.otlp.endpoint=https://otelcol.jennifersoft.com" JAVA_OPTS="$JAVA_OPTS \"-Dotel.instrumentation.methods.include=jdbc.GhostStatement[executeQuery,executeUpdate];jdbc.GhostStatement[executeQuery,executeUpdate]\"" JAVA_OPTS="$JAVA_OPTS -Dotel.metric.export.interval=1000"
위 내용들을 빠짐없이 설정해 주셔야 합니다.
service.name 은 사용자의 애플리케이션을 구분하기 위한 이름으로 자유롭게 설정하시면 됩니다.
jennifer.domain_id 는 프로모션 메일에 포함된 domain_id 값을 넣어주세요.
-Dotel.exporter.otlp.endpoint 사용자의 데이터를 전송할 프로모션용 오픈텔레메트리 컬렉터의 주소입니다.
-Dotel.instrumentation.methods.include 오픈텔레메트리 에이전트도 메소드 프로파일을 할 수 있습니다. 단, 화면에서의 설정이 아닌 실행 스크립트에 직접 설정해주셔야 합니다. 복수개의 설정을 할 수 있으며 패키지.클래스[메소드,메소드];패키지.클래스[메소드,메소드] 의 형태로 설정할 수 있습니다. 세미콜론 이스케이핑 방지를 위해 설정 내용을 쌍따옴표로 감싸주세요.
정상적으로 설치된 경우 수정한 스크립트 실행하면 다음과 같은 로그를 확인할 수 있습니다.
[otel.javaagent 2023-04-11 16:07:57:563 +0900] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 1.24.0 |\ _,,,--,,_ /,`.-'`' ._ \-;;,_ _______ __|,4- ) )_ .;.(__`'-'__ ___ __ _ ___ _______ | | '---''(_/._)-'(_\_) | | | | | | | | | | _ | ___|_ _| | | | | |_| | | | __ _ _ | |_| | |___ | | | | | | | | | | \ \ \ \ | ___| ___| | | | _| |___| | _ | | _| \ \ \ \ | | | |___ | | | |_| | | | | | | |_ ) ) ) ) |___| |_______| |___| |_______|_______|___|_| |__|___|_______| / / / / ==================================================================/_/_/_/ :: Built with Spring Boot :: 3.0.4
설치 결과 확인
https://9otel.jennifersoft.com 대시보드의 좌측 상단에 설치시 입력한 service.name 에 해당하는 인스턴스가 생성 되었는지 확인합니다. (아래 사진에서는 petclinic)
여러 애플리케이션의 service.name 을 동일하게 지정하면 하나의 인스턴스로 데이터가 수집됩니다.
JENNIFER 따라하기
아래 '실시간 데이터 조회하기', '과거 데이터 조회하기', '통계 보기'를 통해 JENNIFER의 컨셉과 간략한 사용법을 학습할 수 있습니다.
제니퍼를 처음 사용하시는 분들을 위해 원격 접속(http://113366.com/jennifer)을 통해 주요 사용 방법을 안내 합니다. promotion.kr@jennifersoft.com으로 연락 주시기 바랍니다.
매뉴얼을 통해 제니퍼의 기능 활용방법을 확인하실 수 있습니다. 매뉴얼은 모든 제니퍼 화면 우측 상단의 '?' 버튼으로 확인 가능합니다.
실시간 데이터 조회하기
JENNIFER 로그인 후 바로 보이는 화면은 '시스템 관리자' 대시보드 입니다. 이 화면에서 액티브 서비스, 응답시간, 프로세스 메모리 사용량, TPS를 살펴보세요.
액티브 서비스란 웹 서버 엔진이 처리 중인 사용자의 요청을 의미합니다. 액티브 서비스 숫자가 10이라면 현재 처리 중인 요청의 수가 10이라는 것을 의미합니다.
시스템 관리자 대시보드 우측의 X-View 차트를 확인하세요. X-View 차트는 트랜잭션(사용자의 요청)을 '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점들을 선택하면 상세 트랜잭션 데이터 정보를 확인하실 수 있습니다.
통계 보기
통계 화면을 통해 일별, 월별 통계 데이터를 확인할 수 있습니다. 통계 퍼스펙티브로 이동해 일일 방문자, 운영시간 호출 건수등 통계 데이터를 확인하세요.
문제 리포트 및 개선 사항 수렴
설치 혹은 모니터링시 문제가 있거나 개선할 점이 있으시면 언제든지 promotion.kr@jennifersoft.com 으로 연락주세요. 제니퍼 화면에 우측 상단의 Contant Us 메뉴를 이용하여 간단히 문의를 남기실 수 있습니다.