拔电源线、风扇未产生冗余及输出告警问题分析
更新时间: 2026/05/27
在Gitcode上查看源码

问题背景

  • 单板类型:NA;
  • 软件版本:NA;
  • 涉及功能:告警上报;
  • 触发条件:/opt/bmc/conf/event_def.json文件中事件定义内容为空。
  • 业务表现:拔电源线或风扇正常情况下应产生冗余告警和输出告警,但操作后未产生任何告警。

问题复现步骤

  1. 服务器两电源均正常工作,拔掉其中一个电源的电源线后,在web界面未产生任何电源相关告警。
  2. 服务器风扇工作正常,拔掉其中一个风扇,在web界面未产生任何风扇相关告警。
  3. 通过cli命令对电源模拟注入故障,电源状态传感器检测失败,但未产生任何电源相关告警。
  4. 收集日志查看已拔电源线的信息,在位,输入输出电压均为0。

关键日志信息

查看日志,确认/opt/bmc/conf/event_def.json文件中事件定义内容为空:

定位过程

  1. 查看编译临时目录,在event_def.json和ibmcevents.json都存在且有风扇移除事件的定义
  2. 查看一键日志alarm.log,发现所有事件对象注册时都未定义
  3. 目前表现出的现象不只是拔电源及风扇未触发告警,所有的系统事件都不会触发。
  4. 查看环境/opt/bmc/conf/event_def.json有完整的告警内容。
  5. 查看环境/data/opt/bmc/conf/event_def.json中事件定义内容为空。

问题原因

/opt/bmc/conf/event_def.json有完整的告警内容,/data/opt/bmc/conf/event_def.json中为空。

解决方案

将event_def.json版本号从1.0.0改为1.0.1,将/opt/bmc/conf/event_def.json拷贝到/data/opt/bmc/conf/下,重启BMC有系统事件生成,mock模拟告警事件可以正常产生。