Zabbix监控之六——Agent端部署GPU

以A机房为例,安装部署在192.168.10.103服务器上。

  1. 添加Zabbix安装源
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
yum install munin --nogpgcheck
  1. 安装Agent服务
yum install zabbix-agent
  1. 引入GPU查询脚本
mkdir -p /etc/zabbix/scripts

把脚本get_gpus_info.sh放入其中,并且添加执行权限

chmod +x /etc/zabbix/scripts/get_gpus_info.sh

get_gpus_info.sh的内容如下

#!/bin/bash

result=$(/usr/bin/nvidia-smi -L | sed 's/^GPU \([0-9]*\):.*(UUID: \(.*\))$/,{"{#GPUINDEX}":"\1","{#GPUUUID}":"\2"}/g')

first=1

echo "{"
echo "\"data\":["

for line in ${result[@]}
do
  if [ "$first" == "1" ]; then
    echo ${line:1}
    first=0
  else
    echo -n $line
  fi
done

echo 
echo "]"
echo "}"
  1. 配置Agent
vi /etc/zabbix/zabbix_agent.conf
Server=192.168.10.101            # Zabbix proxy地址
LogFileSize=512
ServerActive=192.168.10.101
Hostname=DOMAIN_ZONEA_192.168.10.102_CPU
Timeout=10        # 超时时间,默认是3秒,根据网络情况而定,建议设置为10秒 

UserParameter=gpu.number,/usr/bin/nvidia-smi -L | /usr/bin/wc -l
UserParameter=gpu.discovery,/etc/zabbix/scripts/get_gpus_info.sh
UserParameter=gpu.fanspeed[*],/usr/bin/nvidia-smi --query-gpu=fan.speed --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.power[*],/usr/bin/nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.temp[*],/usr/bin/nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.utilization[*],/usr/bin/nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.memfree[*],/usr/bin/nvidia-smi --query-gpu=memory.free --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.memused[*],/usr/bin/nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -i $1 | tr -d "\n"
UserParameter=gpu.memtotal[*],/usr/bin/nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits -i $1 | tr -d "\n"
  1. 在Server端导入GPU监控模板
    Configuration ---> Templates ---> Import,导入文件zbx_nvidia-smi-multi-gpu-active.xml,该文件内容如下:


    3.0
    2018-06-05T20:56:12Z
    
        
            Templates
        
    
    
        
    

  1. 在Server端创建Host
    以管理员身份登录
    Configuration ---> Hosts ---> Create host
    其中,Host name填写DOMAIN_ZONEA_192.168.10.102_CPU,Visible name填写:机房A_192.168.10.102,Groups:选Linux servers、Templates以及自定义的分组,Agent interfaces:填写机房A的防火墙IP123.123.123.124,Monitored by proxy选择刚创建的代理DOMAIN_ZONEA_192.168.10.101_PROXY,其他默认即可。
    添加模板
    Hosts --->DOMAIN_ZONEA_192.168.10.102_CPU ---> Templates
    选择 “Template OS Linux by Zabbix agent active”和“Template Nvidia GPUs Performance active”两个模板,Update添加即可。
  2. 启动Proxy服务
systemctl restart zabbix-agent
  1. 添加为开启自启动
systemctl enable zabbix-agent
  1. 回到Server查看host
    Monitoring ---> Graph
    其中,Group选Linux servers,Host选DOMAIN_ZONEA_192.168.10.102_CPU,Graph选想查看的监控项,不出意外的话,几十秒内就会有结果了,或者多等几分钟。

你可能感兴趣的:(Zabbix监控之六——Agent端部署GPU)