티스토리 뷰

Scouter는 JVM을 모니터링 할 수 있는 오픈소스 성능 모니터링 툴로 기본 기능을 사용하기에는 정말 좋으며 tomcat은 상세하게 모니터링 할 수 있는 기능을 제공한다.

Scouter는 Agent, Server, Client 세 부분으로 나눠진다.
- Agent : jar 로 제공되며 모니터링을 할 JVM에 포함시켜서 같이 기동된다.
- Server : Agent가 보내는 데이터를 수집하며 Client에게 데이터를 보내준다.
- Client : Server에서 받은 정보를 화면에 보여준다.
- Host : 서버의 cpu, memory, disk, network 등의 정보를 수집한다.

모든 소스는 github에 있고 소스를 받아 빌드를 해볼 수 있고 release를 다운 받아 설치하여 사용할 수있다.

빌드 방법 경로
https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Build-Scouter-Windows_kr.md

release 다운로드 경로
https://github.com/scouter-project/scouter/releases

Scouter

정보를 수집하는 Scouter Server(각 Application이 보내는 정보를 수집하는 Collector)를 설치해야하는데 테스트 해야하는 Application과 같은 서버에 Scouter Server를 설치했다. 
기본 설정을 사용하여도 무방하다.
(다운로드 : https://github.com/scouter-project/scouter/releases)
(https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Quick-Start_kr.md)


Server

=============conf/scouter.conf============
#Agent Control and Service Port Default : 6100
net_tcp_listen_port=6100

#UDP Receive Port(Default : 6100)
net_udp_listen_port=6100

#DB directory(Default : ./database)
db_dir=./database

#Log directory(Default : ./logs)
log_dir=./logs
=======================================

conf 설정 후 startup.sh로 Server를 기동해 놓는다.


Agent

그리고 모니터링 대상의 JVM이 설치돼 있는 폴더로 가서 socuter의 설정파일을 작성한다.

===============agent_scouter.conf==============
# Scouter Server IP Address(Default : 127.0.0.1)
net_collector_ip=127.0.0.1

# Scouter Server port(Default : 6100)
net_collector_udp_port=6100
net_collector_tcp_port=6100

# Scouter Name(Default : tomcat1)
obj_name=SendApiServer

hook_method_access_private_enabled=true
hook_method_access_protected_enabled=true
hook_method_patterns=team.balam.service.*, team.balam.send*.*
=======================================

여기서 hook으로 시작하는 옵션들이 중요한데 private_enabled는 private method를 모니터링 할지, protected_enabled는 protected 메소드를 모니터링할지 이다.
patterns에는 다수의 패턴을 등록할 수 있는데 요청에 의해서 시작되는 클래스가 포함되어 있는 패키지를 모두 걸어준다.

','를 기준으로 여가지 패턴을 등록할 수 있는데 요청과 관련해서 호출되는 클래스가 포함돼 있는 패키지도 걸어준다면 자동으로 요청과 하나의 트랜잭션으로 묶어서 모니터링이 가능하다.

이제 모니터링 할 JVM 옵션에 아래 옵션을 추가하고 jar폴더에 scouter.agent.jar를 다운로드하여 포함해준다. scouter.config는 바로 전에 작성한 설정 파일 위치이다.

-javaagent:./lib/scouter.agent.jar -Dscouter.config=./agent_scouter.conf

이제 jvm을 기동 시키고 모니터링을 할 수 있는 Scouter Client를 내 PC에 설치해보자.


Client

맨 위 다운로드 위치에서 나에게 맞는 Client를 다운 받고 설치한 뒤 실행하게 되면 IP, Port, ID, Password를 물어보는데 기본 Scouter Server의 IP,Port를 적고 admin / admin을 입력하자.

상위 메뉴에서 Collector -> Java에 있는 항목 중 아래 항목을 선택하여 모니터링을 했다.

Alert : JVM에서 발생하는 경고등의 정보를 보여준다.(JVM 셧다운 등)

Active Service : 현재 실행되고 있는 서비스의 카운트를 보여준다.

XLog : 실시간으로 들어오는 서비스가 점으로 찍히며 클릭하여 드래그 하면 선택된 서비스들의 목록이 나오고 다시 한 항목을 더블 클릭하면 상세 호출 stack을 볼 수 있다.

24H Service Count : 최근 24시간동안 매 시간마다 몇 건의 서비스가 호출 되었는지 알려준다.

유용한 기능으로는 각 창에서 마우스우클릭을 하게 되면 히스토리의 상세 검색을 할 수 있다. 


host

agent.host 폴더 전체를 모니터링하려는 서버에 저장하고 간단한 설정을 해준다.

===============agent.host/conf/scouter.conf==============

# Scouter Server IP Address (Default : 127.0.0.1)
net_collector_ip=192.168.1.33

# Scouter Server Port (Default : 6100)
net_collector_udp_port=6100
net_collector_tcp_port=6100

=======================================

host.sh 를 실행해주면 client 에서 OS 에 맞는 아이콘이 보이고 해당 서버의 서비스 목록을 볼 수 있다.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함