nagios監控raid下磁盤和raid狀態腳本實現

  Linux下服務器做了硬件raid之后,磁盤的狀態比較難定位,windows則可以通過MegaRAID來檢測,此腳本通過MegaCli來達到定位raid下哪塊磁盤是壞塊的功能,在nagios上面可以實現通過定期通過檢測以郵箱或者短信等形式,來達到預警的功能,腳本在幾臺物理機上面測試過,是沒問題的,分享給各位,也希望大家能相互討論,學習。

會寧ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯公司的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

 一、安裝Megacli:

 rpm-ivh megacli-8.00.46-2.x86_64.rpm

     二、添加腳本到nagios監控:

 執行visudo,然后在文件中root   ALL=(ALL)       ALL下面加入如下一行:

 nagios ALL=(ALL)NOPASSWD:/usr/local/nagios/libexec/check_raid.sh

  并注釋以下一行

 #Defaults    requiretty

 把腳本放在/usr/local/nagios/libexec目錄下,chmod +x check_raid.sh,賦予x權限,并編輯/usr/local/nagios/etc/nrpe.cfg加入

command[check_raid]=/usr/bin/sudo/usr/local/nagios/libexec/check_raid.sh

 重啟nrpe(根據安裝方式的不同,可能有差異)

#pkill nrpe
#/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d

 三、監控腳本說明:

#!/bin/sh
#Program:
#    for monitor raid disk state
#history:
#------           First release
#檢測是否是LSI卡
rcexist=`dmesg| grep RAID | grep LSI`
if [ ! -n"$rcexist" ]; then
    echo "not LSI or no raid"
    exit 2
fi
 
OUTPUT=''
 
#判斷raid類型
R1=`/usr/sbin/MegaCli-cfgdsply -aALL | grep "RAID Level" |awk -F: '{print $2}' | sed -e"s/^[ ]*//" | grep -c "Primary-1, Secondary-0, RAID LevelQualifier-0"`
R0=`/usr/sbin/MegaCli-cfgdsply -aALL | grep "RAID Level" |awk -F: '{print $2}' | sed -e"s/^[ ]*//" | grep -c "Primary-0, Secondary-0, RAID LevelQualifier-0"`
R5=`/usr/sbin/MegaCli-cfgdsply -aALL | grep "RAID Level" |awk -F: '{print $2}' | sed -e"s/^[ ]*//" | grep -c "Primary-5, Secondary-0, RAID LevelQualifier-3"`
R10=`/usr/sbin/MegaCli-cfgdsply -aALL | grep "RAID Level" |awk -F: '{print $2}' | sed -e"s/^[ ]*//" | grep -c "Primary-1, Secondary-3, RAID LevelQualifier-0"`
if [ $R1-ge 2 ];then
    OUTPUT+="RAID10 "
elif [ $R1-eq 1 ];then
    OUTPUT+="RAID1 "
fi
if [ $R0-ne 0 ];then
    OUTPUT+="RAID0 "
fi
if [ $R5-ne 0 ];then
    OUTPUT+="RAID5 "
fi
if [ $R10-ne 0 ];then
    OUTPUT+="RAID10 "
fi
#以上的if是根據資料和實際情況做了微調
#raid下面總的磁盤數
DiskNum=`/usr/sbin/MegaCli-cfgdsply -aALL | grep -c "Non Coerced Size"`
OUTPUT+="TotalDisk:$DiskNum"
 
#處于raid中的正常的盤數
OnlineDisk=`/usr/sbin/MegaCli-cfgdsply -aALL | grep "Online" | wc -l`
OUTPUT+="online: $OnlineDisk"
if [$DiskNum -ne $OnlineDisk ];then
    echo "CRITICAL:$OUTPUT"
    exit 2
fi
 
#是否有壞的盤
FailDisk=`/usr/sbin/MegaCli-AdpAllInfo -aALL | grep "Failed Disks" | awk '{print $4}'`
if [$FailDisk -eq 0 ];then
    OUTPUT+=" failed disk:0 "
else
   OUTPUT+=" failed disk:$FailDisk"
    echo "CRITICAL: $OUTPUT"
    exit 2
fi
 
#預警的盤以及位置
CriticalDisk=`/usr/sbin/MegaCli-AdpAllInfo -aALL | grep "Critical Disks" | awk '{print $4}'`
if [$CriticalDisk -eq 0 ];then
    OUTPUT+="critiDisk is 0"
