Мониторинг raid контроллера Smart Array P410i
Мониторинг raid контроллера Smart Array P410i
Если вы сталкивались с серверами HP и с контроллерами Smart Array P410i то наверняка видели, что в утилите от HP Array Configuration Utility нет информирования о проблемах, ну скажем на email, что очень удобно. Многие скажут что можно прикрутить zabbix или nagios, или любую другую систему мониторинга, но мне нужно было все сделать просто и как говорится через немножко задний проход. Я поступил проще.
1. скачал утилитку HP Array Configuration Utility CLI
2. состряпал небольшой скриптик на powershell со следующем содержанием
#кол-во опрашиваемых дисков
$diskscount = 6
#настраиваем почту
$serverSmtp = "АДРЕС_СЕРВЕРА"
$port = 25
$from = "ОТ_КОГО_ОТПРАВЛЯЕМ"
$to = "КОМУ_ОТПРАВЛЯЕМ_МОЖНО_ЧЕРЕЗ_ЗАПЯТУЮ"
$subject = "Alarm!!! Raid Controller Error"
$user = "ЛОГИН_НА_ПОЧТОВЫЙ_СЕРВЕР"
$pass = "ПАРОЛЬ"
#складываем ошибки
[integer]$errorlog = 0
#полный лог результата проверки
$result = C:\"Program Files"\Compaq\Hpacucli\Bin\hpacucli.exe ctrl slot=0 pd all show status
#погнали
For ($i=0; $i -le $diskscount; $i++) {
[string]$string = C:\"Program Files"\Compaq\Hpacucli\Bin\hpacucli.exe ctrl slot=0 pd 1I:1:$i show status
if ($string.Trim().EndsWith("Failed") -eq 'Failed') {
$errorlog++
}
}
#если есть хоть одна ошибка, отправляем отчет на почту
if ($errorlog -gt 0) {
$MesssagyBody = $result
$mes = New-Object System.Net.Mail.MailMessage
$mes.From = $from
$mes.To.Add($to)
$mes.Subject = $subject
$mes.IsBodyHTML = $true
$mes.Body = $MesssagyBody
$smtp = New-Object Net.Mail.SmtpClient($serverSmtp, $port)
$smtp.EnableSSL = $false
$smtp.Credentials = New-Object System.Net.NetworkCredential($user, $pass);
$smtp.Send($mes)
}
вот такой, быстро написаный не идеальный скрипт, при первой ошибки Failed по расписанию будет отправлять информацию на емайл (расписание не забываем сделать в планировщике)
Только «status» совсем инфы не дает, ктроме того что ошибка есть.
Надо отсылать вывод всего show по конкретному диску
Или не заморачиваться, a сделать:
$result = C:\»Program Files»\Compaq\Hpacucli\Bin\hpacucli.exe ctrl all show config detail
и тогда при любой ошибке — получим всю картину по всем контроллерам
А так же нужно еще мониторить статус самого контроллера — проблемы то могут быть не только с диском, а с контроллером/кэшем/батарейкой