zabbix自动发现并监控GPU
配置zabbix监控模板(只需要在darshboard上操作一次)
创建监控模板
在配置->模板页面,选择创建模板:
如下填写:
- 模板名称:自定义,我们命名为gpu discovery
- 群组:放到templates组里面
创建应用集
选择上面创建的模板,进入应用集,选择创建应用集,创建名称为GPU的应用集:
创建自动发现
进入刚才创建的模板,点击动发现规则,选择创建自发现规则:
如下创建自动发现规则:
- 名称:自定义,我们设置discover gpu
- 类型:zabbix客户端
- 键值:gpu.discovery,该值要和下面服务器上配置的自动发现脚本的键值相同
- 更新间隔:根据实际需求来,因为GPU的变化非常小,我们可以选择1h这样的间隔
创建监控项原型
从上一步创建后的结果中,点击监控项原型,并选择创建监控项原型:
如下创建监控项:
- 名称:GPU {#GPU_ID} GPU utilization,其中{#GPU_ID}为下面服务器自动发现脚本输出的值
- 类型:选择zabbix客户端
- 键值:gpu.utilization[{#GPU_ID},gpu],键值为下面服务上创建的键值
- 信息类型:根据实际采集的数据来,本次为数字型,所以选择数字无正负
- 单位:根据实际情况,使用率是百分比,所以填%
- 更新间隔:根据实际情况来,使用率使我们比较关注的键控值,所以可以采集密集一些
- 历史数据保留时长:可以保留30d,根据实际需求来
- 应用集:选择之前创建的GPU应用集
完成后点击添加。重复此操作,创建其他监控项,最终如下:
创建触发器原型
本次暂时不创建
GPU服务器配置(每个GPU服务器都要配置)
创建自动发现脚本
我们在/etc/zabbix/目录下创建自动发现gpu脚本gpu_discovery.sh;
#!/bin/sh
GPUS=(`nvidia-smi -L | awk -F ' |:' '{print $2}'`)
LENGTH=${#GPUS[*]}printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$LENGTH;i++))
doprintf '\n\t\t{'printf "\"{#GPU_ID}\":\"${GPUS[$i]}\"}"if [ $i -lt $[$LENGTH-1] ];thenprintf ','fi
done
printf "\n\t]\n"
printf "}\n"
执行脚本如下输出:
{"data":[{"{#GPU_ID}":"0"},{"{#GPU_ID}":"1"}]
}
配置自动发现和采集监控项配置
调整自动发现脚本配置
chmod 755 /etc/zabbix/gpu_discovery.sh
配置agent
在/etc/zabbix/zabbix_agentd.d/目录下创建名为userparameter_gpus.conf的配置文件,并添加如下内容:
UserParameter=gpu.discovery,/etc/zabbix/gpu_discovery.sh
UserParameter=gpu.name[*],nvidia-smi -i $1 --query-gpu=name --format=csv,noheader,nounits
UserParameter=gpu.mem[*],nvidia-smi -i $1 --query-gpu=memory.$2 --format=csv,noheader,nounits
UserParameter=gpu.utilization[*],nvidia-smi -i $1 --query-gpu=utilization.$2 --format=csv,noheader,nounits
UserParameter=gpu.power[*],nvidia-smi -i $1 --query-gpu=power.$2 --format=csv,noheader,nounits
调整agent执行用户
编辑/etc/zabbix/zabbix_agentd.conf,将AllowRoot配置为1
重启agnet
systemctl restart zabbix-agent
链接模板
在zabbix web界面,找到该服务器,为其添加上文创建的模板。
zabbix自动发现并监控GPU相关推荐
- zabbix自动发现与监控内存和CPU使用率最高的进程
监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用za ...
- 5 zabbix 添加host_运维监控实战篇,zabbix自动发现和自动注册图文详解
一.介绍 自动发现 Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服 ...
- zabbix自动发现oracle表空间并监控其使用率
监控需求 Oracle表空间使用率实时监控,当表空间使用率达到95%时触发告警机制.Oracle表空间分为系统默认表空间和用户创建的表空间,而表空间又有自动扩展和非自动扩展两种类型,用户(DBA)在创 ...
- zabbix 自动发现规则 触发器_运维监控实战篇,zabbix自动发现和自动注册图文详解...
一.介绍 自动发现 Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服 ...
- 利用zabbix自动发现监控mongo数据库
但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集. 先看一下效果图, 教你如何利用zabbix自动发现监控m ...
- ZABBIX自动发现Redis端口并监控
转载来源 :ZABBIX自动发现Redis端口并监控 : https://mp.weixin.qq.com/s/UDeRYn6376MBzNyRt48aAw ZABBIX自动发现Redis端口并监控 ...
- zabbix自动发现规则实现批量监控主机的TCP监听端口
检查服务器所有监听端口和其对应的服务名称的脚本可以参考https://blog.zzyyxx.top/blog/post/gordy/acf57f04f9e1 现在准备加入zabbix自动发现规则并 ...
- 3306 端口 要不要修改_zabbix 自动发现并监控所有端口
背景 端口监控是很普遍的一个需求,当一台机器上跑了几十个服务,就想着能不能自动发现并监控所有的端口呢? 毕竟我们的宗旨是能自动绝不手动,摸鱼才是工作的真谛. 实施 解决方案基于 Linux 命令 ss ...
- zabbix自动发现主机并加入组绑定模板
在被监控主机多的情况下,怎样将这些主机加入zabbix server进行监控呢?下面将介绍下zabbix自动发现功能 1.创建自动发现规则 创建"规则名称,配置ip范围及检查方式" ...
最新文章
- 绝对精度与相对精度概念
- HanLP-最短路径分词
- [.net 面向对象编程基础] (13) 面向对象三大特性——多态
- 简单判断用户重复登录,记录一下
- linux script $,linux – 这在shell脚本中是什么意思SCRIPTNAME =“${0 ## * /}”?
- [资源]181个Python开源项目分享!
- oracle mseq,一次RMAN备份报错的诊断过程(一)
- 判断某个磁盘中是否有某个文件
- B00003 C++标准库 std::bitset
- cudnn下载注意事项
- Linux裸机开发4——内存控制器与SDRAM
- ios safari 模拟器_电脑也能运行iOS iOS模拟器体验
- android即时通讯ui框架,android IM即时通信之聊天界面UI框架
- Spring错误——Spring 注解——factory-bean reference points back to the same bean definition
- chatgpt是什么?国内能用吗?
- 微信小程序开发实战9_3 小程序URL Scheme
- 几种基本的约束和外键(一对一 多对多 多对一)级联关系
- 剑指offer 矩阵中的路径 @python
- 为知笔记和微信高保真原型
- 使用layer弹出层组件绑定页面按钮