Purpose
Collector서버로 데이터를 전송하기 위해 모니터링이 필요한 서버와 애플리케이션에 아래 내용의 Agent를 설치한다.
Host Agent: OS의 CPU, Memory, Disk 등의 성능 정보 전송
Java Agent: 실시간 서비스 성능 정보, Heap Memory, Thread 등 Java 성능 정보
1. Install JDK 1.8 or higher
1.1 Install openjdk
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
1.2 Find java location
## 실제 경로 찾기
root@ajtv005 [~]readlink -f /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64/jre/bin/java
1.3 Set JAVA_HOME, PATH, CLASSPATH
## vim /etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
##
root@ajtv005 [~]source /etc/profile
1.4 Java test
## vim javatest.java
public class javatest{
public static void main(String[] args){
System.out.println("Hello World!!");
}
}
## 컴파일
root@ajtv005 [~/scripts]javac javatest.java
root@ajtv005 [~/scripts]java -cp . javatest
Hello World!!
2. Install host agent
Scouter Download link
Releases · scouter-project/scouter
2.1 Install host agent
wget https://github.com/scouter-project/scouter/releases/download/v2.10.2/scouter-all-2.10.2.tar.gz
root@ajtv006 [~/workspace/scouter/scouter/agent.host]tar xvf scouter-all-2.10.2.tar.gz
2.2 Edit host agent config
root@ajtv006 [~/workspace/scouter/scouter/agent.host/conf]cat scouter.conf
root@ajtv006 [~/workspace/scouter/scouter/agent.host/conf]cat 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=myFirstTomcat1
cpu_alert_enabled=true
cpu_warning_pct=90
cpu_fatal_pct=95
cpu_check_period_ms=180000
cpu_warning_history=30
cpu_fatal_history=30
## do not send same alert in time
#cpu_alert_interval_ms=300000
disk_alert_enabled=true
disk_warning_pct=80
disk_fatal_pct=90
mem_alert_enabled=true
mem_warning_pct=80
mem_fatal_pct=90
전체 옵션 및 default 값은 scouter client의 Object > Configure 메뉴에서 확인이 가능하다.
2.3 Start host agent
root@ajtv006 [~/workspace/scouter/scouter/agent.host]./host.sh
nohup: redirecting stderr to stdout
____ _
/ ___| ___ ___ _ _| |_ ___ _ __
\___ \ / __/ \| | | | __/ _ \ '__|
___) | (_| (+) | |_| | || __/ |
|____/ \___\___/ \__,_|\__\___|_|
Open Source S/W Performance Monitoring
Scouter version 2.10.2
Configure -Dscouter.config=./conf/scouter.conf
Scouter Host Agent Version 2.10.2 2020-12-19 01:45 GMT
System JRE version : 1.8.0_275
3. Install java agent
3.1 Edit java agent config
scouter/agent.java/conf/scouter.conf
### scouter java agent configuration sample
obj_name=tomcat-1531
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
여러 개의 WAS를 모니터링할 경우 scouter.conf를 WAS에 맞게 여러 개 작성한다.
3.1 Start tomcat with scouter agent
was 기동 시키는 계정 권한 주의
catalina.bat 에서 setenv.bat 찾아 확인하고
call 부분에 setenv.bat 없다면 새로 생성
rem Get standard environment variables
if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome
call "%CATALINA_BASE%\bin\setenv.bat"
tomcat/bin/setenv.bat
set "JAVA_OPTS=%JAVA_OPTS% -javaagent:C:\work\scouter\agent.java\scouter.agent.jar"
set "JAVA_OPTS=%JAVA_OPTS% -Dscouter.config=C:\work\scouter\agent.java\conf\scouter.conf"
/bin/start.bat
# start tomcat
startup.bat
3.2 Start Wildfly with Scouter agent
was 기동 시키는 계정 권한 주의
Scouter 기동 시키는 두 가지 방법
3.2.1 Edit $JBOSS_HOME/bin/standalone.conf
JAVA_OPTS=" ${JAVA_OPTS} -javaagent:${SCOUTER_AGENT_DIR}/scouter.agent.jar"
JAVA_OPTS=" ${JAVA_OPTS} -Dscouter.config=${SCOUTER_AGENT_DIR}/conf/scouter1.conf"
JAVA_OPTS=" ${JAVA_OPTS} -Dobj_name=myFirstTomcat1"
JAVA_OPTS=" ${JAVA_OPTS} -javaagent:/home/asmanager/scouter/agent.java/scouter.agent.jar"
JAVA_OPTS=" ${JAVA_OPTS} -Dscouter.config=/home/asmanager/scouter/agent.java/conf/scouter.conf"
JAVA_OPTS=" ${JAVA_OPTS} -Dobj_name=wildfly-1531"
WAS가 여러 개 뜨는 경우 -Dscouter.config를 각각 작성하여 기동시 킨다.
3.2.2 Edit $servername/bin/env.sh
SCOUTER_CONFIG=/home/asmanager/scouter/agent.java/conf/$NODE_NAME.conf
### scouter
JAVA_OPTS="$JAVA_OPTS -javaagent:/home/asmanager/scouter/agent.java/scouter.agent.jar"
JAVA_OPTS="$JAVA_OPTS -Dscouter.config=$SCOUTER_CONFIG"
3.3 Start Embedded tomcat with scouter agent
java -javaagent:scouter/scouter.agent.jar -Dscouter.config=scouter/scouter.conf -jar app.war -Dspring.profiles.active=%DEPLOY_MODE% -Dmaven.test.skip=true -Xms128m -Xmx2048m -XX:+UseG1GC
'Observability > Scouter' 카테고리의 다른 글
[Scouter]Scouter로 애플리케이션 모니터링하는 방법 (0) | 2022.05.03 |
---|---|
[Scouter]What are Heap Memory and Garbage Collection(GC) (0) | 2022.05.03 |
[Scouter]기본 사용법과 필수 그래프 목록 (0) | 2022.05.03 |
[Scouter]Scouter로 서버 모니터링하기 (0) | 2022.05.03 |
[Scouter]Install Scouter Server(collector) and client (4) | 2022.05.02 |