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 로 별도 문의 주시기를 부탁 드립니다.
제품 | 환경 | 지원 환경 |
---|---|---|
서버 모니터링 Agent |
Windows |
Windows 2008R2 이상 |
Linux |
Debian 7.0 이상 |
|
FreeBSD |
FreeBSD 10 이상 |
1.2. 구성 파일
파일명 | 설명 |
---|---|
ChangeLog.txt |
에이전트 변경 내역 |
whatap.conf |
서버의 데이터를 수집할 서버의 주소와 서버의 프로젝트 라이센스 키가 입력되는 파일 |
파일명 | 설명 |
---|---|
whatap_infrad |
데이터 수집 및 전송용 에이전트 |
whatap_infrad.pid |
실행 중인 에이전트의 PID 값을 기록한 파일 |
VERSION |
현재 설치된 에이전트의 버전이 기록된 파일 |
파일명 | 설명 |
---|---|
whatap_infra.exe |
데이터 수집 및 전송용 에이전트 |
unins000.* |
에이전트 삭제 파일 |
whatap.ico |
와탭 인프라의 아이콘 이미지 |
1.3. 에이전트 이름 식별
와탭은 모니터링 정보 수집 대상인 인프라 서버 식별을 위해 기본적으로 서버로부터 수집한 정보를 활용합니다. 기본값은 서버의 호스트명(hostname)입니다.
- default
-
hostname
사용자 친화적인 이름을 지정할 경우 아래와 같이 설정파일에 지정가능합니다.
export WHATAP_SERVER_NAME=사용자 친화적인 이름
echo "oname=$WHATAP_SERVER_NAME" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
$WHATAP_SERVER_NAME="사용자 친화적인 이름"
Add-Content "C:\Program Files\WhatapInfra\whatap.conf" "oname=$WHATAP_SERVER_NAME"
2. 설치
와탭 서버 모니터링 서비스는 다수의 서버를 프로젝트로 그룹화 하여 관리합니다.

2.1. 설치 절차
2.1.1. 프로젝트 생성
와탭 콘솔에서 프로젝트 생성 버튼을 누릅니다.

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

2.1.2. 라이센스 발급

