本文主要介绍nagios通过check_megaraid_sas添加对主机raid卡状态的监控。
欢迎转载,请注明作者、出处。
目录
1.前提说明
对于使用了LSI MegaRAID卡搭建RAID的主机, 通过LSI公司提供的MegaCli工具, 就可以实现对RAID卡和硬盘的监控。
2.前提安装
在需要被监控主机上进行以下操作:
a. 查看服务器类型:dmidecode -s system-product-name
b. 检查RAID卡信息:dmesg | grep RAID
c. 确认是否已经安装工具:
[root@localhost ~]# rpm -qa | egrep 'Lib_Utils|MegaCli'
Lib_Utils-1.00-09.noarch
MegaCli-8.02.21-1.noarch
如果还没有安装,建议下载安装使用最新的MegaCli, 这样就支持更多的SAS硬盘类型的监控。安装完成后,如何正确安装,执行MegaCli会有如下提示:
[root@localhost ~]# MegaCli
Fatal error - Command Tool invoked with wrong parameters
Exit Code: 0x01
d. 使用MegaCli查看相关信息(not necessary)
# MegaCli -help (查看命令帮助)
# MegaCli -adpCount (查看适配器个数)
#MegaCli -LdGetNum -aALL (查看逻辑盘个数)
# MegaCli -LdInfo -LALL -aAll (显示所有逻辑盘信息)
3.脚本安装
下载check_megaraid_sas脚本,该脚本通过MegaCli命令来获取监控信息的Nagios插件, 使用perl编写的。
下载地址: http://www.techno-obscura.com/~delgado/code/check_megaraid_sas
修改该脚本内容:
# vi check_megaraid_sas
a. 查找第35行:
use lib qw(/usr/lib/nagios/plugins /usr/lib64/nagios/plugins); # possible pathes to your Nagios plugins and utils.pm
修改为:
use lib qw(/usr/local/nagios/libexec); # possible pathes to your Nagios plugins and utils.pm
说明:/usr/local/nagios/libexec 为nrpe 在监控端主机上的路径。
b. 查找第52-53行:
my $megaclibin = '/usr/sbin/MegaCli'; # the full path to your MegaCli binary
my $megacli = "sudo $megaclibin"; # how we actually call MegaCli
修改为:
my $megaclibin = '/usr/sbin/MegaCli'; # the full path to your MegaCli binary
my $megacli = "$megaclibin"; # how we actually call MegaCli
说明:/usr/sbin/MegaCli为MegaCli的绝对路径。
c. 移动脚本位置,增加执行权限:
# cp check_megaraid_sas /usr/local/nagios/libexec/check_megaraid_sas
# chmod 755 /usr/local/nagios/libexec/check_megaraid_sas
# /usr/local/nagios/libexec/check_megaraid_sas -h (查看使用帮助)
# /usr/local/nagios/libexec/check_megaraid_sas (检查状态)
OK: 0:0:RAID-10:4 drives:1.089TB:Optimal Drives:4
4.被监控端配置
a. 在被监控端主机,修改:/usr/local/nagios/etc/nrpe.cfg,添加以下内容:
command[check_megaraid_sas]=/usr/local/nagios/libexec/check_megaraid_sas
b. 重启被监控端nrpe:
# ps -ef|grep nrpe
nagios 10751 1 0 09:17 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 12961 11538 0 10:27 pts/1 00:00:00 grep nrpe
#kill 10751
# cat /etc/rc.local |grep nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
执行该脚本,启动。
c. 测试nagios监控命令:
#/usr/local/nagios/libexec/check_nrpe -H localhost -c check_megaraid_sas -t 30
正常情况下返回值为:OK: Drives:0 。若提示:command ‘check_megaraid_sas’ not defined. 则说明没有在nrpe.cfg中添加command或者没有重启nrpe进程。
5.nagios配置
进入nagiosql管理界面:
a. 添加命令:命令à定义à添加à输入如下图所示à保存à写入配置文件
b. 添加服务:监督à服务à输入如下配置à保存à写入配置
c. 添加主机:监督àHostà添加à输入所需配置à添加服务à保存à写入配置文件
d. 重启nagios:工具àNagios控制à检查配置文件(无报错后)à重新启动Nagios
最后在nagios的service中可以看到:
本文转自ITPUB博客84223932的博客,原文链接:Nagios添加服务之check_raid(check_megaraid_sas),如需转载请自行联系原博主。