设为首页 收藏本站
查看: 4360|回复: 1

nagios监控raid磁盘阵列(Fusion-MPT SAS系列raid卡 ioc0)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-12 11:19:02 | 显示全部楼层 |阅读模式
本帖最后由 56twe 于 2014-9-12 11:23 编辑

nagios监控raid磁盘阵列网上文档很多,但大部分都是基于linux系统的,这里写的是基于windows2003系统的raid磁盘阵列监控,raid卡有LSI的低端raid卡,Fusion-MPT SAS系列ioc0和MegaRAID SAS系列。
     MegaRAID SAS系列raid卡可以用 MegaCli 的工具查看,MegaCli 的linux版本和windows版本网上都有,这里给两个链接,照着链接的文档很快就能做出来
http://www.iyunv.com/thread-24745-1-1.html
http://www.iyunv.com/thread-24746-1-1.html
    基于linux系统的megaRAID卡安装megacli工具后再下个 check_megaraid_sas 插件就能结合nagios监控,但是windows2003系统,安装megacli Windows版的工具后还需要自己写插件结合nagios监控,因为check_megaraid_sas没有windows版的,这里先写一个megaRAID卡基于windows系统的监控。
   我的服务器是IBM x3650 m3  raid卡megaRAID,系统是windows2003_x64位  ,IP : 192.168.2.82
