Netdata를 이용한 Nvidia GPU 모니터링 방법
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 |
installer 스크립트에서 설정을 변경하고 저장합니다. 설정을 변경하는 이유는 변수 libe가
값을 정상적으로 받지 못해 모니터링에 필요한 파일을 다운로드 받지 못하기 때문입니다.
변경 전 : libc=”${EBPF_LIBC:-“$(detect_libc)”}” 변경 후 : libc=”glibc” |
installer 스크립트를 실행 후 안내에 따라 Y 또는 Enter를 입력하면 설치가 진행됩니다.
bash netdata-installer.sh |
nvidia 모니터링 사용 설정
Netdata는 Nvidia에 관련된 설정을 진행해야 그때부터 모니터링이 가능합니다.
# netdata 디렉토리로 이동 # python.d.conf에 nvidia_smi를 사용하도록 설정한다. # nvidia_smi.conf에 1초마다 nvidia의 데이터를 수집하도록 설정한다. |
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