#CPU状态
omreport chassis processors
#温度状态
omreport chassis temps
#硬盘状态
omreport storage pdisk controller=0
#电源状态
omreport chassis pwrsupplies
#raid 状态
omreport storage vdisk controller=0
### 3.zabbix 自定义key脚本
* 在被监控机上配置zabbix 自定义key文件
`vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/hardware
#follow is monitor hardware
#状态1表示正常,状态0表示异常
UserParameter=hardware_battery,omreport chassis batteries|awk ‘/^Status/{if(KaTeX parse error: Expected 'EOF', got '}' at position 35: … else {print 0}}̲' UserParameter…NF==“Ok”) count+=1}END{print count}’ 'BEGIN{if(hardware\_fan\_number==hardware\_fan) {print 1} else {print 0}}' UserParameter=hardware\_memory\_health,awk -vhardware\_memory=
omreport chassis memory|awk ‘/^Health/{print $NF}’ 'BEGIN{if(hardware\_memory=="Ok") {print 1} else {print 0}}' UserParameter=hardware\_nic\_health,awk -vhardware\_nic\_number=
omreport chassis nics |grep -c “Interface Name” -vhardware\_nic=
omreport chassis nics |awk ‘/^Connection Status/{print KaTeX parse error: Expected 'EOF', got '}' at position 3: NF}̲'|wc -l` 'BEGIN…NF==“Ok”) {print 1} else {print 0}}’
UserParameter=hardware_power_health,awk -vhardware_power_number=omreport chassis pwrsupplies|grep -c "Index"
-vhardware_power=omreport chassis pwrsupplies|awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'
‘BEGIN{if(hardware_power_numberhardware_power) {print 1} else {print 0}}’
UserParameter=hardware_temp,omreport chassis temps|awk '/^Status/{if(KaTeX parse error: Expected 'EOF', got '}' at position 35: … else {print 0}}̲'|head -n 1 Use…NF"Ok") count+=1}END{print count}’ 'BEGIN{if(hardware\_physics\_disk\_number==hardware\_physics\_disk) {print 1} else {print 0}}' UserParameter=hardware_virtual_health,awk -vhardware_virtual_disk_number=
omreport storage vdisk controller=0|grep -c “^ID” -vhardware_virtual_disk=
omreport storage vdisk controller=0|awk ‘/^Status/{if($NF==“Ok”) count+=1}END{print count}’ 'BEGIN{if(hardware\_virtual\_disk\_number==hardware\_virtual\_disk) {print 1} else {print 0}}'
* 重启zabbix agent
/etc/init.d/zabbix_agentd restart
* 在zabbix server 上进行测试
#在server 上执找到自己的zabbix_
/usr/local/zabbix/bin/zabbix_get -s 被监控ip -k ‘zabbix key’
#比如我的被监控机器是192.168.1.110
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.110 -k ‘hardware_battery’
### 4.自定义或者导入模板
在文章的最后我会把导出的xml文件贴出来,自己也可以直接根据自定义key写模板。
这里我只监控了,CPU处理器状态、Raid状态、内存状态、物理硬盘状态、网卡状态
![](https://upload-images.jianshu.io/upload_images/3246264-b6e333eecef7a7e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
zabbix 模板截图
![](https://upload-images.jianshu.io/upload_images/3246264-6c98453184475a00.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
硬件监控图形
### 5.批量部署OMSA
由于dell官网下载工具实在是慢,有没有下载一次就可以直接用的方法呢,这里给大家介绍个思路
#下载yum只下载不安装工具
yum install yum-downloadonly
#下载OMSA rpm包
yum install --downloadonly srvadmin-all
#进入到保存包的路径下,将带有dell字样文件夹打包放到其他机器,就不用再下载了
cd /var/cache/yum/x86_64/6
#接下来执行第一步就很快安装完成了
### 6.常见问题
有时,使用omreport时,会出现这个问题是很讨厌的
$ omreport chassis memory Memory Information Error : Memory object not found
我们使用了omreport来做监控,但是却无法获得对应的值。这个时候,我们可以首先尝试
/etc/init.d/dataeng restart
看一下是否已经解决了
如果还不行的话,那么就是信号器的使用到达了上限了。可以通过以下方法来查看
`#查看上限
$ ipcs -sl
#查看当前使用值
$ ipcs -us
cat /proc/sys/kernel/sem
来确定是要调整哪个数据值
sysctl -w kernel.sem=“250 32000 100 256”
同时在sysctl.conf加入这行点击(此处)折叠或打开
echo “kernel.sem=250 32000 100 256” >> /etc/sysctl.conf`
后话:笔者会定期巡检机房,所以在去机房前会生成一个硬件状态报表(当然出现在报表里的不一定是坏了,有的是即将坏掉),这是CMDB的一个小功能。
![](https://img-blog.csdnimg.cn/img_convert/aab739da482135241382c1f68b144935.webp?x-oss-process=image/format,png)
硬件状态报表
### 附: zabbix 硬件监控模板
GitHub 模板[下载]( )
![img](https://img-blog.csdnimg.cn/img_convert/f72b1258c0b7ca8e2a2b49fae2a98fa7.png)
![img](https://img-blog.csdnimg.cn/img_convert/495b36ae7f1a16046e59f0b1db3aba3d.png)
![img](https://img-blog.csdnimg.cn/img_convert/e911985730308db1db4651b7dbc5d1c2.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
LlPj9V-1719242831365)]
[外链图片转存中...(img-v8ZUCULI-1719242831365)]
[外链图片转存中...(img-zAz8BG5n-1719242831365)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**