Nagios通过check_megaraid_sas(基于MecaCli工具的插件)对RAID卡和硬盘进行监控的方法

标签: Nagios | 发表时间:2011-08-13 06:30 | 作者:edeed kissingwolf
出处:http://hi.baidu.com/edeed
对于使用了LSI MegaRAID卡搭建RAID的, 通过LSI公司提供的MegaCli工具, 就可以实现对RAID卡和硬盘的监控. 注: DELL PERC5/6(PowerEdge RAID ControllerPERC)阵列卡实际上也就是LSI MegaRAID SAS controllers.
最新MegaCli工具包下载地址:
http://www.lsi.com/Search/Pages/results.aspx?k=megacli&r=assettype%3D%22AQ1NaXNjZWxsYW5lb3VzCWFzc2V0dHlwZQEBXgEk%22%20os%3D%22AQVMaW51eAJvcwEBXgEk%22

1. 安装前提

1) 查看服务器类型

# dmidecode -s system-product-name                                 (新版本dmidecode使用)
or
# dmidecode | grep "Product Name"                                 (低版本dmidecode使用)
Lenovo WQ R520 G7

2) 确认是否使用MegaRAID卡

--HP ProLiant系列服务器大都使用Smart Array阵列卡
不适用.

--Lenovo万全系列服务器可能如下显示(有些不可用?)
# dmesg | grep RAID
scsi0 : LSI SAS based MegaRAID driver
  Vendor: LSI       Model: MegaRAID 8300XLP  Rev: 2.02
md: Autodetecting RAID arrays.

--IBM x系列服务器可能如下显示
# dmesg | grep RAID
scsi0 : LSI SAS based MegaRAID driver
  Vendor: IBM       Model: ServeRAID M5015   Rev: 2.0.
md: Autodetecting RAID arrays.

--Dell PowerEdge系列服务器可能如下显示
# dmesg | grep RAID
scsi0 : LSI Logic SAS based MegaRAID driver
md: Autodetecting RAID arrays.

3) 确认是否已安装

# rpm -qa | egrep 'Lib_Utils|MegaCli'

2. 安装MegaCli

建议下载安装使用最新的MegaCli, 这样就支持更多的SAS硬盘类型的监控.
# cd /tmp
# unzip 8.01.06_Linux_MegaCLI.zip                 (解压MegaCli软件包)
Archive:  8.01.06_Linux_MegaCLI.zip
  inflating: readme.txt              
  inflating: 8.01.06_Linux_MegaCLI.txt  
 extracting: MegaCliLin.zip          
# unzip MegaCliLin.zip                                 (进一步解压MegaCliLin软件包)
Archive:  MegaCliLin.zip
  inflating: Lib_Utils-1.00-08.noarch.rpm  
replace readme.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: readme.txt              
  inflating: MegaCli-8.01.06-1.i386.rpm  
其中MegaCli-8.01.06-1.i386.rpm包是我们需要的(32bit或64bit系统都使用该包), 如果操作系统缺失了MegaCli相关的依赖包, 那么就需要先安装Lib_Utils-1.00-08.noarch.rpm了:
# rpm -ivh Lib_Utils-1.00-08.noarch.rpm
# rpm -Uvh MegaCli-8.01.06-1.i386.rpm
# rpm -ql MegaCli                                 (确认MegaCli包的安装文件信息)
/opt/MegaRAID/MegaCli/MegaCli
/opt/MegaRAID/MegaCli/MegaCli64
如果是32bit系统, 就使用MegaCli; 如果是64bit系统就是使用MegaCli64.
# /opt/MegaRAID/MegaCli/MegaCli         (该命令直接执行会提示如下错误)
or
# /opt/MegaRAID/MegaCli/MegaCli64      (该命令直接执行会提示如下错误)
Fatal error - Command Tool invoked with wrong parameters
Exit Code: 0x01

3. 测试MegaCli

# arch                                 (确定操作系统架构)
x86_64
原文件有大小写和数字, 且路径太长, 建议做个软连接到/usr/bin目录:
# ln -sf /opt/MegaRAID/MegaCli/MegaCli /usr/bin/megacli              (32bit系统)
or

