사악미소
현대마법의 공방
사악미소
전체 방문자
오늘
어제
  • 분류 전체보기
    • Document
    • JavaScript
    • jQuery
    • Spring Web
      • Spring Framework
      • Spring Boot
    • Android
      • Java Code
      • Setting
    • iOS
      • Swift Code
      • Setting
    • PHP
      • Code
      • Setting
    • AWS
    • LINUX
      • Rocky Linux
      • CentOS
    • Node.js
    • Developer Tool
    • GIT
    • MAC
    • Scraping Document
    • MariaDB
    • WYSIWYG
    • Scouter
    • Docker
    • Planning
    • 용어정리
반응형

인기 글

최근 댓글

Programmer 사악미소.
사악미소

사악미소의 현대마법의 공방

[Scouter] Collector - 수집 Server 구성하기
Scouter

[Scouter] Collector - 수집 Server 구성하기

2024. 5. 21. 10:40
728x90

Chapter#01 : [Scouter] Agent - 감시 대상 Server 구성하기

Chapter#02 : [Scouter] Collector - 수집 Server 구성하기

Chapter#03 : [Scouter] Telegram을 통한 알림 System 구축


※ 환경구성

 • Linux Server : Rocky Linux 9.4
 • Linux User Account : collector( /home/collector )
 • Java Version : Oracle JDK 1.8_0.202
 • WAS : Apache Tomcat v8.5.100


 

 

Scouter - Collector Server란?

 

Agent 서버에서 전송된 데이터를 중앙에서 수집하고 분석하는 서버

 

 


 

 

 

1. Scouter 사용을 위한 6100 방화벽 허용

 

 

① TCP( Transmission Control Protocol ) 방화벽 트래픽 허용

$ sudo firewall-cmd --zone=public --add-port=6100/tcp --permanent
success

 

 

② UDP( User Datagram Protocol ) 방화벽 트래픽 허용

$ sudo firewall-cmd --zone=public --add-port=6100/udp --permanent
success

 

 

③ 방화벽 재시작

$ sudo firewall-cmd --reload
success

 

 

 


 

 

 

2. JDK 설치 및 사용자 환경변수 편집

 

