前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix For Nvidia Gpu Discovery

Zabbix For Nvidia Gpu Discovery

作者头像
cuijianzhe
发布2023-10-18 14:24:54
2960
发布2023-10-18 14:24:54
举报
文章被收录于专栏:cuijianzhecuijianzhe

自动发现规则

创建模板

老生常谈,创建模版,模板名为“NVidia Gpu Sensors Discovery” ,

然后创建应用集,自动发现规则;

  • 名称:自定义,我们设置 discover gpu
  • 类型:zabbix 客户端(主动式),PS:“became not supported: Timeout while executing a shell script.”此报错怀疑是服务端主动采集造成
  • 键值:gpu.discovery,该值要和下面服务器上配置的自动发现脚本的键值相同
  • 更新间隔:根据实际需求来,因为 GPU 的变化非常小,我们可以选择 1h 这样的间隔

创建监控项原形:

重复上述操作,根据实际情况添加 GPU 指标参数

触发器创建

GPU 服务器配置

创建自动发现脚本

代码语言:javascript
复制
root@ucloud-wlcb-gpu-022:~# cat /etc/zabbix/externalscripts/gpu_discovery.sh 
#!/bin/bash
GPUS=(`nvidia-smi -L | awk -F ' |:' '{print $2}'`)
LENGTH=${#GPUS[*]}

printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$LENGTH;i++))
do
        printf '\n\t\t{'
        printf "\"{#GPU_ID}\":\"${GPUS[$i]}\"}"
        if [ $i -lt $[$LENGTH-1] ];then
                printf ','
        fi
done
printf  "\n\t]\n"
printf "}\n"

脚本执行输出如下:

代码语言:javascript
复制
root@ucloud-wlcb-gpu-022:~# bash /etc/zabbix/externalscripts/gpu_discovery.sh
{
	"data":[
		{"{#GPU_ID}":"0"},
		{"{#GPU_ID}":"1"},
		{"{#GPU_ID}":"2"},
		{"{#GPU_ID}":"3"},
		{"{#GPU_ID}":"4"},
		{"{#GPU_ID}":"5"},
		{"{#GPU_ID}":"6"},
		{"{#GPU_ID}":"7"}
	]
}

配置自动发现以及采集项

代码语言:javascript
复制
root@ucloud-wlcb-gpu-022:~# cat /etc/zabbix/zabbix_agentd.conf.d/userparameter_gpus.conf 
UserParameter=gpu.discovery,/etc/zabbix/externalscripts/gpu_discovery.sh
UserParameter=gpu.name[*],nvidia-smi -i $1 --query-gpu=name --format=csv,noheader,nounits
UserParameter=gpu.temp[*],nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits -i $1
UserParameter=gpu.memtotal[*],nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits -i $1
UserParameter=gpu.used[*],nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -i $1
UserParameter=gpu.free[*],nvidia-smi --query-gpu=memory.free --format=csv,noheader,nounits -i $1
UserParameter=gpu.fanspeed[*],nvidia-smi --query-gpu=fan.speed --format=csv,noheader,nounits -i $1
UserParameter=gpu.utilisation[*],nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits -i $1
UserParameter=gpu.power[*],nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits -i $1
UserParameter=gpu.Volatile_SRAM_ECC[*],nvidia-smi -q -d ECC -i $1 | grep Uncorrectable | awk 'NR==1{print $$4}'
UserParameter=gpu.Volatile_DRAM_ECC[*],nvidia-smi -q -d ECC -i $1 | grep Uncorrectable | awk 'NR==2{print $$4}'
UserParameter=gpu.Aggregate_SRAM_ECC[*],nvidia-smi -q -d ECC -i $1 | grep Uncorrectable | awk 'NR==3{print $$4}'
UserParameter=gpu.Aggregate_DRAM_ECC[*],nvidia-smi -q -d ECC -i $1 | grep Uncorrectable | awk 'NR==4{print $$4}'
UserParameter=gpu.Remapping[*],nvidia-smi -q -i $1 | grep Remapping | awk {'print $$5'}

zabbix-agent 必须是 root 用户允许启动,脚本执行需要此权限;

模板可以参考这里:

community-templates/Server_Hardware/Other/template_nvidia-smi_integration/5.0 at main · zabbix/community-templates · GitHub


标题:Zabbix For Nvidia Gpu Discovery

作者:cuijianzhe

地址:https://cloud.tencent.com/developer/article/2345699

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动发现规则
    • 创建模板
      • 触发器创建
      • GPU 服务器配置
        • 创建自动发现脚本
          • 配置自动发现以及采集项
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档