메뉴 건너뛰기

Extra Form
출처 https://team-platform.tistory.com/14
JAVA 기반 서비스에서 운영할수 있는 APM Tool 을 선정하는 과정에서 스카우터를 선택하고 구성을 마친 경험을 다루어 보려고 한다.


1부에서는 선정한 이유와 스카우터 구조, 수집하는 지표 등에 대한 설명을 다룬다.

설치방법이 궁금하다면 공식 GitHub를 참조하자. 친절하게 한글로 설명이 잘 되어있다.


APM Tool 에 대하여

APM은 Application Performance Management 라고 한다. 어플리케이션의 성능을 관리하고 통제하는 도구라고 할 수 있다.
APM Tool은 수많은 종류가 있고 각각의 특징들이 있다.  

이 중에서도 공통적으로 APM 을 사용하는 이유를 내 기준에서 정리해 보았다.
  • 각 서비스 구간 별로 성능을 기록해 병목을 파악하고 미리 대응할 수 있다.
  • 기록에 근거해 현재 서비스에서 수용 가능한 트래픽을 예상해 볼 수 있다.
  • 알람 등 을 이용해 장애상황에 빠르게 대응할 수 있다.
  • 자원 사용률, GC상태 등의 정보를 이용해 잘못된 설계, 메모리 누수 등을 사전에 탐지 할 수 있다.


스카우터를 선택한 이유

오픈소스



한국 기여자 & 한국어 커뮤니티

스카우터는 한국개발자들이 주축으로 개발되는 오픈소스이다. 덕분에 한국어 자료가 많아서 좀 더 쉽게 이해할 수 있다.
가끔 영어 자료도 있지만 읽다보면 한국인이 쓴 영어 느낌이라 쉽게 읽히기도 하는 뜻밖의 장점도..

커뮤니티도 나름 잘 되어있다. 페이스북 그룹의 경우는 스카우터 개발자들이 직접 답글을 달아주기도 한다!..


빠른 버전업

최근에는 버전 업이 자주 있는 편이다. 
버그패치나 기능개선의 내용도 있고, 다양한 종류의 서비스를 지원하기 위한 확장도 있다. 

릴리즈 노트를 통해 활발히 버전업 되고 있다는것을 확인할 수 있다.




스카우터의 구성

스카우터는 크게 3부분으로 나누어져 있다.

에이전트(agent)

HostAgent 와 JavaAgent 로 나뉜다.
  • HostAgent : 단독으로 실행되며 서버 OS 혹은 DB 등에서 자료를 모아 수집기에 전달한다.
  • JavaAgnet : 모니터링하기 원하는 Java 어플리케이션에 포함된 채로 기동이 된다. JVM 수준에서 확인할수 있는 지표들을 수집기로 보낸다.

수집기(Collector)

에이전트에서 받은 지표들을 모아서 저장한다. 대부분의 지표는 UDP 를 이용하여 전송되기 때문에 부담이 적은 편이다.
클라이언트에서 요청하면 수집한 데이터를 내려준다.


클라이언트

수집기를 통해 지표들을 받아서 그래프로 표현해준다. 
JAVA로 만들어진 윈도우와 리눅스, 맥OS 버전이 모두 갖추어져 있다. 
기존의 
특정 조건을 걸어서 얼럿 을 받을 수 있도록 해준다.



지표 소개

스카우터로 모니터링 할 수 있는 지표들을 정리했다.

스카우터를 도입하기 위해 고민할 때, 스카우터에서 어떤 데이터를 제공해주는지 궁금했었다. 
물론 클라이언트-수집기-에이전트 를 구성하고 살펴보면 알수 있지만, 검토 단계에서 구성을 하는게 부담이 된 경험이 있다.
검토단계에서 궁금하신 분들을 위해 기본적인 지표들을 기준으로 정리하였다.

각 지표들을 기준으로 특정 수치를 넘었을 때, 얼럿을 할 수 있도록 세팅이 가능하다. 
얼럿 설정에 대해서는 다음에 다루도록 하겠다.


JVM 가비지 콜렉션 횟수, 시간


JVM 에서 진행항 GC 횟수와 소모시간이다