JDK 8u202 다운로드 ( https://www.oracle.com/kr/java/technologies/javase/javase8-archive-downloads.html )

 

 

다운받은 JDK를 설치할 사용자 디렉토리에 위치시킨다.

$ ls /home/collector/ -al
total 234660
drwx------. 3 collector collector      4096 May 22 18:27 .
drwxr-xr-x. 3 root      root             23 May 22 12:36 ..
-rw-r--r--. 1 collector collector        18 Jan 24  2023 .bash_logout
-rw-r--r--. 1 collector collector       141 Jan 24  2023 .bash_profile
-rw-r--r--. 1 collector collector       633 May 22 15:55 .bashrc
-rw-------. 1 collector collector     13475 May 22 18:27 .viminfo
-rw-r--r--. 1 collector collector       224 May 22 15:48 .wget-hsts
-rw-r--r--. 1 collector collector 178418154 May 22 15:50 jdk-8u202-linux-x64.rpm

 

 

 

jdk-8u202-linux-x64.rpm 파일을 실행하여 설치한다.

$ sudo rpm -ivh /home/collector/jdk-8u202-linux-x64.rpm
warning: /home/collector/jdk-8u202-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_202-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...

 

 

 

설치한 JDK를 사용자 환경설정에 변수로 등록한다.

$ vim /home/collector/.bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific environment
if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]]
then
    PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
        for rc in ~/.bashrc.d/*; do
                if [ -f "$rc" ]; then
                        . "$rc"
                fi
        done
fi

unset rc

# JDK 환경변수 설정
export JAVA_HOME=/usr/java/jdk1.8.0_202-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

 

 

 

환경 변수를 추가하고 다시 로드한다.

$ source /home/collector/.bashrc

 

 

 

JAVA 옵션이 환경변수에 제대로 등록 되었는지 확인한다.

$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

 

 


 

 

 

3. Scouter 다운로드 및 설치

 

 

wget 명령으 Scouter 다운로드 한다.

$ wget https://github.com/scouter-project/scouter/releases/download/v2.20.0/scouter-all-2.20.0.tar.gz
--2024-05-22 15:36:39--  https://github.com/scouter-project/scouter/releases/download/v2.20.0/scouter-all-2.20.0.tar.gz
Resolving github.com (github.com)... 20.200.245.247
Connecting to github.com (github.com)|20.200.245.247|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/36840131/f16e4c82-0370-474e-9a72-e13e5b8493ae?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240522%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240522T063639Z&X-Amz-Expires=300&X-Amz-Signature=f9c9e483ebe96d6ea9100b6aa1ce796ba4f92a4f75b2808d4ca8c8b4cf9da436&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=36840131&response-content-disposition=attachment%3B%20filename%3Dscouter-all-2.20.0.tar.gz&response-content-type=application%2Foctet-stream [following]
--2024-05-22 15:36:39--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/36840131/f16e4c82-0370-474e-9a72-e13e5b8493ae?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240522%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240522T063639Z&X-Amz-Expires=300&X-Amz-Signature=f9c9e483ebe96d6ea9100b6aa1ce796ba4f92a4f75b2808d4ca8c8b4cf9da436&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=36840131&response-content-disposition=attachment%3B%20filename%3Dscouter-all-2.20.0.tar.gz&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 61848487 (59M) [application/octet-stream]
Saving to: ‘scouter-all-2.20.0.tar.gz’

scouter-all-2.20.0.tar.gz                    100%[===========================================================================================>]  58.98M  10.9MB/s    in 5.5s    

2024-05-22 15:36:46 (10.8 MB/s) - ‘scouter-all-2.20.0.tar.gz’ saved [61848487/61848487]

 

 

 

다운로드한 Scouter-all-버전.tar.gz 파일의 압축을 해제한다.

$ tar xvfz /home/collector/scouter-all-2.20.0.tar.gz
$ ls /home/collector/scouter -al
total 12
drwxr-xr-x. 7 collector collector   89 May 29  2023 .
drwx------. 3 collector collector 4096 May 22 19:16 ..
drwxr-xr-x. 3 collector collector  155 May 22 15:37 agent.batch
drwxr-xr-x. 3 collector collector 4096 May 22 17:00 agent.host
drwxr-xr-x. 4 collector collector   94 May 22 15:37 agent.java
drwxr-xr-x. 6 collector collector 4096 May 22 17:34 server
drwxr-xr-x. 5 collector collector 4096 May 22 15:37 webapp

 

 

 


 

 

 

4. Collector( 수집 ) 서버 설정

 

 

1) Collector 서버의 Server 설정

$ vim /home/collector/scouter/server/conf/scouter.conf
# Server ID( Collector( 수집 ) 서버의 별칭 지정  )
server_id = scouter_service

# Agent 제어 및 Service 포트( Default : TCP 6100 )
net_tcp_listen_port = 6100

# UDP 수신 포트( Default : 6100 )
net_udp_listen_port = 6100

# DataBase 저장경로( Default : ./database )
db_dir = ./database

# Log 저장경로( Default : ./logs )
log_dir = ./logs

### 확인 및 분석 필요 항목 ###
# 저장소 자동 삭제 여부
# mgr_purge_enabled = true

# 프로퍼티 데이터를 자동으로 지우는 디스크 사용량
# mgr_purge_disk_usage_pct = 80 

# 프로퍼티 데이터를 자동으로 지워지기전 유지되는 날짜수
# mgr_purge_profile_keep_days = 10

# xlog 점 데이터가 자동으로 지워지기전 유지되는 날짜수
# mgr_purge_xlog_keep_days = 30

# 각종 카운터(선그래프값) 가 자동으로 지워지기전에 유지되는 날짜수
# mgr_purge_counter_keep_days = 70

 

 

 

2) Collector 서버의 Host 설정

$ vim /home/collector/scouter/agent.host/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

# Collector( 수집 ) 서버의 호스트 이름
# ( Agnet 서버 설정에서 지정한 Collector( 수집 ) 서버의 호스트 이름을 지정  )
obj_name = scouter_monitoring_system

# CPU 경고 임계치
cpu_warning_pct = 80

# CPU 오류 임계치
cpu_fatal_pct = 85

# CPU 감시주기( millisecond )
cpu_check_period_ms = 60000

# CPU 알림 누적 카운트
cpu_fatal_history = 3

# CPU 알림 주기
cpu_alert_interval_ms = 300000

 

 

 


 

 

5. Collector( 수집 ) 서버 실행 및 종료

 

 

① Collector( 수집 ) Server 실행

$ cd /home/collector/scouter/server/
$ sh ./startup.sh
nohup: redirecting stderr to stdout
 ____ _ 
/ ___| ___ ___ _ _| |_ ___ _ __
\___ \ / __/ \| | | | __/ _ \ '__|
___) | (_| (+) | |_| | || __/ | 
|____/ \___\___/ \__,_|\__\___|_| 
Open Source S/W Performance Monitoring 
Scouter version 2.20.0

 

 

Scouter가 실행 여부는 아래 명령을 통해 좀더 자세히 확인 할 수 있다.

$ ps ax | grep java
   1398 ?        Sl     1:30 java -Xmx1024m -classpath ./scouter-server-boot.jar scouter.boot.Boot ./lib
   1954 pts/0    S+     0:00 grep --color=auto java

 

Scouter Java Application( scouter-server-boot.jar ) 이 실행중이다.

 

 

 

② Collector( 수집 ) Server 종료

$ cd /home/collector/scouter/server/
$ sh ./stop.sh

 

 

 


 

 

 

6. Client  환경에서 Monitoring 시스템 사용

 

 

Scouter를 서비스하는 GitHub( https://github.com/scouter-project/scouter/releases )에 접속하여

 

Client 모니터링 실행 프로그램을 다운로드 받는다.

 

해당 포스팅에서는 Scouter v2.20.0( https://github.com/scouter-project/scouter/releases/tag/v2.20.0 )을 이용한다.

 

 

 

Scouter v2.20.0 버전의 Clinet 프로그램을 실행하기위해서는 JVM 11이 권장된다.

Version 1.8.0_411 of the JVM is not suitable for this product Version: 11 or greater is required.
JVM 버전 1.8.0_411은 이 제품에 적합하지 않습니다. 버전 11 이상이 필요합니다.

 

 

scouter.ini 파일을 TextEditor로 열고 아래와 같이 편집하여 준다.

-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.400.v20211117-0650
-data
@user.home/scouter

# JVM 경로 지정
-vm
C:\Program Files\Java\jdk-11\bin\javaw.exe

# JVM 설정 시작
-vmargs
-Xms128m
-Xmx1024m
-XX:+UseG1GC
-Dosgi.requiredJavaVersion=11

 

위와 같이 JVM 경로를 지정하여 준다.

 

 

 

이제 scouter.exe 파일을 실행하여 준다.

Server Address Collector 서버 IP 주소
ID admin
Password admin

 

 

최초 실행시 계정은 ID : admin / PW : admin으로 설정되어 있다.

 

 

 

 

실행되면 제일먼저 상단 메뉴에서 Window > Preferences를 선택하여 Preferences 설정 창을 오픈한다.

default 'Host' host ( 기본설정 : linux )
default 'JavaEE' tomcat

 

위와 같이 설정을 변경하여 준다.

 

 

Scouter 모니터링 클라이언트 프로그램이 정상적으로 실행되면 아래와 같은 형태로 나타날 것이다.

 

 

 

정상적으로 실행되는 것이 확인 되었다면

 

상단 메뉴에서 Collector > Management > Account > Add Accout 를 클릭한다.

 

 

 

Edit Account 팝업창을 실행하고

 

아래와 같이 admin 계정에 대한 비밀번호를 변경하여 준다.

 

 

 

그럼 위와같이 Scouter를 이용한 Monitoring 시스템의 운영을 위한 최소한의 준비가 마무리 되었다.

 

 

 

 

 

728x90

'Scouter' 카테고리의 다른 글

[Scouter] Telegram을 통한 Alert 시스템 구축  (0) 2024.05.22
[Scouter] Agent - 감시 대상 서버 설정  (0) 2024.05.19
    'Scouter' 카테고리의 다른 글
    • [Scouter] Telegram을 통한 Alert 시스템 구축
    • [Scouter] Agent - 감시 대상 서버 설정
    사악미소
    사악미소

    티스토리툴바