먹깨비의 일상🍣
article thumbnail
728x90
반응형

 

스카우터(Scouter)란?

스카우터(Scouter)는 LG CNS에서 개발한 APM(Application Performance Monitoring) 도구를 의미합니다.

 

APM은 애플리케이션의 성능을 모니터링하고 통제할 수 있는 도구입니다.

APM 도구가 필요한 이유는 무엇입니까?


소프트웨어 프로젝트에 관계없이 모든 조직에는 성능 모니터링을 위한 APM 도구가 필요합니다. APM은 블랙박스 내부의 모든 활동을 검사하는 X-ray 기계처럼 작동합니다. 이 블랙박스에는 소프트웨어 프로젝트의 모든 복잡성이 포함되어 있습니다. 여기에는 로드 시간, 애플리케이션 응답 시간 등이 포함됩니다.


스카우터(Scouter)와 다른 APM 도구들의 주요 차이점



오픈소스: 

스카우터는 오픈소스 프로젝트로, 누구나 소스 코드를 확인하고 수정할 수 있습니다. 이는 사용자가 필요에 따라 도구를 커스터마이징 할 수 있음을 의미합니다. 반면에 많은 상용 APM 도구들은 소스 코드에 접근할 수 없으며, 제공되는 기능만을 사용해야 합니다.


다양한 OS 지원:

 스카우터는 다양한 운영체제를 지원합니다. 이는 다양한 환경에서 스카우터를 사용할 수 있음을 의미합니다.


데이터 수집을 위한 에이전트 설치 필요:

 스카우터는 데이터 수집을 위해 에이전트의 설치가 필요합니다. 이는 스카우터가 세밀한 데이터 수집을 가능하게 하지만, 설치 및 설정에 추가적인 노력이 필요함을 의미합니다.


agent, server, client로 구성:

 스카우터는 agent, server, client로 구성되어 있습니다. agent는 데이터를 수집하는 대상이며, server는 데이터를 수집하여 저장하며, 저장된 데이터를 연결되어 있는 client에 전달합니다. 이는 스카우터가 유연한 데이터 수집 및 전달을 가능하게 합니다.


이클립스 프레임워크 기반 클라이언트:

 스카우터의 클라이언트는 이클립스 프레임워크 기반으로 개발되어 있습니다. 이는 스카우터 클라이언트가 이클립스의 다양한 기능을 활용할 수 있음을 의미합니다.

 

agent는 데이터를 수집하는 대상이며, server는 데이터를 수집하여 저장하며, 저장된 데이터를 연결되어 있는 client에 전달합니다. client는 이클립스 프레임워크 기반으로 개발되어 있습니다.


APM은 집중적인 모니터링을 수행하고, 로그를 수집하고, 이를 통찰력으로 변환하여 애플리케이션 성능을 한 단계 끌어 올립니다.

유료 또는 오픈 소스 APM 도구를 선택하든 주요 기능은 다음과 같습니다.


*프로젝트의 개발 수명주기 향상
* 코드 실행 및 성능 감사
* 자주 사용하는 기능에 대한 통찰력 수집 
* 애플리케이션 종속성 이해
* 성능 문제 발견
* 코드 변경의 영향 모니터링
* 실제 사용자 모니터링(RUM)
* 네트워크 성능 모니터링


최고의 오픈 소스 APM 도구 더 보기 링크

 

Top 10 Open Source APM Tools

Here is the list of the top open-source APM tools available as an alternative if you’re looking for low-cost application performance monitoring.

stackify.com

 


 

오픈소스 APM Scouter의 설치 및 사용법



설치파일 다운로드: Scouter의 설치 파일을 아래 링크에서 다운로드합니다.

 

Releases · scouter-project/scouter

Scouter is an open source APM (Application Performance Management) tool. - scouter-project/scouter

github.com



사전 작업:


방화벽 오픈:


에이전트 --> 서버 : TCP/UDP 6100 포트 오픈 필요합니다.
서버 --> 클라이언트 : TCP 6100 포트 오픈 필요합니다.


서버 설정 및 실행:

 scouter/server/conf/ 디렉토리에디렉터리에 있는 scouter.conf 파일을 수정합니다. 이 파일에서는 스카우터 서버 ID, 서버 리스닝 TCP/UDP 포트, 데이터 저장 경로, 로그 경로 등을 설정할 수 있습니다. 설정이 완료되면 /scouter/server/ 디렉터리에서 startup.sh 또는 startup.bat을 실행하여 서버를 시작합니다.


호스트 에이전트 설정 및 실행:

 scouter/agent.host/conf/ 디렉토리에 있는 scouter.conf 파일을 수정합니다. 이 파일에서는 수집 서버 IP, 리스닝 포트, 오프젝트명, 호스트명 등을 설정할 수 있습니다. 설정이 완료되면 /scouter/agent.host/ 디렉터리에서 host.sh 또는 host.bat을 실행하여 호스트 에이전트를 시작합니다.


자바 에이전트 설정 및 실행:

 scouter/agent.java/conf/ 디렉토리에 있는 scouter.conf 파일을 수정합니다. 이 파일에서는 수집 서버 IP, 리스닝 포트, 오프젝트명, 호스트명 등을 설정할 수 있습니다. 설정이 완료되면 Tomcat의 catalina.sh 파일을 수정하여 자바 에이전트를 실행합니다.


클라이언트 프로그램 실행:

 scouter.client/ 디렉토리에서 scouter.exe를 실행합니다. 이때 서버 주소, ID, 비밀번호를 입력합니다.
이 과정을 통해 Scouter를 설치하고 사용할 수 있습니다. 분석하고 싶은 성능 지표로 대시보드를 커스터마이징 해서 만들 수 있습니다.


 

 

스카우터(Scouter)의 주요 기능



성능 모니터링: 

스카우터는 애플리케이션의 성능을 모니터링하고 관리할 수 있습니다. 이를 통해 Process CPU, Heap Memory, GC, Datasource ConnectionPool, ThreadPool, Request Time, Response Time, TPS 등 다양한 정보를 본인이 원하는 정보를 선택하여 모니터링할 수 있습니다.


병목 파악 및 대응:

 각 서비스 구간 별로 성능을 기록해 병목을 파악하고 미리 대응할 수 있습니다.


트래픽 예상:

 기록에 근거해 현재 서비스에서 수용 가능한 트래픽을 예상해 볼 수 있습니다.


장애상황 대응:

 알람 등을 이용해 장애상황에 빠르게 대응할 수 있습니다.


설계 오류 및 메모리 누수 탐지:

 자원 사용률, GC상태 등의 정보를 이용해 잘못된 설계, 메모리 누수 등을 사전에 탐지 할 수 있습니다.


 

728x90
반응형
profile

먹깨비의 일상🍣

@먹깨비의 일상

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!