제니퍼 APM

다운로드 7
업데이트 2026. 10. 30.

설치 매뉴얼

개요

제니퍼 APM 앱은 제니퍼 관리 API(Open API)를 주기적으로 호출해 종료된 트랜잭션의 성능 정보를 수집합니다. 응답시간·CPU 사용시간·SQL 수행시간 등 구간별 소요시간과 오류 유형을 수집하며, 실행 중인 서비스 목록은 확장 명령어로 실시간 조회할 수 있습니다.

1.1.2610.0부터는 여기에 JENNIFER 콘솔이 더해집니다. JENNIFER 웹 콘솔과 같은 대시보드, 분석, 통계 화면을 로그프레소 소나 안에서 열고, 같은 콘솔 데이터를 쿼리 명령어로 조회해 성능 이상의 원인을 좁힐 수 있습니다. 그래서 앱은 서로 다른 자격증명을 쓰는 두 부분으로 나뉩니다.

구분트랜잭션 수집콘솔 화면과 콘솔 쿼리 명령어
앱 버전1.0.2607.0 이상1.1.2610.0 이상
자격증명제니퍼 Open API 토큰JENNIFER 콘솔 계정 ID와 비밀번호
접속 프로파일 유형JENNIFER APMJENNIFER 콘솔
제공 기능수집 모델 제니퍼 APM 트랜잭션, 쿼리 명령어 jennifer-apm-transaction-time, jennifer-apm-active-service-list대시보드·분석·통계 메뉴, 쿼리 명령어 jennifer-instances 외 6개, AI 에이전트 원인 분석

적용 범위

Note
소나 4.0.2308.0 이상, 제니퍼 Open API를 제공하는 제니퍼 서버에서 동작합니다.
Note
콘솔 화면과 콘솔 쿼리 명령어는 앱 1.1.2610.0 이상에서 제공합니다. 화면 구성과 사용법은 JENNIFER 5.7.0.1 콘솔과 같고, 화면 문구는 콘솔의 한국어 문구를 씁니다.

필요한 설정 고르기

두 부분은 서로 독립적입니다. 쓰려는 기능에 맞춰 필요한 절만 진행하세요.

하려는 일진행할 절
트랜잭션을 테이블에 수집만요구 사항의 트랜잭션 수집, 제니퍼 APM 설정, 로그프레소 수집 설정, 설치 확인의 트랜잭션 수집
콘솔 화면과 콘솔 쿼리 명령어만요구 사항의 콘솔 화면과 콘솔 쿼리 명령어, 콘솔 설정, 설치 확인의 콘솔 화면과 콘솔 쿼리 명령어
둘 다위의 모든 절. 접속 프로파일을 유형별로 하나씩, 모두 두 개 만듭니다
Note
Open API 토큰으로는 콘솔 화면과 콘솔 쿼리 명령어가 읽는 데이터(실시간 차트, 통계, 문제 분석, 트랜잭션 프로파일)를 받을 수 없습니다. 반대로 콘솔 계정으로는 수집기를 돌릴 수 없습니다. 두 기능을 모두 쓰려면 프로파일도 두 개가 필요합니다.

요구 사항

트랜잭션 수집

항목요구사항비고
제니퍼 계정/권한제니퍼 Open API 호출 권한권한 부족 시 수집 누락 가능
발급 필요 자격증명제니퍼 Open API 토큰제니퍼 관리 콘솔에서 발급
사전 확인 정보수집 대상 도메인 ID, 인스턴스 ID(선택)제니퍼 관리 콘솔에서 확인
네트워크 허용HTTPS/443 (소나 수집 노드 → 제니퍼 서버, Outbound)방화벽 정책 반영 필요
Note
제니퍼 API는 한 번에 1분 범위까지만 조회할 수 있습니다. 앱이 자동으로 60초 단위로 나누어 호출하므로, 수집기 옵션 중 "모니터링 대상 일수"를 크게 지정하면 API 호출 횟수가 그만큼 늘어납니다.

콘솔 화면과 콘솔 쿼리 명령어

항목요구사항비고
앱 버전제니퍼 APM 1.1.2610.0 이상이전 버전에는 콘솔 메뉴와 명령어가 없습니다
콘솔 계정JENNIFER 웹 콘솔에 로그인할 수 있는 계정 ID와 비밀번호모니터링할 도메인을 볼 수 있어야 합니다. 전용 계정 권장
사전 확인 정보JENNIFER 뷰 서버(웹 콘솔) 주소. 예: https://jennifer.example.com:7900브라우저로 콘솔에 접속할 때 쓰는 주소입니다
네트워크 허용소나 서버 → JENNIFER 뷰 서버, 콘솔 포트의 HTTP(S)와 WebSocket (Outbound)방화벽·프록시 정책 반영 필요

