---
description: '자바 트러블슈팅: scouter를 활용한 시스템 장애 진단 및 해결 노하우를 챕터 5을 요약한 내용입니다.'
---

# CHAP 05. scouter XLog

scouter에서의 XLog는 중요하고 아주 큰 역할을 한다. 왜냐하면 각각의 트랜잭션을 분석하고 시스템의 전반적인 상황을 한눈에 볼 수 있는 산포도(scatter chart)이기 때문이다.

![](https://2649832514-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M5HOStxvx-Jr0fqZhyW%2F-MISRH1c7hMhIP0H7Sd0%2F-MISSmWPiDm8rwbIdr2-%2F111.png?alt=media\&token=2cb752b1-16db-4ba9-b706-a9c72e158c66)

[https://chanchan-father.tistory.com/219](https://chanchan-father.tistory.com/219)

하나의 점은 하나의 요청을 의미한다. 그래서 이 점들이 어떻게 분포되어 있는지에 따라서 그 서비스가 안정적인지 불안정한 상태인지를 확인할 수 있다. 안정적인 서비스일 수록 점들은 아래쪽에 깔려 있게 된다.

### 그렇다면 이 점들은 언제 화면에 찍히게 될까?

응답 시간의 점이 찍힌다는 것은 사용자에게 응답이 끝나야지만 가능하다. 정확히는 마지막 바이트까지 응답하여 요청이 끝났을 때 점이 찍힌다.

분포된 점들을 마우스로 드래그 하게 되면 해당 요청에 대한 상세한 여러 정보들을 확인할 수 있다.

* CPU : CPU를 점유한 시간, 단위 밀리초
* SQL Count : SQL 수행 개수, 단위 개수
* SQL Time : SQL 수행 시간, 단위 밀리초
* API Count: API 호출 개수, 단위 개수
* API Time : API 수행 시간, 단위 밀리초
* KBytes : 요청을 처리하는 데 사용한 메모리의 양, 단위 킬로바이트

### XLog 상세 화면 내용 분석

* txid : 트랜잭션 ID
* objName : 호스트/인스턴스 이름
* thread : 수행한 스레드
* endtime : 요청 종료 시간
* elapsed : 수행 시간
* service : 요청 URL
* ipaddr : 호출한 서버/클라이언트의 IP 및 scouter 사용자 ID
* cpu : CPU 점유 시간 및 요청 처리 시 사용한 메모리 크기
* sqlCount : SQL 개수 및 시간
* userAgent : 호출한 클라이언트의 종류
* group : 요청 그룹
* profileSize : 프로파일 크기

## 메서드 프로파일링 추가하기

메서드 프로파일링 기능을 사용하면 더 자세하게 분석할 수 있다. 설정을 변경하는 방법은 여러 가지가 있지만, 가장 편한 방법은 scouter 클라이언트에서 변경하는 것이다. 해당 애플리케이션의 Configure 메뉴를 클릭하게 되면 아래와 같은 설정 정보 화면을 볼 수 있다. 여기서 원하는 내용을 설정한 후 오른쪽 상단에 있는 디스크 모양을 누르면 저장이 완료된다.

![](https://2649832514-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M5HOStxvx-Jr0fqZhyW%2F-MISRH1c7hMhIP0H7Sd0%2F-MISSowUGv0akbER3hnk%2F222.png?alt=media\&token=786c20c2-b42d-4cb1-a392-cf41513a732a)

## XLog 사용법 - 필터링

scouter의 XLog는 장애를 보다 빠르고 신속하게 진단할 수 있도록 필터링 기능을 제공한다.

![](https://2649832514-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M5HOStxvx-Jr0fqZhyW%2F-MISRH1c7hMhIP0H7Sd0%2F-MISSuEkQV3lA8rfKFAZ%2F333.png?alt=media\&token=38fa138e-11c1-4d5f-a40d-7d4cd84da0f8)

왼쪽부터 각각의 아이콘에 대해서 알아보자

* 검색 : 특정 URL이나 화면을 찾기 위한 팝업 메뉴
* SQL Filter : SQL 쿼리에서 수행된 시간만을 확인하기 위한 필터
* API Filter : API 호출 시간만을 확인하기 위한 필터
* Error Filter : Error가 발생한 것들을 확인하기 위한 필터

## XLog 사용법 - 과거 데이터 불러오기

XLog도 다른 그래프들처럼 History 기능을 제공한다. 또는 Summary를 사용하여 다양한 통계 정보들을 확인할 수 있다. 조회한 데이터는 CSV 파일로 저장할 수 있다.

![](https://2649832514-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M5HOStxvx-Jr0fqZhyW%2F-MISRH1c7hMhIP0H7Sd0%2F-MISSwUPmPN5f7JaLYiT%2F444.png?alt=media\&token=de1b0fdf-80d7-453c-8996-d24d5935296d)
