Server Agent Guide

제목 : Server Agent Guide
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2019-04-12
버전 : 1.0.1

설명 : 본 문서는 WhaTap Server Monitoring 에이전트에 대해 설명합니다.

서버 모니터링의 전반적인 사용은 서버 모니터링 서비스 사용자가이드를 확인 해 주세요.

1. 개요

1.1. 지원 환경

X86 기반에서 동작하는 Linux, Windows, FreeBSD 에 적용 할 수 있습니다.
지원 리스트에 포함되지 않는 환경이라면 support@whatap.io 로 별도 문의 주시기를 부탁 드립니다.

Table 1. 제품 지원 환경
제품 환경 지원 환경

서버 모니터링 Agent

Windows

Windows 2008R2 이상

Linux

Debian 7.0 이상
Ubuntu 12.04 이상
Centos, Readhat 6.0 이상
Amazon Linux 1.0 이상
SUSE 12.1 이상

FreeBSD

FreeBSD 10 이상

1.2. 구성 파일

Table 2. 공통
파일명 설명

ChangeLog.txt

에이전트 변경 내역

whatap.conf

서버의 데이터를 수집할 서버의 주소와 서버의 프로젝트 라이센스 키가 입력되는 파일

Table 3. Linux / FreeBSD
파일명 설명

whatap_infrad

데이터 수집 및 전송용 에이전트

whatap_infrad.pid

실행 중인 에이전트의 PID 값을 기록한 파일

VERSION

현재 설치된 에이전트의 버전이 기록된 파일

Table 4. Windows
파일명 설명

whatap_infra.exe

데이터 수집 및 전송용 에이전트

unins000.*

에이전트 삭제 파일

whatap.ico

와탭 인프라의 아이콘 이미지

1.3. 에이전트 이름 식별

와탭은 모니터링 정보 수집 대상인 인프라 서버 식별을 위해 기본적으로 서버로부터 수집한 정보를 활용합니다. 기본값은 서버의 호스트명(hostname)입니다.

default

hostname

사용자 친화적인 이름을 지정할 경우 아래와 같이 설정파일에 지정가능합니다.

Linux Shell
export WHATAP_SERVER_NAME=사용자 친화적인 이름

echo "oname=$WHATAP_SERVER_NAME" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Windows Power Shell 관리자 권한 필요
$WHATAP_SERVER_NAME="사용자 친화적인 이름"

Add-Content "C:\Program Files\WhatapInfra\whatap.conf" "oname=$WHATAP_SERVER_NAME"

2. 설치

와탭 서버 모니터링 에이전트 설치 가이드

와탭 서버 모니터링 서비스는 다수의 서버를 프로젝트로 그룹화 하여 관리합니다.

Screenshot 2020 12 14 server 14861   Server Monitoring4

2.1. 설치 절차

2.1.1. 프로젝트 생성

와탭 콘솔에서 프로젝트 생성 버튼을 누릅니다.

Screenshot 2020 12 04 Cloud Monitoring

Server 아이콘 선택 후 각 입력란에 해당하는 정보를 입력하고 저장 버튼을 눌러 프로젝트를 추가합니다.

Screenshot 2020 12 14 Cloud Monitoring1

2.1.2. 라이센스 발급

Screenshot 2020 12 03 test 14737   Application Monitoring1
Figure 1. 라이센스 발급 받기

프로젝트 관리화면에서는 우선적으로 라이선스를 발급 받습니다. 라이센스 키는 프로젝트별로 귀속되기 때문에, 유출되거나 배포되어서는 안됩니다. 반드시 본인 프로젝트에 서버를 등록할 때에만 이용하시기 바랍니다.

2.1.3. 방화벽 확인

와탭 수집 서버로 Outbound 전송이 필요하며 설치 안내 상단의 Target IP, PORT를 확인합니다. 아래와 같이 표시됩니다.

WhaTap Server xxx.xxx.xxx.xxx로 데이터 전송을 위해 xxxx 포트가 열려 있어야 합니다. (Tcp Outbound)

  • source

    • ip : 사용자 서버 IP

    • port : any

  • target

    • ip : 와탭 수집 서버 IP

    • port : 와탭 수집 서버 PORT

