电源出现频繁告警 ,告警间隔约为数秒一次。告警发生期间,操作系统处于正常上电并运行状态。
从 BMC 日志来看,可记录到 GPIO 电源相关信号发生变化并触发告警;但进一步读取 CPLD 寄存器,显示电源状态为正常上电,未发现异常。
电源出现频繁告警 ,告警间隔约为数秒一次。告警发生期间,操作系统处于正常上电并运行状态。
从 BMC 日志来看,可记录到 GPIO 电源相关信号发生变化并触发告警;但进一步读取 CPLD 寄存器,显示电源状态为正常上电,未发现异常。
答案内容由AI生成,仅供参考:
根据您提供的 BMC 日志 和 告警事件列表,系统存在频繁的“AClost Alert”(交流电源丢失)事件(事件码:0x0300001F),但实际 CPLD 寄存器显示电源状态正常且操作系统持续运行。以下为基于上下文信息的综合分析。
告警特征:
日志线索:
power_mgmt NOTICE: log_service.lua(235): Get AC lost signal
power_mgmt NOTICE: add_event.lua(21): touch power failure alarm
系统状态:
结合知识图谱中的实体与关系数据,可以得出以下结论:
| 来源 | 关键信息 |
|---|---|
AClost Alert (KG) |
由 GPIO 中断触发,用于判断前一次电源故障原因 |
AClost Alert → Power Management Component (KG) |
电源管理组件通过 GPIO 中断 检测 AC 掉电事件 |
| BMC 日志 | 明确记录 Get AC lost signal 多达 240 次以上 |
| CPLD 状态 | 寄存器确认 无电源故障,证明实际未掉电 |
| 告警时间差 | “电源发生时间”滞后于真实系统时间约 3 分钟 → 为虚假时间记录 |
结论:电源并未真正丢失,而是 GPIO 引脚误检测到低电平信号(模拟掉电信号),导致电源管理模块错误地认为发生了 AC 掉电,从而反复触发告警。
可能原因包括:
硬件干扰或噪声:
固件 Bug 或防抖机制缺失/不足:
电源模块(PSU)内部信号抖动:
psu_service.lua 收集 black_box_info 进一步排查(日志中已有调用该功能的记录)。电源冗余配置异常:
PSUREDUNDANCYLOST_010101)存在于系统中(参见文档块 DC1),提示电源链路可能存在间歇性异常。graph LR
A[PSU AC Present信号] --> B(GPIO引脚)
B --> C{BMC检测中断}
C --> D[Power Management Component]
D --> E[log_service.lua: Get AC lost signal]
E --> F[add_event.lua: 触发PowerFailureAlarm]
F --> G[生成事件码0x0300001F]
G --> H[Web界面显示告警]
关键脚本文件:
log_service.lua:负责捕获并处理 AC lost 信号add_event.lua:生成并上报事件psu_service.lua:可收集 PSU 黑匣子日志用于诊断核心组件:
AC Present GPIO 引脚是否配置了防抖。contbin_H5L5 或更高级别的防抖策略(见搜索结果 #2)。-- 配置AC信号防抖策略为高5次低5次
debounce_strategy = "contbin_H5L5"
psu_service.lua 获取 PSU 的 black_box_info 数据:# 触发手动采集(如支持)
lua psu_service.lua --psu_id 1 --get_black_box_info
record real ac time 的来源准确,避免误判历史事件。事件码 0x0300001F 的含义:
AClost Alert 事件。为何操作系统无感知?
当前状态是否影响业务?
| 项目 | 内容 |
|---|---|
| 事件类型 | 虚假 AC 电源丢失告警 |
| 根本原因 | GPIO 信号误触发,未有效防抖 |
| 真实状态 | 电源正常,CPLD 无异常 |
| 解决方案 | 增强防抖机制 + 收集黑匣子日志 + 检查硬件连接 |
| 建议优先级 | 高(虽不影响运行,但易导致误判) |
建议立即执行 PSU 黑匣子日志采集 和 GPIO 防抖策略审查,以彻底关闭此误告警问题。
相关链接:
power_mgmt在gpio_drived.lua文件中会监听gpio中断信号,就会产生这个事件,正常是发生掉电会收到这个信号,需要看下为什么反复收到这个信号