본문으로 건너뛰기

Application 모니터링

이제 모든 관련 문서를 확인했습니다. 참고 문서 기반으로 종합적인 답변을 드리겠습니다.


exemONE Application 모니터링 - Transaction 기능 상세 설명

exemONE의 Transaction 모니터링은 WAS(Web Application Server)에서 처리되는 모든 트랜잭션의 실시간 성능 데이터를 수집·분석하는 기능입니다. 실시간 모니터링 화면성능 분석(Performance Analysis) 화면 두 가지 큰 영역으로 구성됩니다.


1. Transaction 실시간 모니터링 화면

메뉴 경로: Application > Application > Transaction

전체 WAS 관점의 기본 모니터링 화면으로, 실시간 데이터만 조회 가능합니다.

영역설명
Global Time모니터링 재생 여부를 선택합니다. 실시간 데이터만 조회 가능합니다.
FiltersWAS Group 하위의 필터 항목을 선택합니다. 검색 기능 지원(대소문자 구분 없음), OR 조건으로 데이터를 표시합니다.
Transaction View Trend트랜잭션 지표별 데이터를 보여줍니다.
Transaction View Summary트랜잭션 집계별 순위를 보여줍니다.
Transaction Trend Chart실시간 수집된 트랜잭션 차트를 보여줍니다.

참고: https://app.clickup.com/25540965/v/dc/rbeb5-416338/rbeb5-2690678

1-1) Transaction View Trend

트랜잭션 지표별 데이터를 보여주는 화면입니다.

지표설명
Apdex전체 트랜잭션 수 중 Excellent 수와 Warning 건 수에 대한 백분위 비율
TPS실시간 WAS의 초당 트랜잭션 수. 마우스 오버 시 특정 시간대에 발생한 TPS 확인 가능
Transaction Error Count실시간 오류가 발생한 트랜잭션 수

1-2) Transaction View Summary

트랜잭션 집계별 순위를 보여주는 화면입니다.

항목설명
Top Transaction최근 10분 동안의 트랜잭션 평균 수행시간 기준 Top 5
Top SQL최근 10분 동안의 SQL 평균 수행시간 기준 Top 5
Top Remote최근 10분 동안의 EtoE 평균 수행시간 기준 Top 5

1-3) Transaction Trend Chart

실시간 수집된 트랜잭션 차트를 보여주는 화면입니다.

  • Search: 수집된 트랜잭션의 수행 시간을 필터링하여 검색 가능
  • Chart: 수집된 트랜잭션의 전체, 정상, 비정상 수의 집계 값 확인 가능

2. Transaction Detail Slide (트랜잭션 상세 슬라이드)

Transaction Trend Chart에서 특정 영역을 드래그하면 해당 영역의 트랜잭션 상세 정보를 확인할 수 있습니다. 7개 탭으로 구성되어 있습니다.

2-1) Information 탭

선택한 트랜잭션의 기본 정보를 확인합니다.

항목설명
Transaction Name트랜잭션명 (연계 화면 URL 설정 가능)
WAS Name트랜잭션이 수행된 WAS 이름
Pod NamePod 환경일 경우 해당 Pod Name 출력
Elapsed Time (sec)트랜잭션 수행 시간
SQL Exec CountSQL 수행 횟수
SQL Elapsed Time (sec)SQL 수행 시간
SQL Fetched RowsSQL Fetch Row 수
SQL Fetched Time (sec)SQL Fetch 소요 시간
Remote Exec CountRemote Call 수
Remote Elapsed Time (sec)Remote Call 소요 시간

2-2) Metric 탭

선택한 트랜잭션의 지표별 데이터를 확인합니다.

지표설명
Transaction Exec Count트랜잭션 수행 건 수
Transaction Elapse Time트랜잭션 수행 시간
SQL Exec CountSQL 수행 건 수
SQL Elapse TimeSQL 수행 시간
Exception Count예외 발생 건 수

2-3) Call Tree 탭

선택한 트랜잭션에서 호출된 클래스 및 메소드 정보를 확인합니다.

  • Search Filter: Call Tree 목록에서 검색 (대소문자 구분 없음)
  • Grid Toggle: Detail 또는 Summary 형식으로 출력 가능
  • Grid 컬럼: Class, Method, Exception Count, Execute Count, Method SEQ, Elapsed Time (sec), Elapsed Time Ratio (%), Method Type

Call Tree 타임바 기능: Setting > Application > Edit WAS Group > Config에서 USE_METHOD_SEQ = true로 설정하면 Call Tree 리스트를 타임라인으로 시각화할 수 있습니다. 타임바에서 항목 클릭 시 하단 Call Tree list에 해당 항목이 하이라이트됩니다. Method > SQL > Remote Call 순으로 표현됩니다.

