其他分享
首页 > 其他分享> > 磁盘阵列中磁盘状态监控及邮件告警

磁盘阵列中磁盘状态监控及邮件告警

作者:互联网

邮件发送脚本

cat > sendMail.py << EOF
#!/usr/bin/python
#python2
#-*- coding: UTF-8 -*-
import smtplib
import sys
from email.mime.text import MIMEText
from email.utils import formataddr
#发送邮件的地址
mailHost="mail.xxx.com"
#发送邮件的用户名地址
mailUser="user@xxx.com"
#邮箱密码
mailPass="********"

#邮件格式
sender = mailUser
#接收到邮件的成员邮箱地址
receivers = ['xxxx@qq.com', 'xxxxx@qq.com']
#消息主体
message = MIMEText(sys.argv[2], "plain", "utf-8")
message['From'] = formataddr([sender, sender])
message['To'] = formataddr(receivers)
#消息主题
message['Subject'] = "'" + sys.argv[1] + " '" + 'ipfs存储磁盘告警!!!'


try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mailHost, 25)
    smtpObj.login(mailUser, mailPass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "发送成功!"
except smtplib.SMTPException as e :
    print e
    print "发送失败 !"
smtpObj.close()
EOF

阵列中磁盘检测脚本

cat > checkDisk.sh << EOF
#!/bin/bash
info=' '
ip=' '
function printInfo(){
info=`/opt/MegaRAID/storcli/storcli64 /call show`
}

function check(){
statu=`/opt/MegaRAID/storcli/storcli64 /call show| grep ^[0-9]|awk '{print $3}'`
count=0
for i in $statu
do
    i=`echo $i | sed 's/ //g'`
    if [ "${i}" = "Onln" ]||[ "${i}" = "Optl" ]
    then
        count=$[$count+1]
    else
        return 0
        break
    fi
done
return $count
}

function call(){
check
if [ $? = 0 ]
then
    printInfo
    hostName=`hostname`
    ip=`ip add | grep inet | awk 'NR==2{print $2}'`
    /opt/sendMail.py "${hostName} ${ip}" "${info}"
fi
}

call
EOF

下载阵列卡管理工具StorCLI

wget https://downloadmirror.intel.com/27654/eng/StorCLI_MR7.4p1.zip

解压

unzip StorCLI_MR7.4p1.zip
StorCLI_MR7.4p1
├── Cajun\ C++\ API\ for\ JSON\ license.txt
├── EFI
│   ├── Debug
│   │   └── storcli.efi
│   └── storcli.efi
├── FreeBSD
│   ├── FreeBSD_readme.txt
│   ├── license.txt
│   ├── storcli64.tar
│   └── storcli.tar
├── License_v2.pdf
├── Linux
│   ├── license.txt
│   ├── LINUX_Readme.txt
│   ├── splitpackage.sh
│   └── storcli-007.0415.0000.0000-1.noarch.rpm
├── StorCli_MR7.4_rel-notes.txt
├── Ubuntu
│   ├── read_me.txt
│   └── storcli_007.0415.0000.0000_all.deb
├── VMwareOP
│   ├── readme.txt
│   └── vmware-storcli-007.0415.0000.0000.vib
└── Windows
    ├── license.txt
    ├── storcli64.exe
    ├── storcli.exe
    └── WIN_ReadMe.txt

进入对应版本目录安装

rpm -ivh storcli-007.0415.0000.0000-1.noarch.rpm
/opt/
├── checkDisk.sh
├── dayDisk.sh
├── MegaRAID
│   ├── MegaCli
│   │   ├── install.log
│   │   ├── libstorelibir-2.so -> /opt/MegaRAID/MegaCli/libstorelibir-2.so.14.07-0
│   │   ├── libstorelibir-2.so.14.07-0
│   │   └── MegaCli64
│   └── storcli
│       ├── install.log
│       └── storcli64

测试

/opt/MegaRAID/storcli/storcli64 /call show
Generating detailed summary of the adapter, it may take a while to complete.

CLI Version = 007.0415.0000.0000 Feb 13, 2018
Operating system = Linux 3.10.0-prsys.2.0.0.0.x86_64
Controller = 0
Status = Success
Description = None
..................
.................
..............
.........
.....
...

标签:磁盘阵列,0000.0000,storcli64,007.0415,MegaRAID,磁盘,告警,txt,storcli
来源: https://www.cnblogs.com/super-age/p/14952463.html