有关硬件 RAID 状态的电子邮件通知

有关硬件 RAID 状态的电子邮件通知

我有一台带有 HP Smart Array 硬件 RAID 控制器的服务器。为了监视其状态,我使用 cpqarrayd。/etc/default/cpqarrayd包含DAEMON_OPTS="-t localhost:162"在发生某些情况时发送 SNMP 陷阱。陷阱由 snmptrapd 处理,/etc/snmp/snmptrapd.conf包含

disableAuthorization yes
traphandle default mailx -s "SNMP Trap" [email protected]

通过这种方式收到的电子邮件包含 SNMP 陷阱,但它们不是人类可读的,并且无法判断它们的内容,或者它们是否由 cpqarrayd 发出。当 RAID 状态发生变化时,是否可以发送人类可读的电子邮件?

解决方案

以下脚本放置在 cron.hourly 中:

#!/bin/sh

CCISS_DEVICE=/dev/cciss/c0d1
STATUS_FILE=/var/cciss_vol_status
TMP_FILE=$TMPDIR/status-$$.$RANDOM

mv $STATUS_FILE $TMP_FILE
cciss_vol_status $CCISS_DEVICE >$STATUS_FILE

if ! cmp -s $STATUS_FILE $TMP_FILE ; then
    mailx -s "CCISS status changed" [email protected] <$STATUS_FILE
fi

rm $TMP_FILE

答案1

首先,请看:当驱动器出现故障时,如何让我的 HP 服务器向我发送电子邮件?

简而言之,作为ProLiant 服务包或者管理组件包(Debian) 将为您提供有关系统健康状况的适当警报。这包括磁盘、阵列控制器、风扇、温度、电源、ILO、NIC 等的陷阱。

Debian 完全支持此功能。您可以在HP 软件交付存储库

分为两部分(自动配置的安装程序):

在您的snmpd.conf文件中:

# Following entries were added by HP Insight Management Agents at
#      Thu Mar 18 04:14:43 PDT 2010
dlmod cmaX /usr/lib64/libcmaX64.so

使用 SNMP 注册 HP 健康代理。

以及/opt/hp/hp-snmp-agents/cma.conf文件:

############################################################
#
# cma.conf: HP Insight Management Agents configuration file
#
############################################################

########################################################################
# trapemail is used for configuring email command(s) which will be
# executed whenever a SNMP trap is generated.
# Multiple trapemail lines are allowed.
# Note: any command that reads standard input can be used. For example:
#             trapemail /usr/bin/logger
#       will log trap messages into system log (/var/log/messages).
########################################################################
trapemail /bin/mail -s 'HP Insight Management Agents Trap Alarm' [email protected]

典型的 RAID 警报电子邮件如下:

Trap-ID=3040

Accelerator Board Battery status change, slot number: 1.
Battery failed. Status: Failed..

或者

Trap-ID=3034

Logical Drive Status Change: Slot 1, Drive: 2.Status is now Rebuilding.

或者

Trap-ID=3034

Logical Drive Status Change: Slot 1, Drive: 1.Status is now OK.

编辑:

看来您在使用 100 系列 ProLiant、HP Health 代理和 Debian 时遇到了困难。这是一个受支持的解决方案,但取决于您安装和配置解决方案的方式,你可能会有问题。鉴于此,您可能只需安装cciss_vol_status实用程序并通过 cron 运行定期检查。

答案2

snmptt(SNMP 陷阱转换器)是一款很棒的小工具。您可以教它典型的 OID 和消息,并将它们转换为一些合理的消息。看看它是否能满足您的需求。

编辑:哦,如果你还没有,那就去吧下载 SNMP MIB为您的设备创建一个新目录并将其放入/usr/share/snmp/mibs目录中。然后重新启动 snmpd 和 snmptrapd。

相关内容