고급 기능

확장팩 설정

정상적으로 설치 후 확장팩 기능을 사용하려면 아래와 같이 설정 파일을 생성하고 에이전트를 다시 시작하세요.

MySQL 서버 목록

기능 도태 대상입니다. MySQL/MariaDB 모니터링 에이전트를 이용하실 수 있습니다.

웹 URL 성능 체크

와탭 인프라 에이전트가 주어진 웹 주소로 접속하여 접속 여부 및 응답 시간을 수집합니다.

URL 모니터링 서비스를 이용할 수 있습니다.

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

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"

Redis 서버 목록

와탭 인프라 에이전트가 주어진 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"

Memcached 서버 목록

와탭 인프라 에이전트가 주어진 Memcached 주소로 접속하여 연결 개수를 포함한 여러 개의 성능 지수를 수집합니다.

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

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

TCP 포트 감시

데몬형 프로세스가 bind 해서 사용하는 listen 포트가 접속이 안되면 알림을 받을 수 있습니다.

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

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

서버 스펙 수집

CPU, MEMORY, DISK, NIC의 스펙 및 설치된 패키지 및 가상머신의 메타정보를 수집합니다.
각 카테고리에서 아래 내용을 확인하실 수 있습니다.

  • server_package: 설치된 패키지

  • server_inventory: CPU, MEMORY, DISK, NIC의 스펙

  • server_pending_security_update: 리눅스의 보안 패치 대기 목록

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

리눅스 컨테이너 성능 수집

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

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

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

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

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

웹 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"

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"

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"

파일 감시

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

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 "감시를 원하는 파일 혹은 디렉토리 전체 경로"

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).

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

와탭 에이전트 로그(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=변경을 원하는 디렉토리"

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

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"

사용자 스크립트 모니터링

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

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

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_폴더_실행스크립트 에서 찾을 수 있습니다.

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

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

수집대상 로그 파일

  • /var/log/syslog

  • /var/log/messages

설정 방법

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

로그 모니터링 플러그인

임의의 로그를 수집 할 수 있습니다. 아래 설정은 에이전트 재시작이 필요합니다

설정 방법

Linux Shell
cd /usr/whatap/infra
sudo mkdir extension

sudo WHATAP_HOME=/usr/whatap/infra/conf ./whatap_infrad unlock-extension

echo >extension/logsink.conf<<EOL
[[inputs.logsink]]
  category = "serverlog"
  [[inputs.logsink.file]]
    path = "/some/path/to/*.log"
    disabled = false
    encoding = "euc-kr"

  [[inputs.logsink.file]]
    path = "/some/other/log"
    disabled = false
    encoding = "utf-8"
EOL

sudo service whatap restart