참고 (Call Tree 타임바): https://app.clickup.com/25540965/v/dc/rbeb5-403498/rbeb5-2690678

2-4) SQL Text 탭

선택한 트랜잭션에서 수행된 SQL 정보를 확인합니다.

컬럼설명
TimeSQL 발생 시간
SIDSID
SQL Exec CountSQL 수행 건 수
SQL TextSQL Text (클릭 시 Full Text 확인 가능)
Total SQL Elapsed Time (sec)SQL 총 수행 시간
Max SQL Elapsed Time (sec)SQL 최대 수행 시간
Avg SQL Elapsed Time (sec)SQL 평균 수행 시간
Total SQL Fetch CountSQL Fetch 건 수
Total SQL Fetch Time (sec)SQL Fetch 총 시간
Avg SQL Fetch Time (sec)SQL Fetch 평균 시간

2-5) Exception 탭

선택한 트랜잭션에서 발생된 예외 정보를 확인합니다. 아코디언 버튼을 통해 예외 내용을 숨김/펼침이 가능하며, 예외 내용 복사(Copy) 기능을 제공합니다.

2-6) Active History 탭

선택한 트랜잭션에서 호출된 메소드 중 액티브에 해당하는 메소드 정보를 확인합니다.

컬럼설명
Time액티브 트랜잭션 시작 시간
Stack TraceStack Trace
Current Method액티브 발생 메소드
Method Type메소드 타입
Client IPClient IP
Login Name로그인명
Start Time메소드 시작 시간
Transaction Time (sec)트랜잭션 소요 시간

3. WAS Detail Slide의 Transaction 탭

메뉴 경로: Application > Application > WAS > WAS Detail Slide > Transaction 탭

WAS 디테일 슬라이드에서 개별 WAS의 트랜잭션 목록을 확인합니다. Default 최근 10분 데이터를 보여줍니다.

컬럼설명
Txn Name트랜잭션 이름
Start Time트랜잭션 시작 시간
Elapsed Time (sec)트랜잭션 경과 시간
SQL Exec CountSQL 실행 횟수
SQL Elapse Time (sec)SQL 처리 시간
SQL Fetch CountSQL 쿼리로부터 데이터를 가져온 횟수
SQL Fetch Count (sec)SQL 쿼리로부터 데이터를 가져오는 데 걸린 시간
Remote Exec Count원격 위치에서 실행된 쿼리의 횟수
Remote Elapsed Time (sec)원격 위치에서 실행된 쿼리의 소요 시간
Exception예외 여부

4. Performance Analysis - Transaction Trend (트랜잭션 트렌드 분석)

메뉴 경로: Performance Analysis > Application > Transaction Trend

트랜잭션에 대한 응답 시간과 각 트랜잭션의 요약 내용을 확인할 수 있는 분석 화면입니다.

4-1) Search Panel (검색 패널)

항목설명
WASWAS 선택
Time기간 설정 (최대 1일, 최소 1분)
Elapsed time (sec)트랜잭션 경과 시간 조건 입력
FiltersException Only, Call Tree Sampling Only, Transaction Name, Client IP, Login Name, Exception Type, TID, SQL Elapsed Time (sec), SQL Executions, Fetch Count, Open Conn

4-2) Response Time Chart (응답 시간 차트)

트랜잭션 수행시간의 분포도를 제공합니다. 특정 영역을 드래그하면 해당 영역이 하이라이팅 처리되고, 트랜잭션 서머리 및 목록에 정보가 표시됩니다.

4-3) Transmission Summary (트랜잭션 서머리)

응답 시간 차트에 대한 트랜잭션 서머리입니다. 우측 상단 토글 버튼으로 최대/평균 데이터 전환이 가능합니다.

컬럼설명
Txn Name트랜잭션 이름
Ratio(%)트랜잭션에 대한 비율
Elapse Time (sec)트랜잭션 수행시간
Agent count트랜잭션 수행 횟수
SQL countSQL 실행 횟수
Remote countRemote 횟수

4-4) Transmission List (트랜잭션 목록)

트랜잭션 상세 내용을 확인합니다. 트랜잭션에 대한 레벨별 개수를 보여주며, 응답 시간 차트에서 드래그한 영역의 상세정보를 표시합니다.