JVM 힙메모리 사용율


JVM 에서 사용하고 있는 힙메모리 사용율 이다.



자바 프로세스의 CPU 사용율


JVM 프로세스에서 사용중인 CPU 자원 사용량이다.



API Call 기록(XLog)


스카우터에서는 XLog 라고 부른다.
Http 요청 부터 해당 요청의 응답까지를 한 단위로 묶어서 처리시간 별 그래프를 그려준다.
시스템 부하여부를 직관적으로 확인할 수 있고, 한 요청에 딸린 요청들의 응답시간을 추적할 수 있다.


OS 및 JAVA 에러 얼럿


스카우터는 JVM에러, 디스크 사용양, 메모리 사용량 등 다양한 상황에 대한 얼럿을 지원한다. 



TPS


WAS 등에서 측정된 Http 요청을 기반으로 한 초당 처리량이다.



SQL 처리 시간


요청 별로 SQL 처리 시간을 보여준다. 얼럿 조건을 통해 특정 시간 이상 지연이 되면 얼럿을 받을수도 있다.


OS - CPU


Host에서 사용중인 시스템 전체 CPU 사용율이다.



OS - Memory


Host에서 사용중인 시스템 전체 메모리 사용율이다.



OS - DISK Read/Write Byte


Host에서 측정한 디스크 전체의 Read(Write) 사용치이다.



OS - Network Traffic


Host에서 측정한 네트워크 트래픽이다.



OS - Socket Count by status


Host에서 측정한 소켓연결 현황이다. 상태별로 조회가 가능하다.






마치며..

