问题描述
使用mdbctl模拟告警后,没有产生告警
已经检查过了模拟的值是正确的等可能的操作问题
在alarm.log中搜不到Event_Hi1822OverTemp相关的对象
甚至整个收集文件中也搜不到除了csr以外其他的搜索结果
是没注册告警对象么,有什么定位方向么?
答案内容由AI生成,仅供参考:
最可能的结论是:Event_Hi1822OverTemp 事件对象未注册成功,原因通常是 CSR 未生效或配置错误。
建议按以下顺序定位:
registered.txt / not_registerd.txt;busctl 直接查询 Event 对象是否存在;如果以上步骤都无法定位,请检查是否存在告警码屏蔽或事件描述源配置问题。
根据您提供的信息,Event_Hi1822OverTemp 对象很可能未成功注册,或 CSR 配置未生效。以下是依据现有上下文得出的分析定位方向:
在 alarm.log 中搜不到 Event_Hi1822OverTemp 相关对象,这与典型的 “Event 对象未注册” 现象一致。
上下文中明确提到:
案例7:Event对象就没注册
查看日志registered.txt和not_registerd.txt都没有。
场景一:修改的 CSR 根本就没生效;
场景二:配置错误。
因此,您的问题大概率属于 CSR 未生效 或 事件配置错误 两类原因之一。
registered.txt 和 not_registerd.txt 两个日志文件,确认其中是否包含 Event_Hi1822OverTemp。使用以下命令直接查询环境中是否存在该 Event 对象:
busctl --user call bmc.kepler.hwdiscovery /bmc/kepler/ObjectGroup/{你的Position} bmc.kepler.ObjectGroup GetObjects a{ss}s 0 'event'
Event_Hi1822OverTemp,则说明 CSR 未加载该事件或配置未生效。Component 对象,且 Component 的 Type 需要与事件码高位匹配(例如事件码 0x02xxxxxx 则需要查找 Type 为 2 的部件)。上下文中强调:
Event 对直接修改 Reading 引用值以及Mock 接口这 2 种模拟方式直接负责,其他方式的“模拟”则先由对应告警开发定位。
mdbctl 属于 Mock 接口 方式,则 Event 应直接负责告警产生;mdbctl 修改的是 非 Event 对象的属性(例如直接改 Scanner 之外的硬件属性),则需要由对应告警的开发定位,而不是 Event 本身的问题。alarm.log 是检查 对象注册和初始告警值 的重要日志来源,您已检查过该文件,说明方向正确。event_def.json)版本是否正确;最可能的结论是:Event_Hi1822OverTemp 事件对象未注册成功,原因通常是 CSR 未生效或配置错误。
建议按以下顺序定位:
registered.txt / not_registerd.txt;busctl 直接查询 Event 对象是否存在;如果以上步骤都无法定位,请检查是否存在告警码屏蔽或事件描述源配置问题。
模拟告警失败.zip (14.4 MB)
是的,在一键收集日志里的alarm.log没有就是告警对象没注册;
可以从框架日志确认有没有加载到该csr文件,或者可以查看该csr里其他对象有没有正常加载
csr加载了,看了下传感器对象是正常加载了,event对象都没有注册,其他的还没看