티스토리 뷰
본 포스팅은 오픈소스 APM Tool인 Scouter를 설치하고 WildFly와 연동하는 가이드입니다.
Scouter는 "개발자를 위한 APM"이라는 목적에 맞게 어플리케이션 성능을 모니터링 할 수 있는 자유도가 높은 툴 입니다.
먼저, Scouter는 아래와 같은 모듈들로 구성됩니다.
Modules | 설명 |
Server (Collector) | Agent가 전송한 데이터 수집/처리 |
Host Agent | OS의 CPU,Memory,Disk 등의 성능 정보 전송 |
Java Agent | 실시간 서비스 성능 정보와 Heap Memory, Thread 등의 Java 성능정보 |
Client (Viewer) | 수집된 성능 정보를 확인하기 위한 Client 프로그램 |
각 서버에 설치된 Scouter의 Agent들이 성능 데이터를 Collector로 전송하며, 사용자는 Client 프로그램을 통해 성능 데이터를 봅니다.
그럼 설치를 해보도록 하겠습니다.
1. 다운로드
https://github.com/scouter-project/scouter/releases/
아래와 같이 scouter-all , scouter.client.product를 다운로드 받습니다. client는 OS에 맞게 선택하시면 됩니다.
|
2.scouter-all 압축을 풀면 아래와 같이 확인됩니다.
[wildfly@k8s-worker~/scouter$]ls -al total 12 drwxrwxr-x. 8 wildfly wildfly 111 Jan 3 15:26 . drwx------. 25 wildfly wildfly 4096 Jan 8 11:00 .. drwxr-xr-x. 3 wildfly wildfly 154 Jan 3 15:26 agent.batch drwxr-xr-x. 5 wildfly wildfly 4096 Jan 4 10:11 agent.host drwxr-xr-x. 5 wildfly wildfly 105 Jan 3 18:11 agent.java drwxr-xr-x. 4 wildfly wildfly 57 Jan 3 15:26 agent.java_6_7 drwxr-xr-x. 8 wildfly wildfly 4096 Jan 4 10:09 server drwxr-xr-x. 5 wildfly wildfly 206 Jan 3 15:26 webapp [wildfly@k8s-worker~/scouter$]pwd /home/wildfly/scouter |
3.Scouter server 구성하기
/home/wildfly/scouter/server 내의 scouter.conf 파일을 수정합니다.
-Agent Control and Service Port : scouter 는 에이전트에서 서버로 데이터를 전달할 때 udp 와 tcp port 를 사용합니다. 그리고, 두개의 프로토콜은 방식이 다르기 때문에 같은 값으로 지정해도 전혀 문제는 없습니다.
-DB directory : xlog나 profile 등의 데이터들을 저장함
-Log directory : Scouter 로그경로
# 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 D # Log directory(default : ./logs) log_dir=./logs |
4.Scouter host 설정하기
/home/wildfly/scouter/agent.host내의 scouter.conf 파일을 수정합니다.
# Scouter Server Port (Default : 6100) net_collector_udp_port=6100 net_collector_tcp_port=6100 # Log directory (Default : ./logs) log_fir=./logs |
5.Scouter java agent 설정하기
/home/wildfly/scouter/agent.java내의 scouter.conf 파일을 수정합니다.
- obj_name : scouter모니터링 화면상에서 확인할 수 있는 jvm agent 의 이름
[wildfly@k8s-worker~/scouter/agent.java/conf$]cat scouter.conf ### scouter java agent configuration sample obj_name=Wildfly net_collector_ip=172.21.70.24 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 |
standalone.conf
# # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms60m -Xmx70m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/log/wildfly/log/gc.log-"`date +%Y-%m-%d` JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS,scouter -Djava.awt.headless=true" #JAVA_OPTS=" $JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.byteman,scouter" JAVA_OPTS=" $JAVA_OPTS -Dscouter.config=/home/wildfly/scouter/agent.java/conf/scouter.conf" JAVA_OPTS=" $JAVA_OPTS -javaagent:/home/wildfly/scouter/agent.java/scouter.agent.jar" export JAVA_OPTS=" $JAVA_OPTS -Dobj_name=WildFly" else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi |
http://gunsdevlog.blogspot.com/2018/05/scouter-apm-xlog-howto.html
'④ 미들웨어 > ⓦ WildFly' 카테고리의 다른 글
[WildFly] Apache HTTPD Server 연동 가이드 (1/2) (0) | 2019.09.19 |
---|---|
[WildFly] 다양한 Shell Script (0) | 2019.09.17 |
[WildFly] 외부캐시 서버와의 연동을 통한 세션 클러스터링 테스트 (0) | 2018.10.24 |
[WildFly] database연동방식 (Thin,OCI) (0) | 2018.09.27 |
[WAS] JBoss Thread Pool (0) | 2018.09.13 |
- Total
- Today
- Yesterday
- Docker
- openstack tenant
- JBoss
- 오픈스택
- aws
- Da
- MSA
- API Gateway
- 아키텍처
- 마이크로서비스 아키텍처
- jeus
- 마이크로서비스
- k8s
- git
- JEUS7
- nodejs
- node.js
- kubernetes
- TA
- apache
- 쿠버네티스
- Architecture
- wildfly
- JEUS6
- SA
- openstack token issue
- SWA
- aa
- OpenStack
- webtob
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |