아키텍처와 함께

블로그 이미지
by gregorio
  • Total hit
  • Today hit
  • Yesterday hit

'APM'에 해당되는 글 1건

  1. 2018.02.23
    APM Scouter 설치

프로젝트를 진행하면서 서버에서 수행되는 Transaction을 모니터링하기 위해서 APM(Application Performance Tool)을 적용한다.


한국에서 가장 많이 사용하는 APM 툴은 Jenifer로 Trial License로 설치하여 성능을 모니터링을 할 수 있으나 Open Source Scouter를 설치하여 모니터링하는 것도 좋은 방법이라고 생각한다.


Scouter는 git hub(https://github.com/scouter-project/scouter)에 접속하면 다운로드를 받을 수 있고 설치 메뉴얼을 제공한다.


설치 메뉴얼에 따라 쉽게 설치가 가능하다.


Scouter 설치 방법


■ Scouter Download

https://github.com/scouter-project/scouter에서 다운로드 받는다.

최신 버전은 Java 1.8 이상을 지원하기 때문에 서버의 환경의 Jdk 버전을 지원하는 Scouter를 다운로드 받는다.

Jdk1.7을 사용하는 환경에서는 v1.7.3.1을 설치한다.


■ Scouter 압축해제

scouter-all-1.7.3.1.tar.gz 파일을 다운 받아 압축을 해제하면 다음과 같이 Folder가 생성된다(명령어 : tar -zxf scouter-all-1.7.3.1.tar.gz)

 - agent.batch : 배치 모니터링

 - agent.host : Resource(CPU, Memory) 모니터링

 - agent.java : WAS 모니터링

 - server : Collector


■ 설치전 준비사항

user 계정에 SCOUTER_AGENT_DIR을 다음과 같이 설정한다.


 export SCOUTER_AGENT_DIR=/scouter/agent.java


WAS(예:Tomcat)의 setenv.sh에 Agent를 등록한다(위치 : $(TOMCAT_HOME)/bin/setenv.sh


JAVA_OPTS=" ${JAVA_OPTS} -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"

JAVA_OPTS=" ${JAVA_OPTS} -Dscouter.config=${SCOUTER_AGENT_DIR}/conf/scouter.conf"

JAVA_OPTS=" ${JAVA_OPTS} -Dobj_name=TOMCAT-WAS1"



■ Scouter Collector 설정

Scouter가 설치된 디렉토리의 server/conf 디렉토리로 이동한다.


vi Editor로  scouter.conf 파일을 오픈하여 다음 내용을 입력한다.


# Agent Control and Service Port(Default : TCP 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



여기서 중요한 부분은 Collector가 listen하는 Port를 설정한다. Default로 6100을 사용하고 있으며, Collector가 설치되는 시스템에서 이미 6100 포트를 사용하면 다른 포트로 지정하여야 한다.


설정이 완료되면 server 디렉토리에서 startup.sh Shell을 실행한다.

./startup.sh


[tomcat server]$ ./startup.sh

nohup: redirecting stderr to stdout

  ____                  _

 / ___|  ___ ___  _   _| |_ ___ _ __

 \___ \ / __/   \| | | | __/ _ \ '__|

  ___) | (_| (+) | |_| | ||  __/ |

 |____/ \___\___/ \__,_|\__\___|_|

 Open Source S/W Performance Monitoring

 Scouter version 1.7.3.1

 


■ agent.host 설정

agent.host는 서버의 자원을 모니터링하는 Component 이다.


../agent.host/conf 파일로 이동하여 scouter.conf 파일을 오픈한다.


net_collector_ip=127.0.0.1

net_collector_udp_port=6100

net_collector_tcp_port=6100

cpu_warning_pct=80

cpu_fatal_pct=85

cpu_check_period_ms=60000

cpu_fatal_history=3

cpu_alert_interval_ms=300000

disk_warning_pct=88

disk_fatal_pct=92


net_collector_ip는 Collector가 설치된 서버의 IP 주소를 설정한다.

net_collector_udp_port는 Collector가 Listen하고 있는 UDP Port를 설정한다.

net_collector_tcp_port는 Collector가 Listen하고 있는 TCP Port를 설정한다.


설정이 완료되면 ../agent.host/host.sh Shell을 수행한다.


■ agent.java 설정

agent.java는 WAS의 서비스를 모니터링하기 위한 Component이다.


../agent.java/conf 디렉토리에서 scouter.conf 파일을 오픈한다.

obj_name=TOMCAT-WAS1

net_collector_ip=127.0.0.1

net_collector_udp_port=6100

net_collector_tcp_port=6100

#hook_method_patterns=sample.mybiz.*Biz.*,sample.service.*Service.*

trace_http_client_ip_header_key=X-Forwarded-For

profile_spring_controller_method_parameter_enabled=false

#hook_exception_class_patterns=my.exception.TypedException

profile_fullstack_hooked_exception_enabled=true

#hook_exception_handler_method_patterns=my.AbstractAPIController.fallbackHandler,my.ApiExceptionLoggingFilter.handleNotFoundErrorResponse

#hook_exception_hanlder_exclude_class_patterns=exception.BizException


obj_name는 WAS Instance이름이다. 

net_collector_ip는 Collector가 설치된 서버의 IP 주소를 설정한다.

net_collector_udp_port는 Collector가 Listen하고 있는 UDP Port를 설정한다.

net_collector_tcp_port는 Collector가 Listen하고 있는 TCP Port를 설정한다.


설정이 완료되면 WAS를 재기동한다.

WAS의 로그에 Scouter 관련된 로그가 생성된다.

  ____                  _

 / ___|  ___ ___  _   _| |_ ___ _ __

 \___ \ / __/   \| | | | __/ _ \ '__|

  ___) | (_| (+) | |_| | ||  __/ |

 |____/ \___\___/ \__,_|\__\___|_|

 Open Source S/W Performance Monitoring

 Scouter version 1.7.3.1


20180223 03:49:27 [SCOUTER] Version 1.7.3.1 2017-08-21 11:58 GMT

20180223 03:49:27 [SCOUTER] loaded by system classloader

20180223 03:49:27 [SCOUTER] jar:file:/engn001/scouter/agent.java/scouter.agent.jar

20180223 03:49:27 [SCOUTER] objType:tomcat

 

 이것으로 WAS와 Scouter의 연동이 완료되었다.


■ Scouter Client설치

Scouter Client는 Eclipse Plugin으로 개발되어 있기 때문에 https://github.com/scouter-project/scouter에서 클라이언트 환경에 맞는 scouter client를 다운로드 받는다.


다운로드가 완료되면 압축을 해제한 후 scouter.exe 파일을 실행하면 모니터링이 가능하다.






AND

ARTICLE CATEGORY

분류 전체보기 (56)
Spring Framrwork (33)
Linux (1)
APM (1)
Java (8)
python (0)
ant (1)
chart (1)
OS (1)
tomcat (1)
apache (1)
database (0)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2024/10   »
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 31

ARCHIVE

LINK