软件:
              NSCP-0.4.1.73-x64.msi
            (nagios客户端,http://sourceforge.jp/projects/sfnet_nscplus/releases/  )
     8.00.40_Windows_MegaCLI.zip
    (megacli工具window版,http://pan.baidu.com/s/1c0itRUC
     python-2.7.8.amd64.msi
    (插件用python写的,需要python环境 https://www.python.org/downloads/  )
1、安装megacli工具
     megacli直接解压就可以用
wKioL1QP-JKiyVgPAAREanorAso268.jpg
    直接在cmd界面运行 megacli64.exe  -PDList -aALL (查看硬盘信息)   
wKioL1QP_2vwImm7AAPHgjtHfrg555.jpg
这样,硬盘信息的基本信息就可以看见了。
2、安装 python-2.7.8.amd64.msi (配置python环境)
                 python安装后添加环境变量
wKiom1QQKMWjz9djAAWAurKzSiw916.jpg
其实照理来说,NSCP-0.4.1.73-x64.msi安装包里有PythonScript.dll 这个模块应该是不用安装python环境就可以执行python脚本,但是一直没研究出来怎么配置,所以不得不安装python环境,顺便练练python
wKioL1QQBQaQlQk7AAGLcjyDyNQ983.jpg
3、安装  NSCP-0.4.1.73-x64.msi (nagios客户端工具)
                  NSCP-0.4.1.73-x64.msi这款工具是直接安装,网上文档也很多,具体结合nagios怎么配置就不多说了,下面 给个链接,可以自己照着配置 http://blog.sina.com.cn/s/blog_53d375970101dgrl.html
这里说下 NSCP-0.4.1.73-x64.msi  怎么去自定义编写插件。
                 NSCP-0.4.1.73-x64.msi 安装后需要配置nsclient.ini文件
    [/modules]
   ;CheckWMI = 1  #注释掉该行
   [/settings/default]
   allowed hosts = *
   ;password =
    port = 12489  #该行为手工添

wKiom1QQAnbSgnzaAAH8c5bAwZ4092.jpg
上面的配置是软件安装后的正常配置,如果要 自定义编写插件还要在文件末尾添加两项配置
[/settings/external      scripts/scripts]     #设置扩展脚本,注意中间只留一个空格
check_raid5=python     scripts/python/check_raid5.py   
# check_raid5是脚本别名,python     scripts/python/check_raid5.py  就是使用python 命令执行 check_raid5.py 这个脚本
wKioL1QQCRjAbbi2AARMnucjWsI780.jpg
      可以看到 check_raid5.py 存放的路径 在C:Program FilesNSClient++scriptspython目录下,nsclient.ini 文件自定义插件的详细配置可以看官方文档 http://docs.nsclient.org/howto/external_scripts.html
nsclient.ini配置完成后重启  nsclient++  服务。
4、测试
                    找一台已经装好nagios的机器, 进入cd   /usr/local/nagios/libexec/  目录,使用 ./check_nrpe -H 192.168.2.82  进行测试。(192.168.2.82 是上面安装了NSCP-0.4.1.73-x64.msi 的windows客户端机器)
这里使用./check_nrpe  而不是 ./check_nt 是根据官网说明来做的,当时看到官网使用./check_nrpe测试windows客户端很奇怪,nrpe不是nagios的linux客户端吗?,结果在windows客户端上使用netstat  -an 发现windows机器上也开启了nrpe的5666端口,说明可以用./check_nrpe插件来连接windows客户端,老外搞的玩意儿果然很草蛋。
wKiom1QQDMKzG-C8AACWXS-yKOQ258.jpg
./check_nrpe -H 192.168.2.82  测试返回   I (0,4,1,73 2012-12-17) seem to be doing fine... 结果说明通讯正常
wKiom1QQC4PxqXOJAADCtT3NYKA673.jpg
   ./check_nt   -H   192.168.2.82   -p 12489   -v   USEDDISKSPACE -l   c   -w  80   -c   90   (使用check_nt 去测试192.168.2.82 windows客户端的 C 盘容量)
wKioL1QQEf3jEYR0AAO-OdVlriM415.jpg
很草蛋吧, NSCP-0.4.1.73-x64.msi 安装后的windows客户端可以同时使用check_nrpe  和check_nt 去连接。
接着测试自己写的check_raid5.py 脚本,去检测服务器的磁盘阵列raid5
                    前面介绍过  服务器是IBM x3650 m3  raid卡megaRAID,系统是windows2003_x64位  ,IP :   192.168.2.82,用5块300G的磁盘做的raid5,其中有一块是坏盘,raid5做完后面板dasd告警
cmd界面运行  megacli64.exe  -PDList -aALL   (查看硬盘信息),可以看见有一块盘没有显示online,如下图
wKiom1QQEofyKc-WAAREanorAso597.jpg
其它4块盘都显示正常
wKioL1QQFcKAnhs_AABKshqv3As251.jpg
我的脚本原理就是通过 megacli64  -PDList -aALL 命令检测 Online 关键字来判断raid5是否正常,我的raid5是5块磁盘,有一块是坏的,那么脚本检测出的就是4个online关键字,返回Raid is error,返回值为2
          check_raid5.py
                     
1
2
3
4
5
6
7
8
9
10
11
12
import os
output = os.popen('C:WINDOWSsystem32MegaCli64 -PDList -aALL')
a = 0
for i in output.readlines():
    if 'Online' in i:
        a += 1      
if (a == 5):
    print "Raid is OK "
    exit(0)
else:
    print "Raid is error"
    exit(2)





windows本机测试 python check_raid5.py
wKiom1QQFzXShezdAACOoOZypoM034.jpg
在远程nagios主机上测试,./check_nrpe -H 192.168.2.82  -c check_raid5 (check_raid5是nsclient.ini文件里配置的脚本别名,配置见上面)
wKiom1QQGUuS-yERAACbs3_RMRI197.jpg
可以看到测试返回Raid is error ,脚本的返回值为2。
修改脚本,将 a == 5 改为 a ==4,这样,5块磁盘检测出4个online显示正常。

1
2
3
4
5
6
7
8
9
10
11
12
import os
output = os.popen('C:WINDOWSsystem32MegaCli64 -PDList -aALL')
a = 0
for i in output.readlines():
    if 'Online' in i:
        a += 1      

    print "Raid is OK "
    exit(0)
else:
    print "Raid is error"
    exit(2)



在远程nagios主机上测试
wKiom1QQJjLBxECjAAPFPKg0PUk146.jpg
这样nagios主机远程调用window主机上的脚本监控raid5磁盘阵列就成功了。

上面的实验是基于 window2003系统,megaRAID卡来做的,下面说一下基于window2003系统的LSI的低端raid卡,Fusion-MPT SAS系列ioc0怎么监控。
       ioc0低端raid卡在linux系统里可以通过mpt-status工具监控,只不过安装了工具后还要自己再写一个脚本去通过mpt-status命令统计online关键字来检测raid磁盘阵列,这样就能结合nagios来监控raid了,mpt-status具体配置文档 http://www.iyunv.com/thread-24743-1-1.html
       然而ioc0低端raid卡在windows系统里就只能通过mpt-status的windows版工具,这个工具还是找的IBM官方要的,百度死活找不到,google又访问不了。
       https://www-947.ibm.com/support/ ... ?lndocid=MIGR-65666 (mpt-status的windows版工具 )
mpt-status也是下载下来就能用
       服务器是DELL r710  ioc0低端raid卡  系统windows2003_x64位 两块300G硬盘做的raid0
    wKioL1QQJmTA2uPxAATvWdAhslM840.jpg
   
可以看到硬盘容量,在线状态online,硬盘序列号,这样就可以通过统计online关键字来监控raid1磁盘阵列,写成插件后就可以结合nagios进行监控。(具体方法见上面的megaRAID卡基于windows系统的监控)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-24744-1-1.html 上篇帖子: Nagios安装与部署实例 下篇帖子: nagios监控mysql(check_mysql)及内存使用率(check_mem) 监控
累计签到:1 天
连续签到:1 天
发表于 2017-6-26 10:13:23 | 显示全部楼层
感谢分享!!!!!!!学习

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表