제니퍼 APM 설정

트랜잭션 수집에 필요한 절차입니다.

단계 1: Open API 토큰 발급

제니퍼 관리 콘솔에서 Open API 호출에 사용할 토큰을 발급합니다. 발급한 토큰 문자열은 안전한 곳에 보관하고, 소나 접속 프로파일 등록 시 입력합니다.

단계 2: 도메인 ID 확인

수집 대상 도메인의 ID를 확인합니다. 도메인 ID는 수집기 설정의 필수 항목입니다.

단계 3: 인스턴스 ID 확인 (선택)

특정 인스턴스만 수집하려면 해당 인스턴스의 ID를 확인합니다. 인스턴스 ID를 지정하지 않으면 도메인에 속한 모든 인스턴스를 수집합니다.

로그프레소 수집 설정

단계 1: 접속 프로파일 추가

시스템 > 접속 프로파일에서 추가를 클릭하고 아래 값을 입력합니다.

구분항목설정
필수이름접속 프로파일을 식별할 고유한 이름
필수식별자로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자. 예: jennifer_apm
필수유형JENNIFER APM 선택
필수Token제니퍼 APM 설정 단계 1에서 발급한 Open API 토큰
필수엔드포인트제니퍼 서버 URL. 예: https://example.com:7900
선택HTTP 프록시IP:포트
선택접속 타임아웃밀리초 단위. 기본값 30000 권장

접속 프로파일 추가 화면

단계 2: 수집기 추가

수집 > 수집기에서 추가를 클릭하고 아래 값을 입력합니다.

구분항목설정
필수이름수집기를 식별할 고유한 이름
필수주기60초 권장
필수적재 위치/수집 위치로그프레소 플랫폼 구성에 따라 적합한 노드 선택
필수수집 모델제니퍼 APM 트랜잭션 선택
필수테이블수집 데이터를 적재할 테이블 이름. 도메인별로 분리하려면 도메인 ID를 접미사로 사용 (예: APM_JENNIFER)
필수접속 프로파일단계 1의 프로파일 식별자
필수도메인 ID제니퍼 APM 설정 단계 2에서 확인한 도메인 ID
선택인스턴스 ID콤마로 구분해 여러 개 지정 가능. 예: 10000,10001. 미지정 시 전체 인스턴스
선택모니터링 대상 일수0~90일. 최초 수집 시 소급할 일수. 0이면 현재 시각부터 수집 (기본값)
선택수집 지연 시간초 단위. 현재 시각에서 지연시켜 조회 (기본값 0)

수집기 추가 화면 상단

수집기 추가 화면 하단

Tip
제니퍼 서버에 트랜잭션이 적재되기까지 지연이 있는 환경에서는 수집 지연 시간을 30~60초로 설정하면 누락을 줄일 수 있습니다.
Caution
"모니터링 대상 일수"는 최초 수집 시 조회할 일수이며, 제니퍼 API가 1분 범위만 조회할 수 있어 앱이 60초 단위로 나누어 호출합니다. 따라서 최초 호출 횟수는 "지정한 일수 x 24시간 x 60분"이 됩니다. 7일은 약 1만 회, 30일은 약 4만 3천 회, 최대값인 90일은 약 13만 회입니다. 이 호출이 첫 수집 주기에 순차로 발생하므로 완료까지 수 시간이 걸릴 수 있습니다. 제니퍼 서버 부하와 최초 수집 소요 시간을 고려해 필요한 범위만 지정하세요.

콘솔 설정

콘솔 화면과 콘솔 쿼리 명령어에 필요한 절차입니다. 앱은 콘솔 계정으로 JENNIFER 웹 콘솔에 로그인해 화면과 쿼리 명령어에 쓸 데이터를 받습니다.

단계 1: 앱 버전 확인

앱 스토어에서 제니퍼 APM 앱이 1.1.2610.0 이상인지 확인합니다. 이전 버전이 설치되어 있으면 업데이트합니다. 이미 만든 JENNIFER APM 접속 프로파일과 수집기는 그대로 유지됩니다.

단계 2: 콘솔 계정 준비

