通过nagios使用MegaCli来监控raid

1.下载MegaCLI

#mkdir-p/opt/build/#cd/opt/build/在http://www.lsi.com 网站下载MegaCLI - 5.3#unzip8.04.07_MegaCLI.zip解压出来安装里面linux(这两个文件见附件)
#rpm -ivh Lib_Utils-1.00-09.noarch.rpm
#rpm -ivh MegaCli-8.04.07-1.noarch.rpm

2.编写插件

#vim/usr/lib64/nagios/plugins/check_raid#!/bin/bashSTATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3Optimal="Optimal"VDSTATE=$(/opt/MegaRAID/MegaCli/MegaCli64-cfgdsply-aALL|/bin/grep"^State")STATE=$(/opt/MegaRAID/MegaCli/MegaCli64-cfgdsply-aALL|/bin/grep"^State"|/bin/awk-F\:'{print$2}')#echo$?>>/tmp/vdiskstatus.log#echo$STATE>>/tmp/vdiskstatus.logif[$STATE=$Optimal];thenechoOK--"VirtualDisk:$STATE"exit$STATE_OKelseechoCRITICAL--"VirtualDisk:$STATE"exit$STATE_CRITICALfi

3.更改插件的权限

#chownnagios.nagios/usr/lib64/nagios/plugins/check_raid#chmod755/usr/lib64/nagios/plugins/check_raid

4.测试插件是否正常工作
#/usr/lib64/nagios/plugins/check_raid
OK -- Virtual Disk : Optimal

5.给nagios用户增加sudo权限
由于MegaCli命令执行时需要root权限,所以我们需要为nagios用户创建一个sudo使nagios用户可以执行check_raid。
#visudo
增加以下行:

#AllownagiostoruncertainpluginsasrootnagiosALL=(ALL)NOPASSWD:/usr/lib64/nagios/plugins/

注释以下行:

#Defaultsrequiretty

启用以下行:

%wheelALL=(ALL)NOPASSWD:ALL

由于nrpe在传输的过程中也要用到root权限所以把nrpe加入到wheel组中

#usermod-a-Gwheelnrpe

6.编辑被监控服务器的nrpe.cfg
增加一个新的命令:

#vim/etc/nagios/nrpe.cfgcommand[check_raid]=/usr/bin/sudo/usr/lib64/nagios/plugins/check_raid

重启nrpe:

#/etc/init.d/nrperestart

7.在nagios服务器端添加服务

defineservice{host_nametestservice_descriptionraid_statuscheck_period24x7normal_check_interval5retry_check_interval2max_check_attempts5notification_period24x7contact_groupsadminscheck_commandcheck_nrpe!check_raid}

验证配置文件并重启服务。

#nagios-v/etc/nagios/nagios.cfg#/etc/init.d/nagiosrestart

附件:http://down.51cto.com/data/2361083