본문으로 건너뛰기

대시보드 화면 구성

WAS 대시보드

WAS의 대시보드를 구성하는 차트들은 다음 그림과 같다. 대시보드에는 업무 애플리케이션 단위로 묶어 표시한다.

업무 시스템에서 사용하는 개별 인스턴스 현재 실행중인 Request들을 볼 수 있는 Request Velocity Chart와 업무 시스템 전체에 대한, Transaction Heatmap(T-Map), 사용자 만족도 지수(APDEX), TPS(Transaction Per Second), Active Users, Average Response Time, Error Rate에 대한 차트와 해당 정보를 텍스트로 출력하는 Information Widget이 표시된다.

Request Velocity와 Transaction Heatmap(T-Map)의 정보는 2초 주기로 갱신되며, APDEX, TPS, Active Users, Average Response Time, Error Rates 정보는 5초 주기로 자동 갱신된다.

Request Velocity Chart

대시보드의 Request Velocity 차트에서는 개별 인스턴스 별로 처리된 Request를 원으로 표시하여 위에서 아래로 애니메이션한다. 또, 현재 처리중인 Request를 Bar 형태로 표시한다.

Label을 ON으로 하면 인스턴스별 TPS와 평균 응답시간을 텍스트로 표시한다.

처리중인 Request는 WAS Agent에서 설정한 사용자 만족도 지수(APDEX)의 단계별로 만족(Satisfying), 허용(Tolerating), 불만(Frustrating)을 초록색, 주황색, 빨간색으로 표시한다.

처리중인 Request들이 표시될 때, BAR를 클릭하면 현재 진행중인 Request에 대한 정보를 얻기 위해 Thread Dump 분석 페이지로 이동한다. 스레드 덤프 분석 방법에 대해서는 스레드 덤프 분석 방법 절을 참고하라.

Transaction Heatmap(T-Map)

Transaction Heatmap은 시간의 흐름에 따른 응답시간의 분포를 격자 형태로 표현하고, 해당 시간/응답시간 격자에 처리된 요청이 많으면 더 짙은 색상으로 표시하는 Heatmap으로 표현한 것이다.

해당 업무 애플리케이션에 속한 인스턴스들에 대해 모두 표시한다.

HTTP Status 코드로 400, 500 오류가 발생하면 Cell에 빨간색 테두리로 표시한다.

Transaction Heatmap(T-Map)에 마우스로 드래그하여 사각형을 그리면, 해당 영역에서 처리된 Request들에 대한 상세 트랜잭션을 메소드 단위로 분석할 수 있다.

상단에는 선택한 영역에서 실행된 Request들이 출력되며, 상단에서 Row를 클릭하면 하단에 트랜잭션에 대한 상세 정보를 출력한다.

Request URL의 ① 링크를 클릭하면, 사용자가 요청한 URL로 이동하여 실제 어떤 페이지 요청이었는지 확인할 수 있다. 그 외에 시작시간, 수행시간, Database와 관련된 실행시간의 합, CPU 소요 시간 등의 정보를 확인할 수 있다.

트랜잭션 상세 정보는 다음과 같은 형식으로 표시된다. 수행시간이 느리면 빨간색으로 표시된다.

정보
  • ① : 일련 번호
  • ② : 메소드 시작 시간
  • ③ : 메소드 수행 시간(ms)
  • ④ : 실행 시간%
  • ⑤ : 해당 메소드에서만 수행된 시간
  • ⑥ : 해당 메소드 CPU 시간(ms)
  • ⑦ : 수행 메소드명/ 실행 Query

해당 메소드에서만 실행하는 데 소요된 시간을 계산하여 Exclusive 시간을 계산하여 표시한다. 메소드들을 실행 관계를Tree 형태로 표현하고 있다. 또, B-Gab(Before Gab), A-Gab(After Gab)을 표시하는데, 그 계산 방식은 아래와 같다.

위와 같이 SQL쿼리의 수행시간이 오래 걸리면(WAS Agent에서 설정), 해당 쿼리를 실행한 애플리케이션의 위치를 파악할 수 있도록 Stack Trace를 출력한다.

HTTP Status Code 40x, 50x오류 정보를 모두 수집한다. 500 오류 중에서 JSP 컴파일 오류와 같은 오류는 아래와 같이 오류 메시지를 수집하여 표시한다.

SQL 쿼리 분석

PreparedStatement의 경우엔 ‘?’로 작성한 SQL문에 각 파라미터에 값을 설정하여 실행한다.

Transaction Trace내에 수행된 PreparedStatement나 CallableStatement의 SQL문장을 표시하며, ‘?’를 프로그램에서 설정한 값으로 치환하여 ‘Mapped:’ 항목에 출력한다.

Mapped SQL문장을 복사하여 데이터베이스 쿼리 툴에서 그대로 실행할 수 있다.

해당 쿼리가 실행된 데이터베이스의 JDBC URL 정보도 출력된다.

SQL문을 실행한 후 ResultSet의 next() 함수를 이용하여 값을 가져오는데, 이 건수와 소요된 시간 정보를 출력한다.

Fetch Count는 next() 함수를 호출한 횟수를 의미하며, Gab Time은 첫 번째 next() 함수 실행부터 ResultSet close() 함수가 호출될 때까지의 소요시간을 의미한다.

대시보드 그룹

Application Group 별 TPS, Active Users, Pending Transactions, Average Response Time 을 간단하게 표시한다.

나의 대시보드

대시보드를 원하는 구성과 대상으로 커스터마이징 한다.

특정 Application Group 에 대한 Chart 를 추가 할 수 있다.

WEB 대시보드

Apache Web, NGinx, Haproxy 서버가 설치된 머신에 System Agent내의 Apache/Nginx/Haproxy Plugin을 통해서 웹서버의 정보를 수집한다.

웹 서버의 초당 처리 건수, 초당 Traffic 전송량, Worker 스레드의 상태를 모니터링하여 웹 서버들에 대한 대시보드를 화면에 표시한다.

WEB 대시보드 차트 상세

① HOSTNAME, 인스턴스 ID
② Busy Worker의 개수
③ 웹서버가 처리하는 초당 Traffic Bytes
④ 초당 처리건수를 표시
⑤ 이전 대비 증감량을 표시
⑥ 초당 처리 건수를 그래프로 표시

APM System 대시보드

System Agent가 수집하는 많은 데이터 중에서 시스템에 발생할 수 있는 문제를 한눈에 파악할 수 있도록 대시보드를 구성하여 제공한다.

시스템 대시보드 차트 상세

① 시스템 CPU 사용률
② 시스템 메모리 사용률
③ 시스템 파티션 사용률(사용률이 높은 파티션 표시)