公司内有一批GPU
服务器,需要针对GPU
使用的情况进行监控。
通过nvidia_gpu_exporter可实现对GPU
的监控。
安装nvidia_gpu_exporter
下载安装
1
2
3
4
5
6
|
cd /usr/local/src
VERSION=1.2.0
wget https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v${VERSION}/nvidia_gpu_exporter_${VERSION}_linux_x86_64.tar.gz
mkdir /opt/nvidia_gpu_exporter_1.2.0
tar xf nvidia_gpu_exporter_1.2.0_linux_x86_64.tar.gz -C /opt/nvidia_gpu_exporter_1.2.0/
ln -s /opt/nvidia_gpu_exporter_1.2.0/ /opt/nvidia_gpu_exporter
|
以ops
用户启动,需要先创建用户并授权。
1
2
|
useradd -r ops
chown -R ops. /opt/nvidia_gpu_exporter*
|
服务启动
system
配置文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
cat > /etc/systemd/system/nvidia_gpu_exporter.service << EOF
[Unit]
Description=nvidia_gpu_exporter daemon
After=network.target
[Service]
ExecStart=/opt/nvidia_gpu_exporter/nvidia_gpu_exporter
User=ops
Group=ops
PrivateTmp=True
[Install]
WantedBy=multi-user.target
EOF
|
启动
1
2
3
4
|
systemctl daemon-reload
systemctl enable nvidia_gpu_exporter.service
systemctl start nvidia_gpu_exporter.service
systemctl status nvidia_gpu_exporter.service
|
验证
nvidia_gpu_exporter
默认监听在9835
端口上。
1
2
|
netstat -lnpt | grep 9835
curl localhost:9835/metrics
|
Prometheus
Prometheus
配置
1
2
3
4
5
6
7
8
9
10
11
|
- job_name: 'ng-k8s-node-gpu'
static_configs:
- targets: [
'10.166.18.185:9835',
'10.166.19.183:9835',
'10.166.18.236:9835',
'10.166.18.89:9835',
'10.166.19.108:9835',
'10.166.17.210:9835',
'10.166.17.240:9835',
]
|
重载Prometheus
1
|
curl -XPOST localhost:9090/-/reload
|
Grafana
Grafana
的Dashboard
为14574
,点击跳转官方地址。
使用官方模版,效果如图。下拉菜单可以根据GPU
的UUID
进行筛选。
根据GPU
的UUID
进行筛选不是很直观。我们希望先根据主机进行筛选,然后在对GPU
进行筛选。
修改Variables
,添加一条host
,筛选出主机。然后在修改gpu
,使其依赖host
变量。
最终效果如图。