监控手段:
naviseccli 工具+zabbix监控
naviseccli取值
zabbix 预警

注:这个监控只是提供一个思路,我尝试通过snmp OID去监控,拿了厂商的OID以后发现好多不能用,有人说是用snmp trap的方式,最终没有去尝试,如果有更好的监控方法请大家留言告诉我向大家学习:

(1)在安装有zabbix agent的主机上,安装naviseccli 工具,该工具有linux 版本和windows 版本
(2)我们需要通过这个naviseccli 工具获取信息,将获取信息命令作为zabbix自定义key,在这里我选择linux版本
(3)在安装有zabbix agent的主机上下载安装naviseccli工具
shell> wget https://download.emc.com/downloads/DL30837_Navisphere-CLI-(Linux-x64)-7.33.8.1.19.rpm
shell> rpm -ivh NaviCLI-Linux-64-x86-en_US-7.33.9.2.31-1.x86_64.rpm

(4)naviseccli命令在这个目录下,建议做个环境变量
shell>cd /opt/Navisphere/bin/
sehll>vim /etc/profile
export PATH="$PATH:/opt/Navisphere/bin/"
shell>systctl -p

(5)初始化一下
shell> /opt/Navisphere/bin/setlevel_cli.sh

(6)利用这个命令:创建一个安全证书,创建后就不需要每次输入密码了
shell>naviseccli -AddUserSecurity -user admin -password xxxxxx -scope 0

通过以上六步就可以使用naviseccli工具抓取信息了
(1)通过getdisk 查看硬盘的状态
shell>/usr/bin/naviseccli -h 10.10.21.8 getdisk
(2)通过wc一下命令取出所有正常的硬盘,如果这个正常硬盘数不等于你取出的数量,那就说明硬盘有故障
shell>/usr/bin/naviseccli -h 10.10.21.8 getdisk | grep Enabled | wc -l 正常硬盘的数量
/usr/bin/naviseccli -h 10.10.21.8 getdisk | grep "Hot Spare Ready" | wc -l 热备盘的数量
(3)也可以取反,如果removed状态的硬盘大于0说明是硬盘故障(脚本)

#!/bin/bash
Enabled=`/usr/bin/naviseccli -h 10.10.21.8 getdisk | grep State: | awk -F: '{print$2}' | grep Removed | wc -l`
[ $Enabled -gt 0  ] & echo "$Enabled"  || echo "0"

可以将上面的命令写成脚本更加方便

(4)然后讲这些取值命令添加到zabbix_agent 配置文件中,设定为自定义key
shell>vim /etc/zabbix/zabbix_agentd.conf
UserParameter=vnx8,/usr/bin/naviseccli -h 10.10.21.8 getdisk | | grep State: | awk -F: '{print$2}' | grep Removed | wc -l

(5)重启zabbix-agent 服务

(6)在web页面中添加监控项目,监控项中的value值就是自定义key值
zabbix监控EMC VNX5500等系列存储_第1张图片

(7)设置报警,我们监控removed,如果前一个值不是0,那么表示有硬盘故障
zabbix监控EMC VNX5500等系列存储_第2张图片

本例子随然只是监控硬盘,但是其他参数监控类似,大家可以百度一下 “emc NaviSecCLI常用命令” ,可以有很多的参数可以选择,监控全局状态,控制器,错误信息等。