nagios用监控dell服务器硬盘或scsi卡连接的盘阵的脚本
2011-01-05 15:09
447 查看
nagios硬盘或scsi卡连接的盘阵地硬件状态监控脚本
Dell 各系列的机器,只要是 PERC 的RAID控制器,都可以用这个脚本
check_disk_array.sh脚本内容如下:
#!/bin/sh
Array_card="a0" #盘阵控制器号
STATUS=0
for a in "$Array_card"
do
Disk_munber=`/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -$a |grep "Disks"|head -1| cut -d: -f2`
Firmware_state=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Firmware state" | awk '{print $3}'|cut -d, -f1|sed -n "$Firmware_state_munber p"`
Firmware_state_munber=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Firmware state" | awk '{print $3}'|cut -d, -f1|sed -n '/Online/!='`
Physical_disk=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Physical Disk:"|awk '{print $3}'|sed -n "$Firmware_state_munber p"`
Inquiry_data=` /opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Inquiry Data" | awk '{print $3}'|sed -n "$Firmware_state_munber p"`
if [ "$Firmware_state_munber" != "" ]
then
echo "CRITICAL,DELL Disk Array,disk $Physical_disk is $Firmware_state,SN is $Inquiry_data" && STATUS=2
elif [ "$Disk_munber" -ne "15" ]
then
echo "CRITICAL,DELL Disk Array Some Disks is unonline!!!" && STATUS=2
else
echo "OK,DELL Disk Array is OK" && STATUS=0
fi
done
exit $STATUS
被监控的客户端
1,安装LSI的命令行工具:MegaCliLin
Lib_Utils-1.00-08.noarch.rpm
MegaCli-8.00.29-1.i386.rpm
2,设置sudo,让脚本可以用root权限不用密码进行执行(安装sudo部分就不介绍了,请自行google)
vi sudo配置文件,在56行附近的“Defaults requiretty”下面添加“Defaults:nagios !requiretty”
在76行附近的“root ALL=(ALL) ALL”下面添加“nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/check_disk_array.sh”
3,在客户端尝试查看盘阵所在控制器名及物理硬盘数量来调整脚本
4,使用NRPE设置脚本check_disk_array.sh
在配置文件相应位置里添加
command[check_disk_array]=/usr/bin/sudo /usr/local/nagios/libexec/check_disk_array.sh
5,重启xinetd
监控的服务端
1,添加nagios配置文件内check_disk_array.sh的设置
实例:
检测的服务器:
define host {
use neiwang-server
host_name 192.168.36.231
alias Dell_disk_array
address 192.168.36.231
}
check_disk_array的service写法
define service{
use neiwang-service ; Name of service template to use
host_name linux-28-slaveldap
service_description check_disk_array
check_command check_nrpe!check_disk_array
}
此文直接是基于网上的raid监控文章,要有些部分不明白的,还是Google学习下就好。我也就算个站在巨人的肩膀上的猪。大家要是有用就拿去用,或者当看个乐子看,呵呵!
资料链接:http://space.itpub.net/13379967/viewspace-675021
Dell 各系列的机器,只要是 PERC 的RAID控制器,都可以用这个脚本
check_disk_array.sh脚本内容如下:
#!/bin/sh
Array_card="a0" #盘阵控制器号
STATUS=0
for a in "$Array_card"
do
Disk_munber=`/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -$a |grep "Disks"|head -1| cut -d: -f2`
Firmware_state=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Firmware state" | awk '{print $3}'|cut -d, -f1|sed -n "$Firmware_state_munber p"`
Firmware_state_munber=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Firmware state" | awk '{print $3}'|cut -d, -f1|sed -n '/Online/!='`
Physical_disk=`/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Physical Disk:"|awk '{print $3}'|sed -n "$Firmware_state_munber p"`
Inquiry_data=` /opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -$a |grep "Inquiry Data" | awk '{print $3}'|sed -n "$Firmware_state_munber p"`
if [ "$Firmware_state_munber" != "" ]
then
echo "CRITICAL,DELL Disk Array,disk $Physical_disk is $Firmware_state,SN is $Inquiry_data" && STATUS=2
elif [ "$Disk_munber" -ne "15" ]
then
echo "CRITICAL,DELL Disk Array Some Disks is unonline!!!" && STATUS=2
else
echo "OK,DELL Disk Array is OK" && STATUS=0
fi
done
exit $STATUS
被监控的客户端
1,安装LSI的命令行工具:MegaCliLin
Lib_Utils-1.00-08.noarch.rpm
MegaCli-8.00.29-1.i386.rpm
2,设置sudo,让脚本可以用root权限不用密码进行执行(安装sudo部分就不介绍了,请自行google)
vi sudo配置文件,在56行附近的“Defaults requiretty”下面添加“Defaults:nagios !requiretty”
在76行附近的“root ALL=(ALL) ALL”下面添加“nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/check_disk_array.sh”
3,在客户端尝试查看盘阵所在控制器名及物理硬盘数量来调整脚本
4,使用NRPE设置脚本check_disk_array.sh
在配置文件相应位置里添加
command[check_disk_array]=/usr/bin/sudo /usr/local/nagios/libexec/check_disk_array.sh
5,重启xinetd
监控的服务端
1,添加nagios配置文件内check_disk_array.sh的设置
实例:
检测的服务器:
define host {
use neiwang-server
host_name 192.168.36.231
alias Dell_disk_array
address 192.168.36.231
}
check_disk_array的service写法
define service{
use neiwang-service ; Name of service template to use
host_name linux-28-slaveldap
service_description check_disk_array
check_command check_nrpe!check_disk_array
}
此文直接是基于网上的raid监控文章,要有些部分不明白的,还是Google学习下就好。我也就算个站在巨人的肩膀上的猪。大家要是有用就拿去用,或者当看个乐子看,呵呵!
资料链接:http://space.itpub.net/13379967/viewspace-675021
相关文章推荐
- 巧用nagios脚本监控oracle连接
- 基于nagios网络监控----脚本
- Linux系统的负载与CPU、内存、硬盘、用户数监控的shell脚本
- Nagios监控DELL服务器硬件 推荐
- 硬盘阀值监控报警脚本
- nagios io监控脚本
- nagios监控hpux硬盘空间(基于snmp)
- 通过collectd工具获取虚拟机的nagios监控脚本简单例子
- Nagios监控DELL服务器硬件
- nagios监控mysql主从状态的简单脚本
- nagios 监控hadoop脚本
- nagios监控mysql(借助脚本)
- Nagios通过check_megaraid_sas(基于MecaCli工具的插件)对RAID卡和硬盘进行监控的方法
- 关于nagios系统下使用shell脚本自定义监控插件的编写
- shell脚本监控linux系统内存使用情况的方法(不使用nagios监控linux)
- 2017年11月最新Nagios4.3.4部署 邮件&音频告警 自定义监控脚本
- 监控数据库锁阻塞_机器连接数_警报日志的shell脚本 分享
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- Nagios 监控内存脚本
- nagios监控流量脚本