컬럼설명
Time트랜잭션 수집 시각
WAS트랜잭션이 발생한 WAS명
Txn Name트랜잭션 이름
TID트랜잭션 ID
Start Time트랜잭션 시작 시간
Elapsed Time (sec)트랜잭션 수행 시간
Exception예외 발생 여부
Exception Type예외 타입
Client IP사용자 IP
Txn CPU Usage (%)트랜잭션 CPU 사용률
App Elapsed Time (sec)APP 수행시간
SQL Elapsed Time (sec)SQL 수행시간
SQL Execution CountSQL 실행 횟수
SQL Fetch CountSQL 결과값 행의 수
SQL Fetch Time (sec)SQL 결과값 반환 시간
Remote Elapse Time (sec)Remote 수행 시간
Remote CountRemote 수행 횟수
Login Name로그인 사용자 이름
Thread Memory Usage트랜잭션 메모리 사용률
Open ConnDB Open Connection 개수

5. Performance Analysis - Top Transaction Summary (상위 트랜잭션 분석)

메뉴 경로: Performance Analysis > Application > Top Transaction Summary

상위 트랜잭션에서 수행된 SQL, Remote 정보를 볼 수 있는 화면입니다.

5-1) Search Panel

항목설명
WASWAS 선택
Time기간 설정 (최대 50일, 최소 1일)
Group By선택된 값 기준으로 데이터를 그룹화하여 조회
Transaction ListGroup By Transaction 선택 시, Order by, Top, Transaction Name, Elapsed Time(avg) 필터 가능

5-2) Top-Transaction List

기간에 수행된 Transaction Summary list를 보여줍니다. 최대 2,000개까지 조회 가능합니다.

컬럼설명
Transaction트랜잭션 이름
Transaction Execution Count총 수행 횟수
SQL Execution CountSQL 총 수행 횟수
Fetch CountFetch된 횟수
Total Transaction Elapsed Time(sec)Transaction 총 수행 시간
Transaction Elapsed Time(max)(sec)Transaction 최대 수행 시간
Transaction Elapsed Time(avg)(sec)Transaction 평균 수행 시간
Transaction CPU Time(max)(sec)최대 Transaction CPU 시간
Transaction CPU Time(avg)(sec)평균 Transaction CPU 시간
Total SQL Elapsed Time(sec)SQL 총 수행 시간
SQL Elapsed Time(max)(sec)SQL 최대 수행 시간
SQL Elapsed Time(avg)(sec)SQL 평균 수행 시간
Total Remote Elapsed Time(sec)Remote 총 수행 시간
Remote Elapsed Time(max)(sec)Remote 최대 수행 시간
Remote Elapsed Time(avg)(sec)Remote 평균 수행 시간
Open ConnConnection Pool Open 수
Close ConnConnection Pool Close 수
Open StmtPrepareStatement Open 수
Close StmtPrepareStatement Close 수

5-3) Transaction Trend Summary

Top-Transaction List에서 선택한 트랜잭션의 시간별 추이를 보여줍니다.

  • 7일 이내 조회: 1시간 틱
  • 7일 이상 조회: 1일 틱
  • Line/Grid 전환 가능

5-4) Timed Transaction Summary

선택된 바의 10분/1시간 데이터를 보여줍니다.

  • 7일 이내: 10분 단위 서머리
  • 7일 이상: 1시간 단위 서머리
  • Transaction Name 선택 시 최근 10분 스캐터 차트로 표시

5-5) SQL / Remote (Tree Map)

  • SQL: 트랜잭션의 SQL 실행 비율을 Tree Map으로 표현. 기준 선택 가능 (Elapsed Time Total/Max/Avg, Execution Count)
  • Remote: 트랜잭션의 Remote 실행 비율을 Tree Map으로 표현. Tree Map 선택 시 해당 SQL 전체 텍스트 확인 가능

6. Performance Analysis - Top SQL Summary (상위 SQL 분석)

메뉴 경로: Performance Analysis > Application > Top SQL Summary

상위 SQL에서 수행된 트랜잭션 정보를 볼 수 있는 화면입니다.

영역설명
Search PanelWAS, Time (최대 50일, 최소 1일), Group By, SQL List (Order By, Top)
Top-SQL ListSQL Text, SQL Elapsed Time (ratio/total/max/avg), SQL Execution Count
SQL Trend Summary7일 이내 1시간 틱, 7일 이상 1일 틱
Timed SQL Summary7일 이내 10분 단위, 7일 이상 1시간 단위 서머리
Transaction선택된 바의 10분/1시간 데이터를 Tree Map으로 표현. 기준 선택 가능 (Elapsed Time Total/Max/Avg, Execution Count)

7. Performance Analysis - Exception Summary (예외 분석)

메뉴 경로: Performance Analysis > Application > Exception Summary

7-1) Search Panel

항목설명
WASWAS 선택
Time기간 설정 (최대 1일, 최소 1분)
Group ByException 또는 Transaction으로 그룹화
FiltersException Name, Transaction Name 검색

7-2) 주요 화면