# ln -sf /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/megacli          (64bit系统)

现在就可以直接执行软连接后的文件了:

# megacli -help                                      (查看命令帮助)

# megacli -adpCount                                 (查看适配器个数)
#megacli -LdGetNum -aALL                      (查看逻辑盘个数)
# megacli -LdInfo -LALL -aAll                     (显示所有逻辑盘信息, IBM x3650服务器示例)
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name               :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 1.086 TB
State               : Optimal
Strip Size          : 128 KB
Number Of Drives per span:4                     //表示每4个物理盘做成一个RAID1盘组
Span Depth          : 2                                  //表示共2个RAID1盘组做成了RAID10
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Access Policy       : Read/Write
Disk Cache Policy   : Disabled
Encryption Type     : None
Default Power Savings Policy: Controller Defined
Current Power Savings Policy: None
Can spin up in 1 minute: Yes
LD has drives that support T10 power conditions: Yes
LD's IO profile supports MAX power savings with cached writes: Yes
Exit Code: 0x00
# megacli -PdList -aAll| more                     (显示所有的物理盘信息, IBM x3650服务器示例)
Adapter #0
Enclosure Device ID: 252
Slot Number: 0
Enclosure position: 0
Device Id: 8
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS
Raw Size: 279.396 GB [0x22ecb25c Sectors]
Non Coerced Size: 278.896 GB [0x22dcb25c Sectors]
Coerced Size: 278.464 GB [0x22cee000 Sectors]
Firmware state: Online, Spun Up
SAS Address(0): 0x5000cca015512ae5
SAS Address(1): 0x0
Connected Port Number: 1(path0)
Inquiry Data: IBM-ESXSCBRCA300C3ETS0 NC610PFWEMUBECCXSA610    
IBM FRU/CRU: 42D0638     
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None
Device Speed: 6.0Gb/s
Link Speed: 6.0Gb/s
Media Type: Hard Disk Device
Drive:  Not Certified
Drive Temperature :38C (100.40 F)
...
# megacli -cfgdsply -aALL | more                       (显示Raid卡型号,Raid设置,Disk相关信息)
# megacli -FwTermLog -Dsply -aALL | more       (查看Raid卡日志)
# megacli -AdpAllInfo -aALL | more                      (查看Raid卡功能详细说明)

4. 安装check_megaraid_sas

就是一个通过MegaCli命令来获取监控信息的Nagios插件, 使用perl编写的.
下载地址: http://www.techno-obscura.com/~delgado/code/check_megaraid_sas

# cd /tmp
# vi check_megaraid_sas
-------------------------------------------------------------------------
# 35行修改如下
use lib qw(/usr/local/nagios/libexec); # possible pathes to your Nagios plugins and utils.pm
# 52-53行修改如下
my $megaclibin = '/usr/bin/megacli';  # the full path to your MegaCli binary
my $megacli = "$megaclibin";      # how we actually call MegaCli
-------------------------------------------------------------------------
# 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                             (查看使用帮助)
Usage: /usr/local/nagios/libexec/check_megaraid_sas [-s number] [-m number] [-o number]
       -s is how many hotspares are attached to the controller
       -m is the number of media errors to ignore
       -p is the predictive error count to ignore
       -o is the number of other disk errors to ignore

5. 测试check_megaraid_sas

# /usr/local/nagios/libexec/check_megaraid_sas
WARNING: 0:0:RAID-10:6 drives:1.225TB:Optimal Drives:6 (365 Errors)
如果报告有错误信息, 那么通过如下命令获得哪些物理盘有错误:
# megacli -PdList -aAll| egrep "Slot Number|Error Count|Failure Count"
Slot Number: 0
Media Error Count: 0
Other Error Count: 36
Predictive Failure Count: 0
Slot Number: 1
Media Error Count: 0
Other Error Count: 37
Predictive Failure Count: 0
Slot Number: 2
Media Error Count: 0
Other Error Count: 92
Predictive Failure Count: 0
Slot Number: 3
Media Error Count: 0
Other Error Count: 90
Predictive Failure Count: 0
Slot Number: 4
Media Error Count: 0
Other Error Count: 56
Predictive Failure Count: 0
Slot Number: 5
Media Error Count: 0
Other Error Count: 54
Predictive Failure Count: 0

