nagios
使用nagios监控HP服务器的RAID:前提本地服务器已经安装好nagios-plugin和nrpe模块,如果没有安装可以搜索一下,相关教程有很多,属于nagios的使用。这里只说一下如何监控raid.当前使用的操作系统为centos5.1
安装完成后,默认生成的可执行文件为:/usr/sbin/hpacucli使用以下命令可以对服务器硬盘和RAID进行检测:$ sudo /usr/sbin/hpacucli ctrl slot=0 pd all show status physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 300 GB): OK physicaldrive 1I:1:2 (port 1I:box 1:bay 2, 300 GB): OK physicaldrive 1I:1:3 (port 1I:box 1:bay 3, 300 GB): OK$ sudo /usr/sbin/hpacucli ctrl slot=0 logicaldrive all show|grep RAID logicaldrive 1 (558.7 GB, RAID 5, OK)
编辑脚本,使nrpe可以调用:#!/bin/bash#First create date:2016/01/07#Author:kunka#定义nagios返回状态STATE_OK=0STATE_WARNING=1STATE_CRITICAL=2STATE_UNKNOWN=3STATE_DEPENDENT=4i=1#设置变量DISK_COM=$(sudo /usr/sbin/hpacucli ctrl slot=0 pd all show status|awk '{print $9}')DISK_ERR=$(sudo /usr/sbin/hpacucli ctrl slot=0 pd all show status|grep -v OK)DISK_RAID=$(sudo /usr/sbin/hpacucli ctrl slot=0 logicaldrive all show|grep RAID)if [ $? -eq 0 ];then for OK in $DISK_COM do if [ $OK = 'OK' ];then i=$(($i+1)) else echo 'Warning:' $DISK_ERR,$DISK_RAID exit $STATE_CRITICAL fi done echo 'OK-RAID:' $DISK_RAID exit $STATE_OKelse echo 'Unkonwn! hpacucli can not to exec.' exit $STATE_UNKNOWNfi
由于nrpe一般都设置为nagios用户执行,因此需要使用sudo权限,修改/etc/sudoers文件: #vim /etc/sudoers Defaults requiretty --注释掉 nagios ALL=NOPASSWD:/usr/sbin/hpacucli :wq保存退出
配置nrpe文件:将上面的脚本复制到usr/local/nagios/libexec/目录下,然后编辑#vim nrep.cfgcommand[check_raid]=/usr/local/nagios/libexec/check_raid.sh 启动nrpe:#sudo /usr/local/nagios/bin/nrpe -d /usr/local/nagios/etc/nrpe.cfg
配置nagios文件:1)添加主机文件2)修改nagios.cfg文件3) 检查nagios配置文件 sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg3)重启nagios服务