Netdata를 이용한 Nvidia GPU 모니터링 방법

| 2020년 8월 21일 | 0 Comments

Netdata란?


Netdata는 서버의 CPU, 메모리, 디스크, 네트워크등의 사용량을 수집하여 웹사이트에서
그래프로 제공하는 오픈소스 모니터링 툴로 설치가 다른 툴에 비해 간편합니다. 

 

 

Nvidia GPU 모니터링


Nvidia GPU의 사용량은 리눅스의 경우 nvidia-smi를 통해 실시간으로 확인할수 있지만
시간대 별로 얼마나 사용했는지 확인하기 어렵습니다.  Netdata는 별도의 설정을 하면
GPU가 어느 시간대에 얼마나 사용했는지 쉽게 알수있게 해줍니다.

 

 

설치 전 준비할것


공식 홈페이지에서는 대부분의 리눅스 OS에 설치 스크립트를 제공하나 설치한 후
확인해보면 GPU 모니터링 기능이 작동하지 않는 문제가 있어 CentOS 6를 제외한
다른 OS는 Netdata의 버전을 맞춰 줘야 합니다.


Ubuntu 20.04, 18.04, 16.04

apt-get install autoconf autoconf-archive autogen automake cmake libelf-dev libjson-c-dev libjudy-dev liblz4-dev libmnl-dev libssl-dev libuv1-dev pkg-config python3-pymongo uuid-dev zlib1g-dev


CentOS 8 

yum install -y ‘dnf-command(config-manager)’
yum config-manager –set-enabled PowerTools
yum install -y epel-release
yum install -y http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-3.el8.noarch.rpm
yum install autoconf automake curl gcc git cmake libuuid-devel openssl-devel libuv-devel lz4-devel make nc pkgconfig python3 zlib-devel -y
yum install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/Judy-devel-1.0.5-18.module_el8.1.0+217+4d875839.x86_64.rpm


CentOS 7

yum install epel-release
yum install Judy-devel autoconf autoconf-archive autogen automake cmake elfutils-libelf-devel git json-c-devel libmnl-devel libuuid-devel libuv-devel lz4-devel nmap-ncat openssl-devel zlib-devel


CentOS 6

※ CentOS 6은 공식 홈페이지의 설치 방법대로 진행해도 문제없이 진행됩니다. 
     설치를 완료 후 아래에 나오는 GPU 모니터링 설정방법을 참고하셔서 작업을
     마무리하시면 됩니다.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

 

 

설치


netdata를 다운로드 받고 압축을 해제한뒤 installer 스크립트를 vi로 실행합니다.

wget https://github.com/netdata/netdata/releases/download/v1.23.1/netdata-v1.23.1.tar.gz
tar zxvf netdata-v1.23.1.tar.gz
cd netdata-v1.23.1
vi netdata-installer.sh

 

installer 스크립트에서 설정을 변경하고 저장합니다. 설정을 변경하는 이유는 변수 libe가
값을 정상적으로 받지 못해 모니터링에 필요한 파일을 다운로드 받지 못하기 때문입니다.

변경 전 : libc=”${EBPF_LIBC:-“$(detect_libc)”}”

변경 후 : libc=”glibc”

 

installer 스크립트를 실행 후 안내에 따라 Y 또는 Enter를 입력하면 설치가 진행됩니다.

bash netdata-installer.sh

 

nvidia 모니터링 사용 설정


Netdata는 Nvidia에 관련된 설정을 진행해야 그때부터 모니터링이 가능합니다.

# netdata 디렉토리로 이동
cd /etc/netdata

# python.d.conf에 nvidia_smi를 사용하도록 설정한다.
sudo ./edit-config python.d.conf
nvidia_smi = yes

# nvidia_smi.conf에 1초마다 nvidia의 데이터를 수집하도록 설정한다. 
sudo ./edit-config python.d/nvidia_smi.conf
loop_mode : yes
poll_seconds : 1

iptables 19999 포트 추가

iptables -A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 19999 -j ACCEPT

 

netdata 서비스 재시작

service netdata restart


확인


웹서버로 접근하면 nvidia smi 항목이 새롭게 생겨있으며 GPU의 리소스를 확인할수 있습니다.

 

Category: LINUX

Avatar

About the Author ()