如果确认这些错误可以忽略, 那么如下执行:
# /usr/local/nagios/libexec/check_megaraid_sas -o 365
OK: 0:0:RAID-10:6 drives:1.225TB:Optimal Drives:6 (365 Errors)

输出信息格式说明:

<status> <controller #>:<volume #>:<RAID level>:<volume drive count>:<volume size>:<volume status> Drives:<total drives attached to controller(s)>

剩下就是设置Nagios的Command和Service了, 就不细写了啊.

--End-- 阅读全文
类别:Nagios 查看评论

相关 [nagios check megaraid] 推荐:

GitHub - andreas-schroeder/kafka-health-check: Health Check for Kafka Brokers.

- -
At AutoScout24, to keep the OS up to date of our clusters running on AWS, we perform regular in-place rolling updates. As we run immutable servers, we terminate each broker and replace them with fresh EC2 instances (keeping the previous broker ids).

nagios 监控redis

- - C1G军火库
下载check_redis.pl. OK: REDIS 2.6.12 on 192.168.0.130:6379 has 1 databases (db0) with 49801 keys, up 3 days 14 hours - connected_clients is 1, blocked_clients is 0 | connected_clients=1 blocked_clients=0.

nagios详解

- - ITeye博客
目录 1 NAGIOS介绍. 1.2 NAGIOS的工作原理. 3.5 定义HOST及HOST组. 3.7 综合 4 远程监控. 4.1 使用NRPE做NAGIOS主动监控. 4.1.1 NRPE安装. 4.1.2 NRPE使用. 4.2 使用NSCA做NAGIOS被动监控.

Quipster : Check-In 的回归

- Mir_lww - 爱范儿 · Beats of Bits
当 Check-In 渐渐沦为打折券的傀儡,Quipster 却在思考如何让 Check-In 变的更有意义. 为商业服务的 Check-In. 用户是如何使用 LBS 服务的. 数据表明有接近一半的用户因为希望得到优惠而 Check-In. 商铺建立签到点,和服务商协定好优惠信息然后坐等用户上门.

nagios+Ganglia安装备忘录

- - DBA Blog
vi /etc/ld.so.conf.d/libconfuse.conf,添加:/usr/local/lib,然后/sbin/ldconfig -v. Ganglia web前端的安装:. Ganglia的Wiki特别指出,web前端的运行需要rrdtool,以及gmetad中的rrds/目录,没有这两个东西,无法出图.

[转]nagios配置详解

- - 小鸥的博客
1、nagios默认配置文件介绍.  nagios安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,每个文件或目录含义如下表所示:. 2、配置文件之间的关系.  在nagios的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的.

切客(Checker)Check in核心价值探讨

- 壮壮爱 - 天涯海阁-Web2.0Share
前一阵去北京参加了2010年中国首届切客大会,在大会上作了《切客(Check in)核心价值探讨》的分享,现将分享主要内容和大家分享:). 这次分享的《切客(Check in)核心价值探讨》主要分享了我对于切客,LBS提供商和商家三个LBS服务中重要角色使用LBS服务的核心驱动或者商业价值. 切客通过LBS服务进行签到,分享自己的位置,LBS服务为商家提供营销的平台,同时商家也为活跃的切客提供一些折扣或者其他方式的奖励,这三者围绕地理位置着一个元素很紧密的结合在一起.

使用Nagios监控Eucalyptus云平台

- - 婉兮清扬
和运行在数据中心里的任何生产系统一样,用于生产环境的Eucalyptus私有云需要一个健康监测系统. 健康监测系统的功能是使得系统管理员能够及时了解资源使用状况,未来的发展趋势,并在资源池(服务器、网络、存储等等)出现问题的情况下提供可靠的真短信息. 我们在我们自己的生产系统当中使用 Nagios来对Eucalyptus云平台进行监控.

Nagios 监控系统架设全攻略

- - IBM developerWorks 中国 : 文档库
Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint. 它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等.

Linux下Nagios的安装与配置

- - 开源软件 - ITeye博客
  Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等. 在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知.   Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.