JENNIFER 콘솔에서 이 앱이 쓸 계정을 준비합니다.

  • 모니터링할 도메인과 인스턴스를 콘솔에서 볼 수 있는 계정이어야 합니다. 계정이 콘솔에서 볼 수 없는 것은 화면과 쿼리 명령어에도 나오지 않습니다
  • 사람이 쓰는 계정 대신 이 앱 전용 계정을 만드는 것을 권장합니다. 계정의 비밀번호를 바꾸면 접속 프로파일도 함께 고쳐야 합니다
  • 화면의 일부 버튼은 계정에 권한이 있을 때만 나타납니다. 화면 용도에 맞는 권한만 주세요
Caution
콘솔 화면과 쿼리 명령어는 소나 사용자가 사용 권한을 가진 JENNIFER 콘솔 접속 프로파일만 쓸 수 있고, 그 사용자의 요청을 프로파일의 콘솔 계정으로 보냅니다. 그래서 계정에 아래 권한이 있으면, 프로파일 사용 권한을 받은 소나 사용자가 화면에서 JENNIFER의 상태를 실제로 바꿀 수 있습니다. 이 동작들은 계정에 해당 권한이 있을 때만 화면에 나타납니다. 접속 프로파일의 사용 권한은 꼭 필요한 사용자에게만 주세요.
화면동작JENNIFER에 일어나는 일
힙 메모리 차트GC 실행대상 인스턴스의 JVM에 GC를 실행합니다
통계, X-View 분석 화면의 ⋯ 메뉴시작 화면으로 설정콘솔 계정의 시작 페이지를 바꿉니다
대시보드의 이벤트 차트복구 처리인스턴스의 이벤트를 복구 처리합니다
X-View 트랜잭션 콜 트리메서드·클래스·패키지 프로파일 설정JENNIFER의 메서드 프로파일 설정을 바꿉니다
X-View 트랜잭션백그라운드 내보내기(프로파일 텍스트, 스택트레이스)콘솔 계정의 백그라운드 작업을 만듭니다
X-View 트랜잭션SQL 성능 상세 보기(Sherpa for Oracle 연계)콘솔에 SQL의 Sherpa for Oracle 연계 주소를 요청합니다
X-View 트랜잭션토크 공유콘솔 토크 게시판에 콘솔 계정 이름으로 글을 씁니다
X-View 분석X-View 패턴 등록서버에 X-View 패턴을 등록합니다

쓰기 동작을 막으려면 이 권한이 없는 조회용 계정을 쓰세요. 쿼리 명령어는 이 권한과 상관없이 조회만 합니다.

단계 3: 네트워크 확인

앱은 사용자의 브라우저가 아니라 소나 서버에서 JENNIFER 뷰 서버로 접속합니다. 소나 서버에서 콘솔 주소의 포트로 나가는 연결을 허용합니다.

용도경로프로토콜
로그인, 통계·분석 데이터콘솔 주소의 웹 경로HTTP(S)
실시간 차트/ws/realtime같은 포트의 WebSocket
X-View 점 데이터, X-View 트랜잭션/ws/bigdata같은 포트의 WebSocket

중간에 프록시나 보안 장비가 있으면 WebSocket 업그레이드를 허용하는지 확인하세요. HTTP만 통하면 통계 화면은 열리지만 실시간 차트와 X-View는 비어 있습니다.

단계 4: 접속 프로파일 추가

시스템 > 접속 프로파일에서 추가를 클릭하고 아래 값을 입력합니다.

구분항목설정
필수이름접속 프로파일을 식별할 고유한 이름. 콘솔 화면의 프로파일 목록과 쿼리 명령어의 profile 옵션에 쓰입니다
필수식별자접속 프로파일의 고유 식별자. 예: jennifer_console
필수유형JENNIFER 콘솔 선택
필수엔드포인트JENNIFER 뷰 서버 URL. 예: https://jennifer.example.com:7900
필수계정 ID단계 2에서 준비한 콘솔 계정 ID
필수계정 비밀번호콘솔 계정 비밀번호. 보호 항목으로 저장됩니다
선택HTTP 프록시IP:포트
선택접속 타임아웃초 단위. 미지정 시 기본값 30
선택읽기 타임아웃초 단위. 미지정 시 기본값 30
Note
JENNIFER APM 프로파일의 접속 타임아웃은 밀리초 단위이고, JENNIFER 콘솔 프로파일의 타임아웃은 초 단위입니다.

콘솔 화면과 쿼리 명령어는 프로파일의 계정으로 로그인한 상태를 함께 씁니다. 로그인이 만료되면 자동으로 다시 로그인합니다. 프로파일의 엔드포인트, 계정, 비밀번호, 프록시를 고치면 바뀐 값으로 새로 로그인합니다.

JENNIFER 콘솔이 여러 대라면 콘솔마다 프로파일을 하나씩 만듭니다.

단계 5: 메뉴 확인

