溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

發(fā)布時(shí)間:2020-07-21 17:29:50 來(lái)源:網(wǎng)絡(luò) 閱讀:2300 作者:1122nbanba 欄目:移動(dòng)開(kāi)發(fā)

nagios監(jiān)控raid磁盤陣列網(wǎng)上文檔很多,但大部分都是基于linux系統(tǒng)的,這里寫的是基于windows2003系統(tǒng)的raid磁盤陣列監(jiān)控,raid卡有LSI的低端raid卡,F(xiàn)usion-MPT SAS系列ioc0和MegaRAID SAS系列。

     MegaRAID SAS系列raid卡可以用 MegaCli 的工具查看,MegaCli 的linux版本和windows版本網(wǎng)上都有,這里給兩個(gè)鏈接,照著鏈接的文檔很快就能做出來(lái)

http://blog.chinaunix.net/uid-21505614-id-2847524.html 

http://blog.itpub.net/13379967/viewspace-675021/

    基于linux系統(tǒng)的megaRAID卡安裝megacli工具后再下個(gè) check_megaraid_sas 插件就能結(jié)合nagios監(jiān)控,但是windows2003系統(tǒng),安裝megacli Windows版的工具后還需要自己寫插件結(jié)合nagios監(jiān)控,因?yàn)閏heck_megaraid_sas沒(méi)有windows版的,這里先寫一個(gè)megaRAID卡基于windows系統(tǒng)的監(jiān)控。

   我的服務(wù)器是IBM x3650 m3  raid卡megaRAID,系統(tǒng)是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://download.csdn.net/download/goding/4079095 )

     python-2.7.8.amd64.msi

    (插件用python寫的,需要python環(huán)境 https://www.python.org/downloads/  )

1、安裝megacli工具

     megacli直接解壓就可以用

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

    直接在cmd界面運(yùn)行 megacli64.exe  -PDList -aALL (查看硬盤信息)   

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

這樣,硬盤信息的基本信息就可以看見(jiàn)了。

2、安裝 python-2.7.8.amd64.msi (配置python環(huán)境)

                 python安裝后添加環(huán)境變量

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

其實(shí)照理來(lái)說(shuō),NSCP-0.4.1.73-x64.msi安裝包里有PythonScript.dll 這個(gè)模塊應(yīng)該是不用安裝python環(huán)境就可以執(zhí)行python腳本,但是一直沒(méi)研究出來(lái)怎么配置,所以不得不安裝python環(huán)境,順便練練python

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

3、安裝  NSCP-0.4.1.73-x64.msi (nagios客戶端工具)

                  NSCP-0.4.1.73-x64.msi這款工具是直接安裝,網(wǎng)上文檔也很多,具體結(jié)合nagios怎么配置就不多說(shuō)了,下面 給個(gè)鏈接,可以自己照著配置 http://blog.sina.com.cn/s/blog_53d375970101dgrl.html 

這里說(shuō)下 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  #該行為手工添

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

上面的配置是軟件安裝后的正常配置,如果要 自定義編寫插件還要在文件末尾添加兩項(xiàng)配置

[/settings/external      scripts/scripts]     #設(shè)置擴(kuò)展腳本,注意中間只留一個(gè)空格

check_raid5=python     scripts/python/check_raid5.py    

# check_raid5是腳本別名,python     scripts/python/check_raid5.py  就是使用python 命令執(zhí)行 check_raid5.py 這個(gè)腳本

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

      可以看到 check_raid5.py 存放的路徑 在C:\Program Files\NSClient++\scripts\python目錄下,nsclient.ini 文件自定義插件的詳細(xì)配置可以看官方文檔 http://docs.nsclient.org/howto/external_scripts.html 

nsclient.ini配置完成后重啟  nsclient++  服務(wù)。

4、測(cè)試

                    找一臺(tái)已經(jīng)裝好nagios的機(jī)器, 進(jìn)入cd   /usr/local/nagios/libexec/  目錄,使用 ./check_nrpe -H 192.168.2.82  進(jìn)行測(cè)試。(192.168.2.82 是上面安裝了NSCP-0.4.1.73-x64.msi 的windows客戶端機(jī)器)

這里使用./check_nrpe  而不是 ./check_nt 是根據(jù)官網(wǎng)說(shuō)明來(lái)做的,當(dāng)時(shí)看到官網(wǎng)使用./check_nrpe測(cè)試windows客戶端很奇怪,nrpe不是nagios的linux客戶端嗎?,結(jié)果在windows客戶端上使用netstat  -an 發(fā)現(xiàn)windows機(jī)器上也開(kāi)啟了nrpe的5666端口,說(shuō)明可以用./check_nrpe插件來(lái)連接windows客戶端,老外搞的玩意兒果然很草蛋。

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

 ./check_nrpe -H 192.168.2.82  測(cè)試返回   I (0,4,1,73 2012-12-17) seem to be doing fine... 結(jié)果說(shuō)明通訊正常

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

   ./check_nt   -H   192.168.2.82   -p 12489   -v   USEDDISKSPACE -l   c   -w  80   -c   90   (使用check_nt 去測(cè)試192.168.2.82 windows客戶端的 C 盤容量)

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

很草蛋吧, NSCP-0.4.1.73-x64.msi 安裝后的windows客戶端可以同時(shí)使用check_nrpe  和check_nt 去連接。

接著測(cè)試自己寫的check_raid5.py 腳本,去檢測(cè)服務(wù)器的磁盤陣列raid5

                    前面介紹過(guò)  服務(wù)器是IBM x3650 m3  raid卡megaRAID,系統(tǒng)是windows2003_x64位  ,IP :   192.168.2.82,用5塊300G的磁盤做的raid5,其中有一塊是壞盤,raid5做完后面板dasd告警

cmd界面運(yùn)行  megacli64.exe  -PDList -aALL   (查看硬盤信息),可以看見(jiàn)有一塊盤沒(méi)有顯示online,如下圖

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

其它4塊盤都顯示正常

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

我的腳本原理就是通過(guò) megacli64  -PDList -aALL 命令檢測(cè) Online 關(guān)鍵字來(lái)判斷raid5是否正常,我的raid5是5塊磁盤,有一塊是壞的,那么腳本檢測(cè)出的就是4個(gè)online關(guān)鍵字,返回Raid is error,返回值為2

          check_raid5.py

                      

import os
output = os.popen('C:\WINDOWS\system32\MegaCli64 -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本機(jī)測(cè)試 python check_raid5.py

 nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

在遠(yuǎn)程nagios主機(jī)上測(cè)試,./check_nrpe -H 192.168.2.82  -c check_raid5 (check_raid5是nsclient.ini文件里配置的腳本別名,配置見(jiàn)上面)

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

可以看到測(cè)試返回Raid is error ,腳本的返回值為2。

修改腳本,將 a == 5 改為 a ==4,這樣,5塊磁盤檢測(cè)出4個(gè)online顯示正常。

import os
output = os.popen('C:\WINDOWS\system32\MegaCli64 -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)

在遠(yuǎn)程nagios主機(jī)上測(cè)試

nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

這樣nagios主機(jī)遠(yuǎn)程調(diào)用window主機(jī)上的腳本監(jiān)控raid5磁盤陣列就成功了。


上面的實(shí)驗(yàn)是基于 window2003系統(tǒng),megaRAID卡來(lái)做的,下面說(shuō)一下基于window2003系統(tǒng)的LSI的低端raid卡,F(xiàn)usion-MPT SAS系列ioc0怎么監(jiān)控。

       ioc0低端raid卡在linux系統(tǒng)里可以通過(guò)mpt-status工具監(jiān)控,只不過(guò)安裝了工具后還要自己再寫一個(gè)腳本去通過(guò)mpt-status命令統(tǒng)計(jì)online關(guān)鍵字來(lái)檢測(cè)raid磁盤陣列,這樣就能結(jié)合nagios來(lái)監(jiān)控raid了,mpt-status具體配置文檔 http://blog.chinaunix.net/uid-20344928-id-3188135.html 

       然而ioc0低端raid卡在windows系統(tǒng)里就只能通過(guò)mpt-status的windows版工具,這個(gè)工具還是找的IBM官方要的,百度死活找不到,google又訪問(wèn)不了。

       https://www-947.ibm.com/support/entry/myportal/docdisplay?lndocid=MIGR-65666 (mpt-status的windows版工具 )

 mpt-status也是下載下來(lái)就能用

       服務(wù)器是DELL r710  ioc0低端raid卡  系統(tǒng)windows2003_x64位 兩塊300G硬盤做的raid0

    nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

    nagios監(jiān)控raid磁盤陣列(Fusion-MPT SAS系列raid卡 ioc0)

 可以看到硬盤容量,在線狀態(tài)online,硬盤序列號(hào),這樣就可以通過(guò)統(tǒng)計(jì)online關(guān)鍵字來(lái)監(jiān)控raid1磁盤陣列,寫成插件后就可以結(jié)合nagios進(jìn)行監(jiān)控。(具體方法見(jiàn)上面的megaRAID卡基于windows系統(tǒng)的監(jiān)控)


附件:http://down.51cto.com/data/2364844
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI