基于Zabbix的MegaRAID阵列卡状态监控

MegaRAID监控特性:

  • 原生linux shell/windows批处理脚本,兼容性更好
  • 基于Zabbix LLD自动发现,自动发现RAID卡适配器,RAID阵列组及物理磁盘(目前网络上仅支持自动发现物理磁盘)
  • 精准识别RAID阵列级别、阵列磁盘数量及热备盘数量,目前能够精准识别RAID0、1、5、6、10
  • 部署简单,一次部署,轻松使用,扩展监控项仅需在Web界面配置
  • 如果您在使用过程中遇到了问题,或者有其他更好的建议,请发邮件与我联系:310916789@qq.com
  • Zabbix QQ交流群:627583794

系统要求:

  • zabbix版本>=2.0
  • 系统载体必须为物理服务器,并且阵列卡品牌为LSI,支持大部分DELL阵列卡(阵列卡型号H310/H330/H730等测试通过)

MegaRAID监控脚本及模板下载地址:

打包下载:MegaRAID-Monitoring.zip

模板下载:Template_Hardware_MegaRAID.xml

一、部署说明:

部署部分分为Linux操作系统及Windows操作系统

此文中Linux部分使用CentOS,兼容CentOS 5/6/7

Windows部分使用Windows Server 2008R2,兼容Windows Server 2003/2008/2012/2016

1、下载MegaRAID-Monitoring.zip并解压部署

Linux部署说明

①解压后拷贝MegaRAID-Monitoring/linux/scripts文件夹下的所有脚本文件至被监控服务器并赋予执行权限,此处假设为/etc/zabbix/scripts(若目录不存在请自行创建)

cp MegaRAID-Monitoring/linux/scripts/* /etc/zabbix/scripts/

chmod +x /etc/zabbix/scripts/MegaRAID_*.sh

②拷贝MegaRAID-Monitoring/linux/conf/userparameter_MegaRAID.conf配置文件至被监控服务器,此处假设为/etc/zabbix/zabbix_agentd.d/(zabbix agent默认配置文件路径)

cp MegaRAID-Monitoring/linux/conf/userparameter_MegaRAID.conf /etc/zabbix/zabbix_agentd.d/

注意:linux和windows的配置文件userparameter_MegaRAID.conf不是一个文件

zabbix_agentd.conf中必须包含Include=/etc/zabbix/zabbix_agentd.d/*.conf

若脚本文件不在/etc/zabbix/scripts/目录下,请修改userparameter_MegaRAID.conf中的脚本文件路径为实际脚本文件路径

③安装MegaRAID-Monitoring/linux/MegaCli-8.07.14-1.noarch.rpm

rpm -ivh MegaRAID-Monitoring/linux/MegaCli-8.07.14-1.noarch.rpm

④配置sudoers

cat >> /etc/sudoers << EOF
Defaults:zabbix !requiretty
zabbix ALL=(ALL) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64
EOF

⑤重启zabbix agent

CentOS 5 & CentOS 6

$ service zabbix-agent restart

CentOS 7

$ systemctl restart zabbix-agent

Windows部署说明

①解压后拷贝MegaRAID-Monitoring/windows/MegaCli目录至C:\program files

②解压后拷贝MegaRAID-Monitoring/windows/scripts文件夹下的所有脚本文件至被监控服务器,此处假设为C:\program files\zabbix\scripts(若目录不存在请自行创建)

③拷贝MegaRAID-Monitoring/windows/conf/userparameter_MegaRAID.conf配置文件至被监控服务器,此处假设为C:\program files\zabbix\conf\zabbix_agentd.d

注意:linux和windows的配置文件userparameter_MegaRAID.conf不是一个文件

zabbix_agentd.conf中必须包含Include=C:\Program Files\zabbix\conf\zabbix_agentd.d\*.conf

若脚本文件不在C:\program files\zabbix\scripts目录下,请修改userparameter_MegaRAID.conf中的脚本文件路径为实际脚本文件路径

④重启zabbix agent

运行cmd,输入以下命令重启服务

net stop “Zabbix Agent”
net start “Zabbix Agent”

2、在zabbix web上导入模板并添加主机监控

下载模板文件:Template_Hardware_MegaRAID.xml(由zabbix 3.2导出)

等待数据采集,通过Zabbix Web上的Monitoring->Latest data即可看到阵列卡的状态信息,下面是样例(点击看大图)

 

二、自定义监控扩展说明

MegaRAID监控提供了在线Web添加监控项的功能,方便用户自定义添加监控内容

监控Key说明:在MegaRAID监控中,使用了7个自定义的监控Key,分别为:

MegaRAID.Adapter.discovery    # RAID阵列卡适配器自动发现(返回JSON数据)
MegaRAID.Adapter.Info[*]          # RAID阵列卡适配器状态监控(阵列卡ID+参数,例如获取阵列卡0的缓存大小:”MegaRAID.Adapter.Info[0,Memory Size]”,参数不区分大小写)
MegaRAID.VDisk.discovery       # RAID阵列自动发现(返回JSON数据)
MegaRAID.VDisk.Info[*]             # RAID阵列状态监控(阵列ID+参数,例如获取阵列0的状态:”MegaRAID.VDisk.Info[0,State]”,参数不区分大小写)
MegaRAID.VDisk.RAIDLevel[*]  # RAID阵列级别及磁盘数量监控(阵列ID,例如获取阵列0的信息:”MegaRAID.VDisk.RAIDLevel[0]”)
MegaRAID.PDisk.discovery       # 物理磁盘自动发现(返回JSON数据)
MegaRAID.PDisk.Info[*]             # 物理磁盘状态监控(物理磁盘ID+参数,例如获取磁盘ID为252:1的类型:”MegaRAID.PDisk.Info[252:1,PD Type]”,参数不区分大小写)

补充说明:若无法获取指定参数或者参数不存在,则返回字符串”Unknown”

获取参数的方法:

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog          # 获取RAID阵列卡适配器参数列表

/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL -NoLog      # 获取RAID阵列参数列表

/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL -NoLog                 # 获取物理磁盘参数列表

参数仅需填写冒号左边的字符串,例如:获取RAID阵列卡适配器的缓存大小

使用/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog得到”Memory Size : 256MB”,则参数仅需填写”Memory Size”

若无法确定参数是否正确,可使用命令来确认:

zabbix_agentd -t “MegaRAID.Adapter.Info[0,Memory Size]”

MegaRAID.Adapter.Info[0,Memory Size] [t|256MB]

为确保自定义的监控能够应用在每个RAID阵列卡适配器(RAID阵列/物理磁盘)上,请在模板中相对应的自动发现规则中添加,建议使用克隆的方式添加新的监控项,自动发现规则列表:

MegaRAID Adapter discovery              # RAID阵列卡适配器自动发现规则
MegaRAID VirtualDisk discovery         # RAID阵列自动发现规则
MegaRAID PhysicalDisk discovery      # 物理磁盘自动发现规则

 

转载请注明出处:http://www.madown.com/2017/09/26/基于zabbix的megaraid阵列卡状态监控/

发表评论

电子邮件地址不会被公开。 必填项已用*标注