영역설명
Transaction Ratio / Exception RatioGroup By가 Exception이면 트랜잭션 비율, Transaction이면 예외 비율을 Pie 차트와 Line Chart로 표시
Total Exception Count / Total Transaction CountGroup By가 Exception이면 Total Exception Count, Transaction이면 Total Transaction Count를 분포도로 표시
Exception List예외 상세 정보 Grid: Time, Transaction, WAS, Class Method, Exception, Log Text

8. Performance Analysis - Trend Analysis (추이 분석)

메뉴 경로: Performance Analysis > Application > Trend Analysis

8-1) Search Panel

  • WAS, Time (최대 7일, 최소 1분)

8-2) WAS Stat

WAS 주요 지표의 추이를 차트로 보여줍니다. Stat Change 기능으로 표시 지표 변경이 가능합니다.

8-3) Active Transaction

검색 패널에서 조회한 대상, 기간에 맞춰 Active Transaction 차트를 보여줍니다.

8-4) Active Session Grid

컬럼설명
WASWAS 이름
Transaction트랜잭션 이름
Class Method클래스 메소드
Method Type메소드 타입
Client IP클라이언트 IP
Login Name로그인 이름
Transaction CPU Time트랜잭션 CPU 시간
PoolPool
Elapsed Time수행 시간

8-5) Active Session (Sum) Grid

Active Session Grid에 Time 컬럼이 추가되어 시간대별 집계 데이터를 제공합니다.


9. 트랜잭션별 통계 알람 (Table Alert)

Query Manager를 사용하여 트랜잭션별 응답시간 통계 알람을 생성할 수 있습니다.

설정 단계

  1. Performance Analysis > Query Manager에서 트랜잭션 통계 쿼리 작성
    • 사용자가 정의한 태그로 지정된 Application 타겟 대상
    • 10분 단위 및 1시간 단위 트랜잭션 응답시간 비교 가능
  2. Save > 알람 지표로 저장
    • Share Query 활성화, Data ID 지정, Data Type=Table, Alert Data 활성화
  3. Setting > Alert > User Alert > Type=Table 지표 등록
    • Check Interval: 10분 적용 (필수)
    • Notification Display Columns: Notification에 출력할 컬럼 정보 선택
  4. Alert > Alert List에서 발생 알람 확인

참고: https://app.clickup.com/25540965/v/dc/rbeb5-403498/rbeb5-2690678


10. 트랜잭션 수집 설정 가이드

10-1) EtoE 또는 트랜잭션 시작점 수집 설정 (x.advice)

/exem/java/cfg/ 폴더에 있는 x.advice 파일에 메소드 위빙을 설정하여 EtoE 또는 트랜잭션 시작점을 수집할 수 있습니다.

10-2) 특정 메서드 호출 기반 트랜잭션 수집 설정 (ext.jar)

특정 Class.Method 호출 기반으로 트랜잭션 데이터를 수집하는 방법입니다:

  1. 수집 대상 클래스 및 메서드 확인
  2. XM_BOUND_HTTP.xInbound에 데이터 수집 정의
  3. x.advice에 매핑 정의
  4. ext.jar 빌드 및 배포
  5. 로그에서 ext.jar 로딩 확인
  6. DB에서 트랜잭션 데이터 수집 확인

11. 알려진 이슈 및 참고사항

이슈원인 및 조치
트랜잭션 트렌드 Detail에서 트랜잭션 클릭 시 API 에러API가 extra, trace_key 컬럼을 조회하나 DB 테이블에 해당 컬럼이 없어 발생. core 및 ingester를 호환 버전으로 패치 필요
Scatter 차트 y축(elapsed time) 불일치대규모 트랜잭션 처리를 위해 트랜잭션이 100ms 단위로 그룹화되어 표시되는 설계 사양. 정상 동작

요약

exemONE의 Transaction 모니터링 기능은 다음과 같이 구성됩니다:

  • 실시간 모니터링: Apdex, TPS, Error Count 등 핵심 지표를 실시간 확인, Scatter Chart를 통한 응답시간 분포 확인
  • Transaction Detail Slide: Information, Metric, Call Tree(타임바 포함), SQL Text, Exception, Active History 등 7개 탭으로 트랜잭션 상세 분석
  • Performance Analysis: Transaction Trend(응답시간 분포도, 최대 1일), Top Transaction Summary(상위 트랜잭션, 최대 50일), Top SQL Summary(상위 SQL, 최대 50일), Exception Summary(예외 분석), Trend Analysis(추이 분석, 최대 7일) 등 다양한 분석 화면 제공
  • 알람 기능: Query Manager를 통한 트랜잭션별 통계 알람(Table Alert) 설정 가능
  • 수집 설정: x.advice, ext.jar을 통한 트랜잭션 시작점 및 특정 메서드 기반 수집 커스터마이징 가능