...
▲ Scouter 구성도
Scouter는 네가지 모듈로 구성
Modules Desc Collector 에이전트로부터 실시간 모니터링 정보를 수집, 가공하며 실시간 대시보드 제공 및 통계정보관리, 장애/에러 경보 등 관리에 필요한 각종 기능 수행 Java Agent 모니터링 대상 시스템(WAS)에 구성 되며, 각종 성능 정보를 수집, 스카우터 서버로 전달하는 역할 수행 Host Agent CPU, Memory, 디스크 성능 정보를 Collector로 전송 Client Collector에서 수집된 정보를 확인하는 클라이언트
Step 1. Scouter 다운로드 및 압축풀기
https://github.com/scouter-project/scouter/releases 에서 최신버전(가이드 작성 기준 scouter-min-2.6.2.tar.gz) 다운로드 후 압축 풀기
코드 블럭 language bashgroovy title Linux [root@junoya junoya]# wget https://github.com/scouter-project/scouter/releases/download/v2.5.1/scouter-min-2.6.2.tar.gz // 다운로드 [root@junoya junoya]# tar xzf scouter-min-2.6.2.tar.gz // 압축 풀기 [root@junoya junoya]# mv scouter /opt/ // 이후 편의를 위해 scouter 폴더 이동 [root@junoya junoya]# cd /opt/scouter [root@junoya scouter]# ls -al // 압축푼 폴더 안 확인 drwxr-xr-x. 3 root root 210 6월 20 15:26 agent.host drwxr-xr-x. 4 root root 57 6월 20 15:26 agent.java drwxr-xr-x. 6 root root 4096 6월 20 15:26 server
...
scouter/server/conf/scouter.conf 파일에 다음과 같이 내용 추가
코드 블럭 language groovy title 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
서버 시작
코드 블럭 language bashgroovy title Linux [root@junoya server]# ./startup.sh nohup: redirecting stderr to stdout ____ _ / ___| ___ ___ _ _| |_ ___ _ __ \___ \ / __/ \| | | | __/ _ \ '__| ___) | (_| (+) | |_| | || __/ | |____/ \___\___/ \__,_|\__\___|_| Open Source S/W Performance Monitoring Scouter version 2.6.2
*정지는 stop.sh
...
scouter/agent.host/conf/scouter.conf 파일에 다음과 같이 주석 제거
코드 블럭 language groovy title scouter.conf ### scouter host configruation sample 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
서버 시작
코드 블럭 language bashgroovy title Linux [root@junoya agent.host]# ./host.sh nohup: redirecting stderr to stdout ____ _ / ___| ___ ___ _ _| |_ ___ _ __ \___ \ / __/ \| | | | __/ _ \ '__| ___) | (_| (+) | |_| | || __/ | |____/ \___\___/ \__,_|\__\___|_| Open Source S/W Performance Monitoring Scouter version 2.6.2 Configure -Dscouter.config=./conf/scouter.conf Scouter Host Agent Version 2.6.2 2019-04-28 13:41 GMT System JRE version : 1.8.0_212
*정지는 stop.sh
...
- Scouter Agent는 모니터링 할 서버(여기선 Confluence 서버)에 설치해야함
scouter/agent.java/conf/scouter.conf 파일에 다음과 같이 주석 제거 및 서버 정보 입력
코드 블럭 language groovy title scouter.conf ### scouter java agent configuration sample obj_name=WAS-01 // 모니터링 될 서버명(임의 지정) net_collector_ip=127.0.0.1 // Scouter 서버 IP net_collector_udp_port=6100 // Scouter 서버 TCP 포트 net_collector_tcp_port=6100 // Scouter 서버 UDP 포트 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
Agent 경로 확인
코드 블럭 language bashgroovy title Linux [root@junoya agent.java]# pwd /opt/scouter/agent.java
...
<confluence installation-directory>/bin/setenv.sh 파일 마지막 줄에 다음 항목 추가
코드 블럭 language bash title setenv.sh . . . CATALINA_OPTS="-Dconfluence.context.path=${CONFLUENCE_CONTEXT_PATH} ${CATALINA_OPTS}" CATALINA_OPTS="-XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing ${CATALINA_OPTS}" export CATALINA_OPTS #########################아래 부터 추가되는 내용############################################# JAVA_OPTS="-javaagent:/opt/scouter/agent.java/scouter.agent.jar" // Agent 위치한 경로 지정 uJAVA_OPTS="${JAVA_OPTS} -Dscouter.config=/opt/scouter/agent.java/conf/scouter.conf" // Agent 위치한 경로 지정 JAVA_OPTS="${JAVA_OPTS} -Datlassian.org.osgi.framework.bootdelegation=META-INF.services,com.yourkit,com.singularity.*,com.jprofiler,com.jprofiler.*,org.apache.xerces,org.apache.xerces.*,org.apache.xalan,org.apache.xalan.*,sun.*,com.sun.jndi.*,com.icl.saxon,com.icl.saxon.*,javax.servlet,javax.servlet.*,com.sun.xml.bind.*,javax.xml.*,scouter.*" export JAVA_OPTS
Confluence 재시작
코드 블럭 language bashgroovy title Linux systemctl restart confluence.service Confluence 시작시 <confluence installation-directory>/logs/catalina.out 파일에서 다음과 같이 Scouter 구동 확인 가능 / ___| ___ ___ _ _| |_ ___ _ __ \___ \ / __/ \| | | | __/ _ \ '__| ___) | (_| (+) | |_| | || __/ | |____/ \___\___/ \__,_|\__\___|_| Open Source S/W Performance Monitoring Scouter version 2.6.2 20190620 14:49:18 [SCOUTER] loaded by system classloader 20190620 14:49:18 [SCOUTER] Version 2.6.2 2019-04-28 13:41 GMT_ENV_java8plus 20190620 14:49:18 [SCOUTER] jar:file:/opt/scouter/agent.java/scouter.agent.jar 20190620 14:49:18 [SCOUTER] objType:tomcat 20190620 14:49:18 [SCOUTER] objName:/junoya.i.curvc.com/WAS-01 20190620 14:49:18 [A113] Counter Collector Started (#19) 20190620 14:49:18 [A113] InteractionCounter Collector Started (#19) 20190620 14:49:18 [SCOUTER] Configure -Dscouter.config=/opt/scouter/agent.java/conf/scouter.conf 20190620 14:49:18 [A100] agent boot seed=x3oglpmt82t 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractAppService service.plug loaded #xhhabrt 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractHttpService httpservice.plug loaded #x1hg5o31 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractCapture capture.plug loaded #x1hn36kv 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractCapture springControllerCapture.plug loaded #xdonb7s 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractJdbcPool jdbcpool.plug loaded #xfi7537 20190620 14:49:18 [NONE] LoadJarBytes scouter.jdbc 33156 bytes 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractHttpCall httpcall.plug loaded #x18uihq9 20190620 14:49:18 [SCOUTER] PLUG-IN : scouter.agent.plugin.AbstractCounter counter.plug loaded #x11splbj
...