앱이 1.1.2610.0 이상이면 좌측 메뉴의 제니퍼 APM 아래에 다음 메뉴가 나타납니다.

메뉴화면
대시보드시스템 관리자, 애플리케이션 인사이트, 메모리, 시스템 리소스
분석X-View, Stacktrace Flight Recorder (SFR)
통계일일 시스템 성능, 월별 시스템 성능

화면을 처음 열 때 JENNIFER 콘솔 프로파일이 하나면 바로 그 프로파일로 열립니다. 둘 이상이면 프로파일 이름과 엔드포인트 목록이 나오고, 고른 프로파일은 주소의 ?profile=에 남아 다른 화면으로 옮겨도 유지됩니다.

설치 확인

트랜잭션 수집

수집 > 수집기에서 추가한 수집기가 실행 중인지 확인하고, 한두 주기가 지난 뒤 테이블을 조회합니다. 테이블 이름은 수집기에 지정한 것으로 바꿉니다.

table duration=10m APM_JENNIFER

콘솔 화면과 콘솔 쿼리 명령어

화면 하나와 명령어 하나를 열어 보면 로그인, 실시간 연결, 데이터 조회를 모두 확인할 수 있습니다.

  1. 대시보드 > 시스템 관리자를 엽니다. 상단 도메인 바에 인스턴스 이름이 나오고 TPS, 응답시간 같은 차트가 몇 초마다 갱신되면 로그인과 실시간 연결이 된 것입니다
  2. 같은 화면의 X-View 차트에 점이 찍히는지 봅니다. 점이 보이면 X-View 데이터 연결도 된 것입니다
  3. 통계 > 일일 시스템 성능을 열고 어제 날짜를 조회합니다. 표와 차트가 채워지면 통계 조회가 되는 것입니다
  4. 쿼리 화면에서 아래 명령을 실행합니다. 도메인과 인스턴스 목록이 나오면 쿼리 명령어가 되는 것입니다
jennifer-instances
Note
쿼리 명령어는 쿼리를 실행한 사용자가 쓸 수 있는 JENNIFER 콘솔 프로파일만 사용합니다. profile 옵션을 생략하면 그런 프로파일을 모두 사용하므로, 프로파일이 여럿이면 profile 옵션으로 하나를 지정하세요.

문제가 발생할 때

증상원인조치
좌측 메뉴에 대시보드, 분석, 통계가 없음앱 버전이 1.1.2610.0 미만앱을 업데이트합니다
화면에 "사용할 수 있는 JENNIFER 콘솔 접속 프로파일이 없습니다"JENNIFER 콘솔 유형의 프로파일이 없거나, 사용자에게 프로파일 사용 권한이 없음콘솔 설정 단계 4로 프로파일을 추가하거나 사용자에게 프로파일 권한을 줍니다. JENNIFER APM(토큰) 프로파일은 화면에서 쓰이지 않습니다
jennifer: login rejected, check account id and password계정 ID나 비밀번호가 틀림콘솔에 같은 계정으로 직접 로그인해 보고, 프로파일의 계정 정보를 고칩니다
jennifer: login failed with status ...엔드포인트가 웹 콘솔 주소가 아님브라우저로 콘솔 로그인 화면이 열리는 주소(스킴, 호스트, 포트)를 엔드포인트에 넣습니다
jennifer: unauthorized for ..., check account id and password다시 로그인한 뒤에도 콘솔이 요청을 거부함콘솔에서 계정 상태와 비밀번호를 확인하고 프로파일을 고칩니다
화면이나 명령이 접속 시간 초과로 실패소나 서버에서 콘솔로 연결되지 않음방화벽, HTTP 프록시 설정을 확인합니다
통계는 열리는데 실시간 차트와 X-View가 비어 있음중간 장비가 WebSocket을 막음/ws/realtime, /ws/bigdata의 WebSocket 업그레이드를 허용합니다
쿼리 오류 207910 (사용 가능한 JENNIFER 콘솔 프로파일 없음)프로파일이 없거나 실행한 사용자가 쓸 수 없음프로파일을 추가하거나 사용자에게 프로파일 권한을 줍니다
쿼리 오류 207916 (profile 옵션에 프로파일 하나 지정)domain_id를 줬는데 쓸 수 있는 프로파일이 여럿profile 옵션으로 프로파일 하나를 지정합니다
jennifer-apm-transaction-time에서 207902, 207903기간을 지정하지 않음duration 또는 from, to를 지정합니다

참고 자료

설치가 끝났다면 사용 매뉴얼에서 화면과 쿼리 명령어 사용법을 확인하세요.