else
    CriDisk=`/usr/sbin/MegaCli -cfgdsply -aALL| grep -E 'Predictive|Slot' | awk \
'{if(NR%3){printf$0":"}else{print $0}}'|awk -F':' '{if($4!=0){print $2+1}}'`
    OUTPUT+=" critidisk in $CriDiskslot"
    echo "WARNING: $OUTPUT"
    exit 1
fi
 
#MediaErrcount檢測壞塊和哪塊盤
MediaErrcount=`/usr/sbin/MegaCli-pdlist -aALL | grep -E "Media Error" |awk -F’:’ -v errcount=0 \
'{errcount+=$2}END{printerrcount}'`
OtherErrcount=`/usr/sbin/MegaCli-pdlist -aALL | grep -E "Other Error" |awk -F’:’ -v errcount=0 \
'{errcount+=$2}END{printerrcount}'`
#壞盤的位置
if [ $MediaErrcount-ne 0 -o $OtherErrcount -ne 0 ];then
    mDoD=`/usr/sbin/MegaCli -pdlist -aALL |grep -E "Media Error|Other Error|Slot" | awk \
'{if(NR%3){printf$0":"}else{print $0}}' | awk -F':' '{if($4!=0||$6!=0){print $2+1}}'`
    OUTPUT+=" bad block in $mDoD"
    echo "CRITICAL: $OUTPUT"
    exit 2
else
    OUTPUT+=" mediaerr:0 othererr:0"
fi
 
#raid狀態是否正常
raidstate=`/usr/sbin/MegaCli-LDInfo -Lall -aAll | grep 'State' |awk -F':' '{print $2}' | \
sort |uniq | sed -e "s/^[ ]*//" | awk '{if($0 != "Optimal"){print"bad"}}'`
if ["$raidstate" != "bad" ];then
    OUTPUT+=" raidstate:ok"
else
    OUTPUT+=" raidstate:bad"
    echo "CRITICAL: $OUTPUT"
    exit 2
fi
rm -rf./MegaSAS.log
echo$OUTPUT

    檢測結果如下:

 RAID5 Total Disk: 4 online: 4 failed disk:0 critidisk is 0 mediaerr:0 othererr:0 raidstate:ok

    

新聞名稱:nagios監控raid下磁盤和raid狀態腳本實現
網頁路徑:http://m.kartarina.com/article16/pihpdg.html

成都網站建設公司_創新互聯,為您提供面包屑導航網站導航定制開發品牌網站制作用戶體驗電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名
主站蜘蛛池模板: 亚洲av日韩av无码| AV无码免费永久在线观看| 亚洲日韩精品无码专区加勒比☆| 少妇人妻无码精品视频| 亚洲爆乳AAA无码专区| 中文字幕无码免费久久| 久久亚洲AV无码精品色午夜麻豆| 国产精品va无码二区| 无码专区—VA亚洲V天堂| 国产精品99无码一区二区| 久久久久亚洲av无码尤物| 无码专区国产无套粉嫩白浆内射| 亚洲精品无码午夜福利中文字幕| 亚洲AV无码成人精品区日韩| 一本无码中文字幕在线观| 在线A级毛片无码免费真人| 人妻中文字系列无码专区| 东京热无码av一区二区| 精品久久久久久无码中文野结衣| 色情无码WWW视频无码区小黄鸭| 国模无码一区二区三区不卡| 国外AV无码精品国产精品| 精品深夜AV无码一区二区老年| 亚洲色无码一区二区三区| 国产成人无码A区在线观看视频| 亚洲AV无码成人精品区日韩| 婷婷四虎东京热无码群交双飞视频| 亚洲中文字幕无码日韩| 亚洲午夜福利精品无码| 亚洲AV无码一区二区三区在线观看 | 精品爆乳一区二区三区无码av | 亚洲AV无码专区国产乱码4SE| 亚洲免费日韩无码系列| 国产aⅴ激情无码久久久无码 | 日日摸夜夜添无码AVA片| 麻豆aⅴ精品无码一区二区| 91嫩草国产在线无码观看| 97久久精品亚洲中文字幕无码| 久久99精品久久久久久hb无码| 无码人妻精品一区二区三区在线| 色综合久久无码五十路人妻|