프로젝트 관리화면에서는 우선적으로 라이선스를 발급 받습니다. 라이센스 키는 프로젝트별로 귀속되기 때문에, 유출되거나 배포되어서는 안됩니다. 반드시 본인 프로젝트에 서버를 등록할 때에만 이용하시기 바랍니다.
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
-
아래와 같이 접속여부를 확인 할 수 있습니다.
nc -vz {와탭 수집 서버 IP} {와탭 수집 서버 PORT}
Connection to {와탭 수집 서버 IP} {와탭 수집 서버 PORT} port [tcp/*] succeeded!
2.1.4. Linux / FreeBSD 에이전트 설치
패키지 저장소(Repository) 추가

에이전트 설치 페이지에서 상위에 위치한 OS탭에서 서버 OS와 동일한 탭을 클릭합니다.
설치 페이지에 존재하는 “와탭 저장소(Repository)를 추가합니다.” 항목 설명에 따라 설치하고자 하는 서버에 입력합니다.
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 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 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 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
wget http://repo.whatap.io/freebsd/10/whatap-infra.txz
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 apt-get install whatap-infra
sudo yum install whatap-infra
sudo zypper install whatap-infra
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 문구가 표시되지 않는 경우 접속 실패로 방화벽 설정을 포함하여 네트워크 설정을 확인 해야 합니다.
네트워크 설정이 반영되면 에이전트는 자동 접속됩니다.
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}
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 를 클릭하여 설치파일을 다운로드 합니다.

-
보안상 .exe 형식의 파일이 받아지지 않는 사용자를 위하여 .zip 형식의 파일도 제공됩니다.
-
보안을 위해 브라우저를 통한 직접 설치보단 다운로드 받은 파일 실행을 권장합니다.
2.1.6. 노트북에 설치
노트북과 같이 서버 컴퓨터가 아닌 개인용 컴퓨터 및 아이피가 변하는 wifi를 사용하는 환경에서는 아래 옵션을 적용하면 IP 가 변경될때마다 자동으로 재등록되지 않아 편리하게 사용할 수 있습니다.
echo "ipreg=false" | sudo tee -a /usr/whatap/infra/conf/whatap.conf
sudo service whatap-infra restart
Add-Content "c:\Program Files\WhatapInfra\whatap.conf" "ipreg=false"
Restart-Service "Whatap Infra"
2.1.7. Elastic Beanstalk에 설치
linux설치 환경에 따라 아래내용을 Elastic Beanstalk 설치 스크립트에 추가합니다.
whatap.server.host 와 license 는 사용자에 맞게 입력합니다.
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
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
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
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
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
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
sudo apt-get update
sudo apt-get install whatap-infra
sudo service whatap-infra restart
특정 버전을 설치하기 위해서는 설치 시 버전 정보를 명시해 줍니다.
sudo apt-get install whatap-infra=<version>
sudo yum update whatap-infra
sudo service whatap-infra restart
특정 버전을 설치하기 위해서는 설치 시 버전 정보를 명시해 줍니다.
sudo yum install whatap-infra-<version>
wget http://repo.whatap.io/freebsd/10/whatap-infra.txz
pkg install whatap-infra.txz
- NOTE
-
이전 버전으로 설치하기 위해서는 별도 문의 필요
4. 에이전트 삭제
5. 원격 파일 뷰어 설정
와탭 웹에서 사용자 서버의 사용자가 지정한 임의의 텍스트 파일의 내용을 볼 수 있습니다.
5.1. 설정방법
와탭 서버 모니터링 설정파일에 웹에서 조회할 텍스트 파일을 추가합니다.
아래 명령으로 조회할 텍스트 파일을 추가 하실 수 있습니다.
echo "webview.allow.`date +%s%N`=조회할 파일의 전체 경로" | sudo tee -a /usr/whatap/infra/conf/whatap.conf
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "webview.allow.$(Get-Date -uformat %s)=조회할 파일의 전체 경로"
6. 윈도우 성능 카운터 설정
임의의 윈도우 성능 카운터를 수집 할 수 있습니다.
6.1. 설정방법
와탭 서버 모니터링 설정파일에 성능카운터 세트 이름을 추가합니다.
아래 명령으로 성능카운터 세트 이름을 조회할 수 있습니다.
Get-Counter -ListSet *
아래 명령으로 설정파일에 성능카운터 세트를 추가할 수 있습니다.
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를 사용합니다. 윈도우 성능카운터가 꺼져있거나 사용 불가능한 환경에서 성능수집시 사용할 수 있습니다.
8. 부록
와탭 서버 모니터링 설정파일에 추가하여 각종 기능을 On/Off 할 수 있습니다.
8.1. TCP 포트감시
데몬형 프로세스가 bind 해서 사용하는 listen 포트 접속 불가시 알림 받으실 수 있습니다.
왼쪽 메뉴 경고 알림 하단 서버 알림 설정 목록에서 해당서버의 서버 알림 선택 후 포트 지표를 사용으로 변경하신후 대상서버에서 아래 명령으로 추가할 수 있습니다.

#아래 변수에 모니터링 대상 아이피를 지정합니다.
$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"
#아래 변수에 모니터링 대상 아이피를 지정합니다.
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. 프로세스 네트워크 성능측정
프로세스 네트워크 성능은 프로세스 성능 상세에서 확인하실 수 있습니다.
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "process.fdcheck=true"
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에서 확인하실 수 있습니다.
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "inventory.product.enabled=true"
echo "inventory.product.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
8.4. 리눅스 컨테이너 성능 수집
리눅스 컨테이너의 CPU, MEMORY, DISK, NIC 성능을 수집합니다. 수집된 성능정보는 카테고리 server_container 에서 확인 가능합니다.
echo "container.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
8.5. 윈도우 서버 서비스 운영상태 수집
윈도우 서버 서비스 운영상태를 수집합니다. 수집된 서비스 운영상태는 카테고리 server_windows_service 에서 확인 할 수 있습니다.
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "winservice.enabled=true"
8.6. 웹 URL 성능 체크
와탭 인프라 에이전트가 주어진 웹 주소로 접속하여 접속여부 및 응답시간을 수집 합니다. 수집된 웹 URL 성능은 카테고리 server_webcheck에서 확인하실 수 있습니다.
아래 명령으로 체크할 웹주소를 추가 하실 수 있습니다.
sudo echo "체크할 웹 주소" | sudo tee -a /usr/whatap/infra/conf/webcheck.conf
sudo service whatap-infra restart
Add-Content -Path "C:\Program Files\WhatapInfra\webcheck.conf" -Value "체크할 웹 주소"
Restart-Service "Whatap Infra"
8.7. Redis 서버 목록
와탭 인프라 에이전트가 주어진 Redis 주소로 접속하여 연결 개수를 포함한 복수개의 성능지수를 수집 합니다. 수집된 성능정보는 카테고리 server_redis에서 확인하실 수 있습니다.
아래 명령으로 체크할 Redis 서버의 접속 정보를 추가 하실 수 있습니다.
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
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 서버의 접속 정보를 추가 하실 수 있습니다.
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
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. 파일 감시
파일 시스템상에 존재하거나 존재할 가능성이 있는 파일 및 디렉토리를 감시 할 수 있습니다.
echo "filecheck.enabled=true" |sudo tee -a /usr/whatap/infra/conf/filesystem.conf
echo "감시를 원하는 파일 혹은 디렉토리 전체 경로" |sudo tee -a /usr/whatap/infra/conf/filesystem.conf
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 로 수집됩니다.
echo "nvidiasmi.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
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 이상 지원됩니다.
echo "agent.log.prefix=변경을 원하는 디렉토리" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
윈도우의 경우 경로구분자를 \\로 입력하실 수 있습니다.
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 명령 실행 결과)으로 업로드 됩니다.
echo "netstats.enabled=true" |sudo tee -a /usr/whatap/infra/conf/whatap.conf
Add-Content -Path "C:\Program Files\WhatapInfra\whatap.conf" -Value "netstats.enabled=true"
8.13. 사용자 스크립트 모니터링
리눅스 서버에서 실행가능한 사용자 스크립트를 주기적으로 실행하여 결과를 업로드 합니다.
사용자 스크립트는 아래 예시를 참조하여 작성하실 수 있습니다.
#!/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
위 스크립트를 작성후 실행하면 아래와 같이 출력되는것을 확인 할 수 있습니다.
$ ./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
스크립트가 정상 수집되는것을 확인 후에 아래와 같이 스크립트를 와탭 서버 모니터링 에이전트에 등록합니다.
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_폴더_실행스크립트 에서 찾을 수 있습니다.