티스토리 뷰
APM = Application Performance Management
스카우터 프로젝트 깃헙 : https://github.com/scouter-project/scouter/releases
1. 스카우터 수집 서버(Collector Server)
- OS : CentOS Linux release 7.9.2009 (Core) 64Bit
- CPU : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz / 4Core
- RAM : 16GB
- DISK : 2Tbyte
- JDK : openjdk 11.0.2 64Bit
- Scouter : v2.17.1
- IP : 192.168.0.1
2. 스카우터 모니터링 대상 서버
- OS : CentOS Linux release 7.9.2009 (Core) 64Bit
- CPU : Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz / 20Core
- RAM : 64GB
- DISK : 1Tbyte
- JDK : openjdk 1.8.0 64Bit
- Scouter : v2.17.1
- IP : 192.168.0.2
3. 스카우터 패키지의 내용물
이 문서에서는 위의 그림에서 scouter-all-2.17.1.tar.gz 파일을 기준으로 수집서버, 호스트, 에이전트의 설치를 진행할 것이다.
* 참고 : scouter.client.product-<OS NAME>.x86_64.tar.gz 패키지의 경우 스카우터 GUI 클라이언트.
tar.gz 으로 압축된 파일을 풀어 보면, 위의 그림과 같이 여러 디렉토리가 보일 것이다.
이 문서에서는 agent.host, agent.java. server 만 사용 할 것 이다.
agent.batch | 무엇인지 모름 |
agent.host | 모니터링 대상 서버의 리소스(CPU, RAM, DISK) 사용 관련 내용을 수집 서버에 전송 하는 에이전트 |
agent.java | java 로 작성된 프로그램의 사용량 관련된 내용을 수집 서버에 전송 하는 에이전트. 이 문서에서는 tomcat 을 모니터링 하기 위해 사용 할 것이다. |
agent.java_6_7 | java 1.6 ~ 1.7 로 작성된 프로그램의 사용량 관련된 내용을 수집 서버에 전송 하는 에이전트 로 보인다. |
server | Scouter 수집 서버 |
webapp | 무엇인지 모름 |
자세한 사항은 스카우터 깃헙 페이지에서 정보를 얻을 수 있다.
수집 서버에는 server 와 agent.host 를 설치 한다.
모니터링 대상 서버에는 agent.host, agent.java 를 설치 한다.
4. 스카우터 수집 서버(Collector Server) 에 설치 및 설정 할 것 들
4-1. openjdk 설치
scouter@freecatz-mon:~$ whoami
scouter
scouter@freecatz-mon:~$ pwd
/home/scouter
scouter@freecatz-mon:~$ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
... 불필요한 내용이라 중략 ...
scouter@freecatz-mon:~$ ls
openjdk-11.0.2_linux-x64_bin.tar.gz
scouter@freecatz-mon:~$ tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
scouter@freecatz-mon:~$ rm -rf openjdk-11.0.2_linux-x64_bin.tar.gz
scouter@freecatz-mon:~$ ls
jdk-11.0.2
scouter@freecatz-mon:~$ mv jdk-11.0.2 openjdk-11.0.2
scouter@freecatz-mon:~$ vi ~/.bash_profile
... 중략 ... export JAVA_HOME='~/openjdk-11.0.2' PATH=$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin export PATH |
scouter@freecatz-mon:~$ source ~/.bash_profile
scouter@freecatz-mon:~$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
4-2. 스카우터 수집 서버 설치
scouter@freecatz-mon:~$ wget https://github.com/scouter-project/scouter/releases/download/v2.17.1/scouter-all-2.17.1.tar.gz
scouter@freecatz-mon:~$ ls
openjdk-11.0.2 scouter-all-2.17.1.tar.gz
scouter@freecatz-mon:~$ tar zxf scouter-all-2.17.1.tar.gz
scouter@freecatz-mon:~$ rm -rf scouter-all-2.17.1.tar.gz
scouter@freecatz-mon:~$ mv scouter scouter-2.17.1
scouter@freecatz-mon:~$ cd scouter-2.17.1
scouter@freecatz-web:~$ vi ./conf/scouter.conf
#Server ID server_id=Scouter-Collector-Server # 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 |
* 참고 : 수집 서버의 설정은 대부분 기본값으로 설정 되어 있어 scouter.conf 파일에 기재 되어 있지 않아도 구동 시키는데 문제는 없다고 한다.
scouter@freecatz-mon:~$ ./startup.sh
nohup: redirecting stderr to stdout
____ _
/ ___| ___ ___ _ _| |_ ___ _ __
\___ \ / __/ \| | | | __/ _ \ '__|
___) | (_| (+) | |_| | || __/ |
|____/ \___\___/ \__,_|\__\___|_|
Open Source S/W Performance Monitoring
Scouter version 2.17.1
scouter@freecatz-mon:~$
이렇게 해서 수집 서버의 설치 및 설정은 끝났다.
4-3. 스카우터 수집 서버 자원 모니터링
수집 서버의 경우에도 리소스를 모니터링 해야할 필요가 있다. 그러기 위해서는 수집 서버에도 agent.host 를 실행 하면 된다. 이전에 다운로드 받았던 scouter-all-2.17.1.tar.gz 패키지안에 모두 들어 있다.
scouter@freecatz-mon:~$ pwd
/home/scouter/scouter-2.17.1
scouter@freecatz-mon:~$ ls
agent.batch agent.host agent.java agent.java_6_7 server webapp
scouter@freecatz-mon:~$ cd agent.host
scouter@freecatz-mon:~$ vi conf/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 obj_name=Scouter-Server-Host |
대부분 기본값을 그대로 주석 해제만 하였고, obj_name을 추가적으로 설정 하였다.
scouter@freecatz-mon:~$ ./host.sh
nohup: redirecting stderr to stdout
____ _
/ ___| ___ ___ _ _| |_ ___ _ __
\___ \ / __/ \| | | | __/ _ \ '__|
___) | (_| (+) | |_| | || __/ |
|____/ \___\___/ \__,_|\__\___|_|
Open Source S/W Performance Monitoring
Scouter version 2.17.1
Configure -Dscouter.config=./conf/scouter.conf
Scouter Host Agent Version 2.17.1 2022-03-27 04:35 GMT
scouter@freecatz-mon:~$
간단히 보면, 수집 서버에 agent.host 를 실행 한 것이다. 다른 모니터링 대상의 서버에도 agent.host , agent.java 의 설정 후 실행 하면 되는 간단한 구조로 보인다.
5. 중간 점검 : 스카우터 수집 서버에 실행한 agent.host 확인
이제 scouter GUI client 를 다운로드 받아야 한다. 스카우터 깃헙 페이지에서 자신의 운영체제에 맞는 패키지를 내려 받아 압축 해제 하고 실행 하면 된다.
서버의 주소는 '스카우터 수집 서버' 의 아이피를 입력 한다.
초기 아이디는 admin , 비밀번호는 admin 이로 되어 있으며, 로그인 후 변경이 가능 하다고 한다.
초기 아이디와 비밀번호를 입력 하고 "OK" 버튼을 누르면...
agent.host 에서 스카우터 수집 서버로 보내온 자료들이 보인다. 시스템 사용률이 낮아 그래프가 심심해 보여, stress 명령어를 이용 하여 부하를 조금 만들어 모니터링 하였다.
6.스카우터 모니터링 대상 서버 에 설치 및 설정 할 것 들
회사에서 운영중인 톰켓 서버와 호스트 시스템 리소스를 모니터링 하기 위해 agent.host , agent.java 의 설치 및 설정을 할 것이다. agent.host 는 이전 단계에서 수집 서버에서 설정한 것과 동일 하고, 수집 서버의 IP로만 바꾸어 주면 된다.
agent.java 의 경우 운영중인 톰켓 서버의 catalina.sh 파일에 JAVA_OPTS 에 agent를 추가 하면 되는 비교적 간단 심플한 설정이다.
6.1 톰켓 관련 설정
www@freecatz-web:~$ vi /home/www/scouter-2.17.1/agent.java/conf/scouter.conf
net_collector_ip=192.168.0.1 net_collector_udp_port=6100 net_collector_tcp_port=6100 trace_http_client_ip_header_key=X-Forwarded-For obj_host_name=HOST-Scouter-Collector-Server obj_name=TOMCAT7-freecatz.pe.kr |
www@freecatz-web:~$ apache-tomcat-7.0.100/bin/shutdown.sh
www@freecatz-web:~$ vi ~/apache-tomcat-7.0.100/bin/catalina.sh
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=development -Xms1024m -Xmx8192m -javaagent:/home/www/scouter-2.17.1/agent.java/scouter-agent-java-2.17.1.jar -Dscouter.config=/home/www/scouter-2.17.1/agent.java/conf/scouter.conf" |
www@freecatz-web:~$ ~/apache-tomcat-7.0.100/bin/startup.sh
Using CATALINA_BASE: /home/www/apache-tomcat-7.0.100
Using CATALINA_HOME: /home/www/apache-tomcat-7.0.100
Using CATALINA_TMPDIR: /home/www/apache-tomcat-7.0.100/temp
Using JRE_HOME: /home/www/jdk1.8.0_333
Using CLASSPATH: /home/www/apache-tomcat-7.0.100/bin/bootstrap.jar:/home/www/apache-tomcat-7.0.100/bin/tomcat-juli.jar
www@freecatz-web:~$ ps -ef | grep -i tomcat | grep -v grep
www 27885 1 99 10:53 pts/0 00:01:30 /home/www/jdk1.8.0_333/bin/java -Djava.util.logging.config.file=/home/www/apache-tomcat-7.0.100/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dspring.profiles.active=test -Xms512m -Xmx8192m -javaagent:/home/www/scouter-2.17.1/agent.java/scouter-agent-java-2.17.1.jar -Dscouter.config=/home/www/scouter-2.17.1/agent.java/conf/scouter.conf -Djava.endorsed.dirs=/home/www/apache-tomcat-7.0.100/endorsed -classpath /home/www/apache-tomcat-7.0.100/bin/bootstrap.jar:/home/www/apache-tomcat-7.0.100/bin/tomcat-juli.jar -Dcatalina.base=/home/www/apache-tomcat-7.0.100 -Dcatalina.home=/home/www/apache-tomcat-7.0.100 -Djava.io.tmpdir=/home/www/apache-tomcat-7.0.100/temp org.apache.catalina.startup.Bootstrap start
www@freecatz-web:~$
6.2 스프링 부트 관련 설정
agent@freecatz-web:~$ vi /home/agent/scouter-2.17.1/agent.java/conf/file_sync_agent.conf
net_collector_ip=192.168.0.1 net_collector_udp_port=6100 net_collector_tcp_port=6100 trace_http_client_ip_header_key=X-Forwarded-For obj_host_name=HOST-Scouter-Collector-Server obj_name=AGENT-file_sync_agent |
agent@freecatz-web:~$ java -javaagent:/home/agent/scouter-2.17.1/agent.java/scouter.agent.jar -Dscouter.config=/home/agent/scouter-2.17.1/agent.java/conf/file_sync_agent.conf -jar /home/agent/file_sync_agent.jar
agent@freecatz-web:~$ ps -ef | grep -i scouter | grep -v grep
agent 25952 1 1 Oct18 ? 00:12:24 java -javaagent:/home/agent/scouter-2.17.1/agent.java/scouter.agent.jar -Dscouter.config=/home/agent/scouter-2.17.1/agent.java/conf/file_sync_agent.conf -jar /home/agent/file_sync_agent.jar
agent@freecatz-web:~$
* 참고 : 스프링 부트로 작성된 애플리케이션에 스카우트를 적용 하기 위해서는 -jar 옵션 이전에 스카우트 관련 옵션을 넣어 주도록 한다.
- Total
- Today
- Yesterday
- Android
- Review
- devtools
- dart
- food
- json parse
- HTTP
- gpkiapi
- kotlin
- samba
- web
- Flutter
- 맛집
- Mobile
- Security
- Linux
- Spring
- TIP
- springboot
- MySQL
- SSL
- Compile
- devel
- place
- 엘리스센터
- Java
- development
- Fun
- ssh
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |