CHAP 05. scouter XLog

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

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

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 메뉴를 클릭하게 되면 아래와 같은 설정 정보 화면을 볼 수 있다. 여기서 원하는 내용을 설정한 후 오른쪽 상단에 있는 디스크 모양을 누르면 저장이 완료된다.

XLog 사용법 - 필터링

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

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

  • 검색 : 특정 URL이나 화면을 찾기 위한 팝업 메뉴

  • SQL Filter : SQL 쿼리에서 수행된 시간만을 확인하기 위한 필터

  • API Filter : API 호출 시간만을 확인하기 위한 필터

  • Error Filter : Error가 발생한 것들을 확인하기 위한 필터

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

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

Last updated