스카우터에서는 지표를 다양하게 제공하고 있지만, 이를 제대로 이해하고 보지 않으면 활용성이 떨어질 수 있다. 
그래서 각 지표에 대한 학습과 그 지표를 제대로 보기위한 설정들이 필요하다. 
또한 얼럿 커스터마이징을 통해 다양한 상황들을 인지하면서 시스템을 장악하는데 도움을 얻을 수 있다.
2부에서는 이들에 대해 다루도록 하겠다.

  1. JAVA APM Scouter 활용 - 2부 스카우터 기능 활용 및 페이퍼 플...

    1부 APM 선정과 스카우터의 지표소개 2부 스카우터 기능 활용 및 페이퍼 플러그인 3부 스카우터 얼럿 플러그인 커스터마이징 이번 내용에서는 스카우터 클라이언트를 본격적으로 사용하면서 알면 도움이 되는 내용을 주로 다루려고 한다. 수집된 지표를 보기위...
    Date2024.06.26 Reply0 Views506 file
    Read More
  2. JAVA APM Scouter 활용 - 1부 APM 선정과 스카우터의 지표 소개

    JAVA 기반 서비스에서 운영할수 있는 APM Tool 을 선정하는 과정에서 스카우터를 선택하고 구성을 마친 경험을 다루어 보려고 한다. 1부 APM 선정과 스카우터의 지표 소개 2부 스카우터 기능 활용 및 페이퍼 플러그인 3부 스카우터 얼럿 플러그인 커스터마이징...
    Date2024.06.26 Reply0 Views487 file
    Read More
  3. [log분석]AWK, 톰캣 Accesslog 통계 count 추출 (feature awk g...

    AWK AWK(오크; Aho Weinberger Kernighan)는 유닉스에서 처음 개발된 일반 스크립트 언어이다. AWK의 기본 기능은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것이다. AWK라는 이름은 이 스크립트 언어를 만든 앨프리드 에이호, 피...
    Date2024.06.19 Reply0 Views464
    Read More
  4. 프론트엔드 프레임워크 Angular / React / Vue / Svelte

    프론트엔드 프레임워크 Angular / React / Vue / Svelte Stackoverflow Ranking에서 여러 프로그래밍 언어 및 프레임워크에 대한 점유율, 선호도 등 자세한 정보는 확인하실 수 있습니다. 해당 정보에 따르면 웹 프레임워크의 점유율은 아래 그래프와 같습니다...
    Date2024.05.08 Reply0 Views655 file
    Read More
  5. Microsoft Visual Studio 역대 버전

    Microsoft Visual Studio 역대 버 1. 개요2. 특징3. 시스템 요구 사항4. 역대 버전4.1. Visual Studio 97 (5.0)4.2. Visual Studio 6.04.3. Visual Studio.Net (2002) (7.0)4.4. Visual Studio.Net 2003 (7.1)4.5. Visual Studio 2005 (8.0)4.6. Visual Studio...
    Date2023.03.06 Reply0 Views495 file
    Read More
  6. ‘무능, 순진, 방만, 아집...' 소프트웨어 개발 죄악 7가지

    무능, 순진, 방만, 아집...' 소프트웨어 개발 죄악 7가지 2023.10.10 Peter Wayner | InfoWorld 잘못된 방법론 선택부터 최신 트렌드에 지나치게 집착하는 것까지, 훌륭한 앱 개발팀의 결과물도 때때로 우리 스스로가 되돌릴 수 없는 경향, 유혹, 습관으로 인...
    Date2023.03.06 Reply0 Views425 file
    Read More
  7. No Image

    우리가 알던 프로그래밍의 종말, 개발자의 새 역할은

    우리가 알던 프로그래밍의 종말, 개발자의 새 역할은 인공지능(AI)은 점점 더 많은 소프트웨어 개발 작업을 수행하고 있다. 개발자는 앞으로 코딩 도구보다 교육 모델을 더 많이 사용하게 될 것으로 보인다. 새 시대의 개발자는 AI의 작업을 감독하고, 빈틈을 ...
    Date2023.03.06 Reply0 Views410
    Read More
  8. No Image

    내가 Visual C++ 6.0 아직도 쓰는 이유

    내가 Visual C++ 6.0 아직도 쓰는 이유 “VC++ 6.0을 쓰지 말아야하는 이유(http://minjang.egloos.com/1783328)” 라는 글을 읽고나서도 나는 별로 VC++ 6를 버리고 싶은 생각이 들지 않는다. 난 VC++ 6가 더 손에 착착 붙으니까. 익숙하지 않은 툴을 쓸 때의 ...
    Date2023.03.06 Reply0 Views523
    Read More
  9. No Image

    VC++ 6.0을 쓰지 말아야하는 이유

    원문 : http://minjang.egloos.com/1783328 나는 아직 Visual Studio(이하 VS)6.0과 2005를 함께 이용한다. 학창시절 C언어를 처음 배울때 6.0으로.. 그리고 군 제대후 복학 했을때 2005를 사용하면서 자연스럽게 몸에 익었기 때문에 익숙한 IDE를 계속 사용해...
    Date2023.03.06 Reply1 Views551
    Read More
  10. No Image

    Visual Studio 6.0 Enterprise 설치 - valec.exe 에러

    Q. 'C:\program Files\Microsoft Visual studio\common\tools\VS-Ent98\Vanalyzr\valec.exe"를 등록하기 위한 DCOM 사용자 계정을 만들지 못하였습니다. A. Visual Studio 6.0의 버그 입니다. Visual Studio Analyzer는 엔터프라이즈 에디션에서 필요한 사항 ...
    Date2023.03.06 Reply0 Views441
    Read More
  11. No Image

    [JAVA 프로그래밍.min] 9강.전자정부 표준프레임워크 / 공통컴...

    프롬달 - 전자정부프레임워크 https://www.youtube.com/@user-xk5on6cp4v nsdclipdown||https://www.youtube.com/watch?v=eEpd7N4mf2I [JAVA 프로그래밍.min] 9강.전자정부 표준프레임워크 / 공통컴포넌트 코드 리뷰 / 공통 분류 코드 Part1
    Date2023.04.02 Reply0 Views377
    Read More
  12. egovframework:dev2:svrinstall]] 서버 개발환경 설치가이드

    개발환경 - 3.x 다운로드 https://www.egovframe.go.kr/home/sub.do?menuNo=34 egovframework:dev2:svrinstall]] 서버 개발환경 설치가이드 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev2:svrinstall 개요전자정부 표준프레임워크에서 제...
    Date2023.04.02 Reply0 Views427
    Read More
  13. No Image

    [Spring] 전자정부 프레임워크 시작하기 (3.10)

    [Spring] 전자정부 프레임워크 시작하기 (3.10) 1. 전자정부 프레임워크 시작하기(개발 환경 다운로드 메뉴얼) 개발 환경 다운로드 메뉴얼을 보고 진행하시면 됩니다. 1.1 개발 및 실행을 구현도구 환경 정보OS: Windows 10, 7 이상 JDK: Java SE SDK 7.0 이상...
    Date2023.03.31 Reply0 Views587
    Read More
  14. No Image

    [Spring] 전자정부 프레임워크란

    [Spring] 전자정부 프레임워크란 1. 전자정부프레임워크란 (공식사이트)1.1 개발프레임워크개발프레임워크는 정보시스템 개발을 위해 필요한 기능 및 아키텍처를 미리 만들어 제공함으로써 효율적인 어플리케이션 구축을 지원합니다. 전자정부 프레임워크는 스...
    Date2023.03.31 Reply0 Views515
    Read More
  15. 톰캣 세션 클러스터링(Tomcat Session Clustering)

    톰캣 세션 클러스터링(Tomcat Session Clustering) 2020년 5월 26일 톰캣 세션 클러스터링(Tomcat Session Clustering) ① 1대 서버에서 WEB과 WAS를 같이 사용하는 방법과 ② LB 1대 WEB, WAS 각 2대씩 사용하는 방법에 대해 알아보겠습니다. 톰캣 세션 클러스...
    Date2023.03.16 Reply0 Views690 file
    Read More
  16. No Image

    LENA / TunA : 클라우드 기반, 어플리케이션 성능 관리 솔루션

    LENA / TunA : 클라우드 기반, 어플리케이션 성능 관리 솔루션 TunA 는 엔터프라이즈용 어플리케이션 성능 관리 솔루션으로 상용 솔루션뿐 아니라 다양한 오픈소스에 대한 모니터링을 제공하며 오픈 소스에 대한 지원을 지속적으로 늘여가고 있음.
    Date2023.03.16 Reply0 Views426 file
    Read More
  17. No Image

    LENA WEB/WAS 소개

    LENA WEB/WAS 소개 소개 LENA WEB Open Edition은 웹 어플리케이션을 안정적으로 구동할 수 있는 웹서버로 편리한 관리 기능, 안정성 및 고가용성을 위한 다양한 기능을 제공합니다. 통합관리 콘솔을 제공하여 보다 편리하고, 효율적으로 웹 어 플리케이션을 ...
    Date2023.03.16 Reply0 Views426 file
    Read More
  18. No Image

    Windows 환경에서 Jmeter 설치 및 실행

    Windows 환경에서 Jmeter 설치 및 실행 1. Jmeter 설치 http://jmeter.apache.org/download_jmeter.cgi 링크 클릭(컨트롤 클릭) -> 공식 다운로드 사이트 or 미러 사이트 에서 카프카 압축 파일 다운로드 -> 압축 해제 -> 1.png Jmeter 설치 경로 -> bin -> jm...
    Date2023.03.06 Reply0 Views610
    Read More
  19. No Image

    SPAMOUT - Anti Spam & Mail Auditing 솔루션 (넷엔씨큐)

    SPAMOUT - Anti Spam & Mail Auditing 솔루션 (넷엔씨큐) 2.PNG SPAMOUT은 유입되는 스팸 및 악성코드 메일을 차단하고 이를 통해서 메일서버를 보호하고 네트워크. 트래픽을 적절하게 관리할 수 있습니다.
    Date2023.03.06 Reply0 Views356
    Read More
  20. No Image

    행정정보공동이용시스템

    행정정보공동이용시스템.PNG 행정정보공동이용이란? ○ 행정기관, 공공기관, 금융기관, 교육기관 등이 정보들을 서로 공유하여 업무를 전자적으로 처리함으로써 국민에게는 민원 편의성을, 정부차원에서는 효율적인 행정을 할 수 있는 전자정부의 핵심 서비스 ○...
    Date2023.03.06 Reply0 Views398
    Read More
목록
Board Pagination Prev 1 2 3 4 5 Next
/ 5