아래와 같이 접속여부를 확인 할 수 있습니다.

Debian / Ubuntu
nc -vz {와탭 수집 서버 IP} {와탭 수집 서버 PORT}
Connection to {와탭 수집 서버 IP} {와탭 수집 서버 PORT} port [tcp/*] succeeded!

2.1.4. Linux / FreeBSD 에이전트 설치

패키지 저장소(Repository) 추가
Screenshot 2020 12 14 server 14861   Server Monitoring2

에이전트 설치 페이지에서 상위에 위치한 OS탭에서 서버 OS와 동일한 탭을 클릭합니다.

설치 페이지에 존재하는 “와탭 저장소(Repository)를 추가합니다.” 항목 설명에 따라 설치하고자 하는 서버에 입력합니다.

Debian / Ubuntu
wget http://repo.whatap.io/debian/release.gpg -O -|sudo apt-key add -
wget http://repo.whatap.io/debian/whatap-repo_1.0_all.deb
sudo dpkg -i whatap-repo_1.0_all.deb
sudo apt-get update
CentOS
sudo rpm --import http://repo.whatap.io/centos/release.gpg
sudo rpm -Uvh http://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm
Amazon Linux
sudo rpm --import http://repo.whatap.io/centos/release.gpg
echo "[whatap]" | sudo tee /etc/yum.repos.d/whatap.repo > /dev/null
echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "baseurl=http://repo.whatap.io/centos/latest/\$basearch" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "enabled=1" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "gpgcheck=0" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
SUSE
sudo rpm --import http://repo.whatap.io/suse/release.gpg
echo "[whatap]" | sudo tee /etc/zypp/repos.d/whatap.repo > /dev/null
echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "baseurl=http://repo.whatap.io/suse/12/x86_64" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "enabled=1" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "gpgcheck=1" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
sudo zypper refresh
FreeBSD
wget http://repo.whatap.io/freebsd/10/whatap-infra.txz
XenServer
sudo rpm --import http://repo.whatap.io/centos/release.gpg
sudo rpm -Uvh http://repo.whatap.io/centos/python/5/noarch/whatap-repo-1.0-1.noarch.rpm
에이전트 설치

설치 페이지에 존재하는 “서버 모니터 패키지를 설치하십시오.” 항목 설명에 따라 설치하고자 하는 서버에 입력합니다.

Debian / Ubuntu
sudo apt-get install whatap-infra
CentOS / Amazon Linux / XenServer
sudo yum install whatap-infra
SUSE
sudo zypper install whatap-infra
FreeBSD
pkg install whatap-infra.txz
라이센스 등록

설치 페이지에 존재하는 “설정 스크립트를 실행하여 서버 모니터 데몬을 시작하십시오.” 밑에 있는 박스를 클릭하여 라이선스를 발급받습니다. 이후 생성되는 명령어를 copy 버튼을 눌러 복사하거나 아래의 명령어에 라이선스키와 서버 IP를 추가하여 설치하고자 하는 서버에 입력합니다.

echo "license=[발급된 라이선스키]" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host=[할당된 와탭 서버 IP]" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
  • 설치 페이지에서 발급받은 명령어에는 라이센스 키와 IP가 포함 되어 있습니다.

  • 에이전트 → 수집서버로 TCP 6600 포트 접근이 가능해야 합니다. (TCP 아웃바운드)

에이전트 정상 작동 확인

에이전트가 정상적으로 설치된경우 아래와 같은 로그 출력을 확인하실 수 있습니다. connected 문구가 표시되지 않는 경우 접속 실패로 방화벽 설정을 포함하여 네트워크 설정을 확인 해야 합니다.
네트워크 설정이 반영되면 에이전트는 자동 접속됩니다.

Debian / Ubuntu / SUSE
tail -10 /var/log/syslog
...

Apr  8 16:28:08 localhost systemd[1]: Started LSB: Start whatap-infra daemon.
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 Config file :  /usr/whatap/infra/conf/whatap.conf
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 OID: 1193741647 ONAME: localhost
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 connected to  {whatap ip}:{whatap port}
CentOS / Amazon Linux / FreeBSD
tail -10 /var/log/messages
...

Apr  8 16:28:08 localhost systemd[1]: Started LSB: Start whatap-infra daemon.
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 Config file :  /usr/whatap/infra/conf/whatap.conf
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 OID: 1193741647 ONAME: localhost
Apr  8 16:28:08 localhost whatap_infrad[32468]: 2019/04/08 16:28:08 connected to  {whatap ip}:{whatap port}

2.1.5. Windows 에이전트 설치

에이전트 설치 페이지 상단에 위치한 OS 탭에서 Windows를 클릭합니다. 이후 Whatap_infra.exe 를 클릭하여 설치파일을 다운로드 합니다.

Screenshot 2020 12 14 server 14861   Server Monitoring3
  • 보안상 .exe 형식의 파일이 받아지지 않는 사용자를 위하여 .zip 형식의 파일도 제공됩니다.

  • 보안을 위해 브라우저를 통한 직접 설치보단 다운로드 받은 파일 실행을 권장합니다.

에이전트 파일 업로드

다운로드 받은 서버 모니터링 에이전트 설치파일을 설치하고자 하는 서버에 접속하여 업로드 합니다.

에이전트 설치

서버에서 업로드 받은 서버 모니터링 에이전트 설치파일을 실행합니다.

실행 시 다음과 같은 화면을 볼 수 있습니다. 입력란에 발급받은 라이센스 키와 IP를 입력하고 진행합니다.

1230

정상적으로 설치가 완료된 경우 다음과 같은 화면을 볼 수 있으며, 에이전트가 자동적으로 모니터링을 시작합니다. 완료 버튼을 눌러 설치를 완료합니다.

1240
  • 데이터 전송을 위하여 6600 PORT가 열려 있어야 합니다. (TCP 아웃바운드)

2.1.6. 노트북에 설치

노트북과 같이 서버 컴퓨터가 아닌 개인용 컴퓨터 및 아이피가 변하는 wifi를 사용하는 환경에서는 아래 옵션을 적용하면 IP 가 변경될때마다 자동으로 재등록되지 않아 편리하게 사용할 수 있습니다.

Linux
echo "ipreg=false" | sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
Windows 관리자 권한 파워쉘에서 아래 명령을 실행
Add-Content "c:\Program Files\WhatapInfra\whatap.conf" "ipreg=false"
Restart-Service "Whatap Infra"

2.1.7. Elastic Beanstalk에 설치

linux설치 환경에 따라 아래내용을 Elastic Beanstalk 설치 스크립트에 추가합니다.

whatap.server.hostlicense 는 사용자에 맞게 입력합니다.

Debian/Ubuntu
wget http://repo.whatap.io/debian/release.gpg -O -|sudo apt-key add -
wget http://repo.whatap.io/debian/whatap-repo_1.0_all.deb
sudo dpkg -i whatap-repo_1.0_all.deb
sudo apt-get update
sudo apt-get install whatap-infra
echo "license={LICENSE_INFO}" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
CentOS
sudo rpm --import http://repo.whatap.io/centos/release.gpg
sudo rpm -Uvh http://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm
sudo yum install whatap-infra
echo "license={LICENSE_INFO}" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
Amazon Linux
sudo rpm --import http://repo.whatap.io/centos/release.gpg
echo "[whatap]" | sudo tee /etc/yum.repos.d/whatap.repo > /dev/null
echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "baseurl=http://repo.whatap.io/centos/latest/\$basearch" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "enabled=1" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
echo "gpgcheck=0" | sudo tee -a /etc/yum.repos.d/whatap.repo > /dev/null
sudo yum install whatap-infra
echo "license={LICENSE_INFO}" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=date +%s%N" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
SUSE
sudo rpm --import http://repo.whatap.io/suse/release.gpg
echo "[whatap]" | sudo tee /etc/zypp/repos.d/whatap.repo > /dev/null
echo "name=whatap packages for enterprise linux" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "baseurl=http://repo.whatap.io/suse/12/x86_64" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "enabled=1" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
echo "gpgcheck=1" | sudo tee -a /etc/zypp/repos.d/whatap.repo > /dev/null
sudo zypper refresh
sudo zypper install whatap-infra
echo "license={LICENSE_INFO}" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo /etc/init.d/whatap-infra restart
FreeBSD
wget http://repo.whatap.io/freebsd/10/whatap-infra.txz
pkg install whatap-infra.txz
echo "license={LICENSE_INFO}" |tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |tee -a /usr/whatap/infra/conf/whatap.conf
service whatap_infra restart
XenServer
sudo rpm --import http://repo.whatap.io/centos/release.gpg
sudo rpm -Uvh http://repo.whatap.io/centos/python/5/noarch/whatap-repo-1.0-1.noarch.rpm
sudo yum install whatap-infra
echo "license={LICENSE_INFO}" |sudo tee /usr/whatap/infra/conf/whatap.conf
echo "whatap.server.host={HOST_IP}" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
echo "createdtime=`date +%s%N`" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap_infra restart

위와 같이 설치하면 서버 모니터링을 빈스톡에 포함하여 어플리케이션 배포시 서버 모니터링 신규목록이 계속하여 생성되는 현상이 발생할 수 있습니다.
이는 와탭 에이전트 내부 아이디가 아래 명령이 실행될때마다 새로 발급되어서 발생하는 현상입니다.

echo "createdtime=date +%s%N" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

위 명령을 아래와 같이 수정하시면 추후 배포시 1회 신규목록이 발생 후 더이상 배포시 신규목록은 발생하지 않습니다

echo "createdtime=12345678" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

3. 에이전트 업데이트

설치된 에이전트를 최신 버전으로 업데이트 하고자 하는 경우 아래 명령어를 실행하십시오.

3.1. Linux / FreeBSD

Debian / Ubuntu
sudo apt-get update
sudo apt-get install whatap-infra
sudo service whatap-infra restart

특정 버전을 설치하기 위해서는 설치 시 버전 정보를 명시해 줍니다.

sudo apt-get install whatap-infra=<version>
CentOS / Amazon Linux / SUSE / XenServer
sudo yum update whatap-infra
sudo service whatap-infra restart

특정 버전을 설치하기 위해서는 설치 시 버전 정보를 명시해 줍니다.

sudo yum install whatap-infra-<version>
FreeBSD
wget http://repo.whatap.io/freebsd/10/whatap-infra.txz
pkg install whatap-infra.txz
NOTE

이전 버전으로 설치하기 위해서는 별도 문의 필요

3.2. Windows

신규 버전으로 설치과정을 다시 수행합니다.
제거 과정은 불필요 합니다.

4. 에이전트 삭제

설치된 에이전트를 삭제 하고자 하는 경우 아래 명령어를 실행하십시오.

4.1. Linux / FreeBSD

Debian / Ubuntu
sudo apt-get remove whatap-infra
CentOS / Amazon Linux / SUSE / XenServer
sudo yum remove whatap-infra
FreeBSD
pkg delete whatap-infra

4.2. Windows

서버 모니터링 에이전트 삭제명령을 관리자 권한의 command 창에서 실행합니다. 제어판의 프로그램 삭제 기능을 사용하실수도 있습니다.

Windows
"C:\Program Files\WhatapInfra\unins000.exe"

5. 원격 파일 뷰어 설정

와탭 웹에서 사용자 서버의 사용자가 지정한 임의의 텍스트 파일의 내용을 볼 수 있습니다.

5.1. 설정방법

와탭 서버 모니터링 설정파일에 웹에서 조회할 텍스트 파일을 추가합니다.

아래 명령으로 조회할 텍스트 파일을 추가 하실 수 있습니다.

Linux Shell
echo "webview.allow.`date +%s%N`=조회할 파일의 전체 경로" | sudo tee -a /usr/whatap/infra/conf/whatap.conf
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "webview.allow.$(Get-Date -uformat %s)=조회할 파일의 전체 경로"

6. 윈도우 성능 카운터 설정

임의의 윈도우 성능 카운터를 수집 할 수 있습니다.

6.1. 설정방법

와탭 서버 모니터링 설정파일에 성능카운터 세트 이름을 추가합니다.

아래 명령으로 성능카운터 세트 이름을 조회할 수 있습니다.

Windows Powershell
Get-Counter -ListSet *

아래 명령으로 설정파일에 성능카운터 세트를 추가할 수 있습니다.

Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "performance.counter.$(Get-Date -uformat %s)=조회할 성능 카운터 세트 이름"

추가한 성능 카운터는 분석 메뉴 하단 메트릭 챠트 및 메트릭 조회메뉴에서 카테고리 performance_counter_{성능카운터 세트 이름} 으로 조회할 수 있습니다.

7. Win32 API 를 사용하여 성능 지수 수집

CPU/MEMORY/DISK/TRAFFIC/PROCESS 성능 정보 수집시 Win32 API를 사용합니다. 윈도우 성능카운터가 꺼져있거나 사용 불가능한 환경에서 성능수집시 사용할 수 있습니다.

7.1. 설정방법

와탭 서버 모니터링 설정파일에 native_api.enabled=true 옵션을 추가합니다.

파워쉘에서 아래와 같이 적요할 수 있습니다.

Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "native_api.enabled=true"
Restart-Service "Whatap Infra"

8. 부록

와탭 서버 모니터링 설정파일에 추가하여 각종 기능을 On/Off 할 수 있습니다.

8.1. TCP 포트감시

데몬형 프로세스가 bind 해서 사용하는 listen 포트 접속 불가시 알림 받으실 수 있습니다.

왼쪽 메뉴 경고 알림 하단 서버 알림 설정 목록에서 해당서버의 서버 알림 선택 후 포트 지표를 사용으로 변경하신후 대상서버에서 아래 명령으로 추가할 수 있습니다.

portcheck
Windows Powershell 관리자 권한 필요
#아래 변수에 모니터링 대상 아이피를 지정합니다.
$TARGET_IP="127.0.0.1"
#아래 변수에 모니터링 대상 포트를 지정합니다.
$TARGET_PORT="80"

Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "tcp.check.$TARGET_PORT=tcp://$TARGET_IP:$TARGET_PORT"
Linux Shell
#아래 변수에 모니터링 대상 아이피를 지정합니다.
export TARGET_IP=127.0.0.1
#아래 변수에 모니터링 대상 포트를 지정합니다.
export TARGET_PORT=80

echo "tcp.check.$TARGET_PORT=tcp://$TARGET_IP:$TARGET_PORT" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

8.2. 프로세스 네트워크 성능측정

프로세스 네트워크 성능은 프로세스 성능 상세에서 확인하실 수 있습니다.

Windows Powershell 관리자 권한 필요
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "process.fdcheck=true"
Linux Shell
echo "process.fdcheck=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

8.3. 서버 스펙 수집

CPU, MEMORY, DISK, NIC 의 스펙 및 설치된 패키지 및 가상머신의 메타정보를 수집합니다. 설치된 패키지는 카테고리 server_package 에서, CPU, MEMORY,DISK, NIC의 스펙은 카테고리 server_inventory 에서, 리눅스의 보안 패치 대기 목록은 카테고리 server_pending_security_update에서 확인하실 수 있습니다.

Windows Powershell 관리자 권한 필요
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "inventory.product.enabled=true"
Linux Shell
echo "inventory.product.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

8.4. 리눅스 컨테이너 성능 수집

리눅스 컨테이너의 CPU, MEMORY, DISK, NIC 성능을 수집합니다. 수집된 성능정보는 카테고리 server_container 에서 확인 가능합니다.

Linux Shell
echo "container.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

8.5. 윈도우 서버 서비스 운영상태 수집

윈도우 서버 서비스 운영상태를 수집합니다. 수집된 서비스 운영상태는 카테고리 server_windows_service 에서 확인 할 수 있습니다.

Windows Powershell 관리자 권한 필요
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "winservice.enabled=true"

8.6. 웹 URL 성능 체크

와탭 인프라 에이전트가 주어진 웹 주소로 접속하여 접속여부 및 응답시간을 수집 합니다. 수집된 웹 URL 성능은 카테고리 server_webcheck에서 확인하실 수 있습니다.

아래 명령으로 체크할 웹주소를 추가 하실 수 있습니다.

Linux Shell
sudo echo "체크할 웹 주소" | sudo tee -a /usr/whatap/infra/conf/webcheck.conf
sudo service whatap-infra restart
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\webcheck.conf" -Value "체크할 웹 주소"
Restart-Service "Whatap Infra"

8.7. Redis 서버 목록

와탭 인프라 에이전트가 주어진 Redis 주소로 접속하여 연결 개수를 포함한 복수개의 성능지수를 수집 합니다. 수집된 성능정보는 카테고리 server_redis에서 확인하실 수 있습니다.

아래 명령으로 체크할 Redis 서버의 접속 정보를 추가 하실 수 있습니다.

Linux Shell
sudo echo "addr=Redis 주소:포트" | sudo tee /usr/whatap/infra/conf/redis.conf
sudo echo "password=Redis 패스워드" | sudo tee -a /usr/whatap/infra/conf/redis.conf
sudo service whatap-infra restart
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\redis.conf" -Value "addr=Redis 주소:포트"
Add-Content -Path "C:\Program Files\WhatapInfra\redis.conf" -Value "password=Redis 패스워드"
Restart-Service "Whatap Infra"

8.8. Memcached 서버 목록

와탭 인프라 에이전트가 주어진 Memcached 주소로 접속하여 연결 개수를 포함한 복수개의 성능지수를 수집 합니다. 수집된 정보는 카테고리 server_memcached에서 확인하실 수 있습니다.

아래 명령으로 체크할 Memcached 서버의 접속 정보를 추가 하실 수 있습니다.

Linux Shell
echo "addr=Memcached 주소:포트" | sudo tee /usr/whatap/infra/conf/memcached.conf
echo "password=Redis 패스워드" | sudo tee -a /usr/whatap/infra/conf/memcached.conf
sudo service whatap-infra restart
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "addr=Memcached 주소"
Add-Content -Path "C:\Program Files\WhatapInfra\memcached.conf" -Value "password=Memcached 패스워드"
Restart-Service "Whatap Infra"

8.9. 파일 감시

파일 시스템상에 존재하거나 존재할 가능성이 있는 파일 및 디렉토리를 감시 할 수 있습니다.

Linux Shell
echo "filecheck.enabled=true" |sudo tee -a /usr/whatap/infra/conf/filesystem.conf
echo "감시를 원하는 파일 혹은 디렉토리 전체 경로" |sudo tee -a /usr/whatap/infra/conf/filesystem.conf
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "filecheck.enabled=true"
Add-Content -Path "C:\Program Files\WhatapInfra\filesystem.conf" -Value "감시를 원하는 파일 혹은 디렉토리 전체 경로"

8.10. Nvidia GPU 모니터링

nvidia-smi 명령이 탑재된 경우 GPU 성능을 5초 간격으로 수집하여 와탭으로 업로드 합니다. 수집된 정보는 메트릭 카테고리 server_nvidiasmi 로 수집됩니다.

Linux Shell
echo "nvidiasmi.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "nvidiasmi.enabled=true"

category server_nvidiasmi

메트릭

비고

DecoderUtil

gauge, Decoder utilization (in %)

EncoderUtil

gauge, Encoder utilization (in %)

FreeFbMemoryUsageGpu

gauge, Framebuffer memory free (in MiB).

UsedFbMemoryUsageGpu

gauge, Framebuffer memory used (in MiB).

GpuTemp

gauge, GPU temperature (in C).

GpuUtil

gauge, GPU utilization (in %).

MemClock

gauge, Memory clock frequency (in MHz).

MemoryUtil

gauge, Memory utilization (in %).

SmClock

gauge, SM clock frequency (in MHz).

8.11. 와탭 에이전트 로그 위치 변경

와탭 에이전트 로그(whatap_infrad.log, whatap_infra.log, whatap_infrad.fork.stdout.log) 경로를 변경합니다. 지정 경로가 없는경우 와탭 에이전트가 생성을 시도합니다. 에이전트 버젼 2.0.6 이상 지원됩니다.

Linux Shell
echo "agent.log.prefix=변경을 원하는 디렉토리" |sudo tee -a /usr/whatap/infra/conf/whatap.conf

윈도우의 경우 경로구분자를 \\로 입력하실 수 있습니다.

Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "agent.log.prefix=변경을 원하는 디렉토리"

8.12. Netstat 모니터링

netstat 명령이 탑재된 경우 1 분 간격으로 수집하여 카테고리 server_netstat (netstat connection 통계), server_netstat_s (netstat -s 명령 실행 결과)으로 업로드 됩니다.

Linux Shell
echo "netstats.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Windows Powershell
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "netstats.enabled=true"

8.13. 사용자 스크립트 모니터링

리눅스 서버에서 실행가능한 사용자 스크립트를 주기적으로 실행하여 결과를 업로드 합니다.

사용자 스크립트는 아래 예시를 참조하여 작성하실 수 있습니다.

Linux Shell
#!/bin/bash


urls=("https://www.whatap.io"  "https://blog.whatap.io"  "https://service.whatap.io")

for url in ${urls[*]}; do

echo "M $url url $url"
curl -w @- -o /dev/null -s "$url" <<'EOF'
M %{url_effective} url %{url_effective}\n
H %{url_effective} time_namelookup %{time_namelookup}\n
H %{url_effective} time_connect %{time_connect}\n
H %{url_effective} time_appconnect %{time_appconnect}\n
H %{url_effective} time_pretransfer %{time_pretransfer}\n
H %{url_effective} time_redirect %{time_redirect}\n
H %{url_effective} time_starttransfer %{time_starttransfer}\n
H %{url_effective} time_total %{time_total}\n
EOF


done

위 스크립트를 작성후 실행하면 아래와 같이 출력되는것을 확인 할 수 있습니다.

Linux Shell
$ ./curl.sh
M https://www.whatap.io/ url https://www.whatap.io/
H https://www.whatap.io/ time_namelookup 0.007289
H https://www.whatap.io/ time_connect 0.010702
H https://www.whatap.io/ time_appconnect 0.033637
H https://www.whatap.io/ time_pretransfer 0.033831
H https://www.whatap.io/ time_redirect 0.000000
H https://www.whatap.io/ time_starttransfer 0.043230
H https://www.whatap.io/ time_total 0.043312
M https://blog.whatap.io/ url https://blog.whatap.io/
H https://blog.whatap.io/ time_namelookup 0.000000
H https://blog.whatap.io/ time_connect 0.000000
H https://blog.whatap.io/ time_appconnect 0.000000
H https://blog.whatap.io/ time_pretransfer 0.000000
H https://blog.whatap.io/ time_redirect 0.000000
H https://blog.whatap.io/ time_starttransfer 0.000000
H https://blog.whatap.io/ time_total 0.005654
M https://service.whatap.io/ url https://service.whatap.io/
H https://service.whatap.io/ time_namelookup 0.004296
H https://service.whatap.io/ time_connect 0.007282
H https://service.whatap.io/ time_appconnect 0.038404
H https://service.whatap.io/ time_pretransfer 0.038607
H https://service.whatap.io/ time_redirect 0.000000
H https://service.whatap.io/ time_starttransfer 0.055226
H https://service.whatap.io/ time_total 0.055307

스크립트가 정상 수집되는것을 확인 후에 아래와 같이 스크립트를 와탭 서버 모니터링 에이전트에 등록합니다.

Linux Shell
export USER_SCRIPT=실행할 사용자 스크립트 절대 경로
suco chmod +x $USER_SCRIPT
sudo mkdir /usr/whatap/infra/ext/
sudo cp -r $USER_SCRIPT /usr/whatap/infra/ext/
export RUNAS_USER=사용자 스크립트를 실행할 계정. root 계정제외
sudo WHATAP_HOME=/usr/whatap/infra/conf /usr/whatap/infra/whatap_infrad --user=$RUNAS_USER init-script
sudo service whatap-infra restart

수집된 데이터는 좌측메뉴 분석>매트릭스 차트에서 카테고리 server_ext_폴더_실행스크립트 에서 찾을 수 있습니다.

8.14. 리눅스 시스템 로그 모니터링

리눅스 시스템 로그를 실시간 업로드 하여 장애시 해당 시간에 발생한 로그를 확인 할 수 있습니다.

8.14.1. 수집대상 로그 파일

  • /var/log/syslog

  • /var/log/messages

8.14.2. 설정방법

Linux Shell
echo "systemlog.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf