首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时监控IPMI SEL的脚本

实时监控IPMI SEL的脚本
EN

Stack Overflow用户
提问于 2012-09-20 11:22:59
回答 3查看 2.6K关注 0票数 1

我想实时监控IPMI系统事件日志(SEL)。我想要的是,每当在SEL中生成一个事件时,应该自动生成一个邮件警报。

实现这一点的一种方法是,我可以编写一个脚本并在cron中调度它。该脚本将运行3或4次一天,所以每当一个新的事件产生,一个邮件警报将发送给我。

我希望监控器处于活动状态。就像每当生成事件时,应该向我发送邮件,而不是定期检查。

SEL日志格式如下:

server-001% sudo ipmitool选择列表

b4 | 05/27/2009 | 13:38:32 |风扇#0x37 |高临界

c8 | 05/27/2009 | 13:38:35 |风扇#0x37 |高临界

dc |2009-08-15| 07:07:50 |风扇#0x37 |高临界

因此,对于上面的情况,无论何时生成新事件,都应该自动向我发送一个邮件警报。我如何使用bash脚本实现这一点。任何指针都将受到高度赞赏。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-21 01:08:05

我相信一些供应商在他们的固件中有专门的扩展来满足您的描述(例如,您只需在服务处理器中配置一个电子邮件地址),但我不能与每个供应商的支持人员交谈。你必须在你的主板的文档中找到它。

就标准机制而言,您可能正在寻找IPMI PET (平台事件陷阱)支持。对于PET,当生成某些SEL事件时,它将生成SNMP陷阱。一旦SNMP守护进程接收到SNMP陷阱,它就可以执行您想做的任何操作,例如发送电子邮件。

FreeIPMI的一位用户在文档中写下了他的经历,并发布了他的脚本,你可以在这里找到:

http://www.gnu.org/software/freeipmi/download.html

(免责声明:我维护FreeIPMI,所以我更了解FreeIPMI,不确定其他IPMI软件是否支持。)

作为FYI,几个IPMI SEL日志记录守护进程(FreeIPMI的ipmiseld和ipmitool的ipmievtd是我知道的两个)根据可配置的秒数轮询SEL,并将SEL信息记录到syslog中。还可以在syslog中配置邮件警报,以便在发生事件时发送电子邮件。这些守护进程仍然是基于轮询的,而不是实时的,但是这些守护进程可能会处理您的cron脚本可能不知道的许多IPMI死角情况。

票数 3
EN

Stack Overflow用户

发布于 2014-10-21 18:26:19

可以使用ipmievd工具实现对IPMI SEL事件的监控。它是ipmitool包的一部分。

代码语言:javascript
复制
  # rpm -qf /usr/sbin/ipmievd
   ipmitool-1.8.11-12.el6.x86_64

要将SEL事件发送到syslog,请执行以下命令。

代码语言:javascript
复制
   ipmievd sel daemon

现在,为了模拟SEL事件的生成,我们将执行以下命令。

代码语言:javascript
复制
   ipmitool event 2

这将生成以下事件

代码语言:javascript
复制
   ` Voltage Threshold - Lower Critical - Going Low`

要获取可以生成的SEL事件的列表,请尝试

代码语言:javascript
复制
 # ipmitool event

 usage: event <num>
 Send generic test events
 1 : Temperature - Upper Critical - Going High
 2 : Voltage Threshold - Lower Critical - Going Low
 3 : Memory - Correctable ECC

该事件将被通知到/var/log/messages。在日志文件中生成了以下消息。

代码语言:javascript
复制
Oct 21 15:12:32 mgthost ipmievd: Voltage sensor - Lower Critical going low
票数 0
EN

Stack Overflow用户

发布于 2016-05-26 02:38:34

以防对其他人有帮助。

我创建了一个shell脚本来记录这种格式的数据,我用php解析它,并使用google的图表api制作了一个漂亮的折线图。2016-05-25 13:33:15,20°C,23°C 2016-05-25 13:53:06,21.50°C,24°C 2016-05-25 14:34:39,19°C,22.50°C

代码语言:javascript
复制
#!/bin/sh

DATE=`date '+%Y-%m-%d %H:%M:%S'`
temp0=$(ipmitool sdr type Temperature | grep "CPU0 Diode" | cut -f5 -d"|")
temp1=$(ipmitool sdr type Temperature | grep "CPU1 Diode" | cut -f5 -d"|")
echo "$DATE,$temp0,$temp1" >> /events/temps.dat

我现在遇到的问题是让cron作业正确地访问数据,即使它是在根crontab中设置的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12505676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档