// 此模板仅供参考,如果不适用可以修改
问题描述
AC后偶现传感器读值为32,门限值配置为70,但是产生了过温告警
环境信息
-
操作系统:[如 Ubuntu 24.04]
-
软件版本:[如 OpenUBMC2509]
-
硬件配置:[如 CPU、内存等]
重现步骤
-
[第一步]AC后观察系统事件
-
过温告警立马恢复
期望结果
无告警产生
实际结果
无误告警
分析结论
CSR配置:
“ThresholdSensor_M2TransferCardTemp”: {
“AssertMask”: 128,
“DeassertMask”: 28800,
“ReadingMask”: 2056,
“M”: 100,
“RBExp”: 224,
“OwnerId”: 32,
“OwnerLun”: 0,
“EntityId”: “<=/Entity_M2TransferCard.Id”,
“EntityInstance”: “<=/Entity_M2TransferCard.Instance”,
“Initialization”: 127,
“Capabilities”: 104,
“SensorType”: 1,
“ReadingType”: 1,
“SensorName”: “M2 Trans${Slot} Temp”,
“Unit”: 128,
“BaseUnit”: 1,
“Analog”: 1,
“NominalReading”: 25,
“MaximumReading”: 127,
“MinimumReading”: 128,
“UpperNoncritical”: 70,
“PositiveHysteresis”: 2,
“NegativeHysteresis”: 2,
“Reading”: “<=/Scanner_M2TransferCardTemp.Value”,
“ReadingStatus”: “<=/Scanner_M2TransferCardTemp.Status”,
“SensorNumber”: 255
},“Event_DiskBackplaneOverTempMajor”: {
“Reading”: “<=/Scanner_M2TransferCardTemp.Value |> expr($1 > 255 ? 20 : ($1 >= 128 ? (-(255 - $1 + 1)) : $1))”,
“OperatorId”: 4,
“Enabled”: true,
“DescArg1”: “#/M2TransferCard_1.Name”,
“DescArg3”: “#/Event_DiskBackplaneOverTempMajor.Reading”,
“DescArg4”: “#/ThresholdSensor_M2TransferCardTemp.UpperNoncritical”,
“Component”: “#/Component_M2TransferCard”,
“Condition”: “<=/ThresholdSensor_M2TransferCardTemp.UpperNoncritical”,
“Hysteresis”: “<=/ThresholdSensor_M2TransferCardTemp.PositiveHysteresis”,
“AdditionalInfo” : “1,3,4”
},
[详细总结您对此问题的分析结论]
日志如下:
2026-07-24 08:48:55.098567 event NOTICE: hardware_event.lua(593): Event_DiskBackplaneOverTempMajor_010104|{“type”:“synchronization”,“source”:{“expressions”:[“expr($1 > 255 ? 20 : ($1 >= 128 ? (-(255 - $1 + 1)) : $1))”],“properties”:[{“Service”:“bmc.kepler.hwproxy”,“Property”:“Value”,“Interface”:“bmc.kepler.Scanner”,“Path”:“/bmc/kepler/Scanner/Scanner_M2TransferCardTemp_010104”}]},“value”:[32]}
2026-07-24 08:48:55.221377 event NOTICE: abstract_event.lua(242): [Event_DiskBackplaneOverTempMajor_010104] generate an event [assert] while Reading change to [32].
2026-07-24 08:48:55.320981 event NOTICE: hardware_event.lua(593): Event_DiskBackplaneOverTempMajor_010104|{“type”:“synchronization”,“source”:{“properties”:[{“Service”:“bmc.kepler.sensor”,“Property”:“UpperNoncritical”,“Interface”:“bmc.kepler.Systems.ThresholdSensor”,“Path”:“/bmc/kepler/Systems/1/ThresholdSensors/ThresholdSensor_M2TransferCardTemp_010104”}]},“value”:[70]}
2026-07-24 08:48:55.407938 event NOTICE: abstract_event.lua(242): [Event_DiskBackplaneOverTempMajor_010104] generate an event [deassert] while Condition change to [70].
通过分子日志可以看到产生告警时的读值为32,说明此时的上门限一定低于32;再看恢复时的日志可以看到,事件恢复并不是因为读值变化,而是上门限变为了70,读值低于上门限;因为上门限时配置死的,所以可以推断产生事件时读到的上门限为默认值0而非配置值
而且从传感器对象分发的事件来看,事件产生时传感器对象早已分发:
[2026-07-24 08:48:38] sensor ThresholdSensor_M2TransferCardTemp_010104 of host 0 is registered, number is 6.
求助:为什么事件对象会读到默认的上门限0,如何避免该种情况?
