redfish上报告警失败,报错error: SSL connect error.

问题描述

获取事件订阅


查询订阅信息

触发告警之后:
查看/dev/shm/log/net_stream.log日志:
出现[Redfish] report event failed, Destination is: https://70.176.2.203/RedfishEvents/iBMCEventReceiver1.php, error: SSL connect error.
image

分析结论

ibmc_sdk/5.13.00.01.b002@openubmc/stable更新到ibmc_sdk/5.14.00.01.b001@openubmc/stable导致的;
已经测试更新sdk之前没有这个问题,求助排查下

答案内容由AI生成,仅供参考:
根据提供的知识库信息,您遇到的 redfish 上报告警失败并报错 SSL connect error 的问题,与 ibmc_sdk5.13.00.01.b002 升级到 5.14.00.01.b001 相关。知识库中虽未直接解释该 SDK 版本变化的具体影响,但包含多个与 SSL 连接失败相关的实体、关系和文档片段,可以综合用于分析可能的原因。


可能的原因(基于知识库信息)

  1. SSL/TLS 协议版本不匹配

    • 知识库中定义了 SSL Alert Protocol Version 实体,明确指出:“该错误码表示连接建立期间 TLS 协议版本不匹配”。
    • 关联关系描述:Redfish Client 因 SSL 协议版本不匹配而产生错误;Redfish Client Python 因“SSL alert with protocol version version”连接失败。
    • 升级 SDK 后,底层的 TLS 实现或默认协议版本可能发生变化,导致与告警接收服务器 (https://70.176.2.203) 不兼容。
  2. SSL 证书验证/配置问题

    • SSL Verification Failure 实体指出 portal_agent.lua 中因 ssl_verify 字段为 nil 导致失败。文档主题 #5850(reference_id: 1)中有完全对应的报错日志:
      redfish ERROR: portal_agent.lua(266): attempt to index field 'ssl_verify' (a nil value)
      
      该问题在清除 Customer 设置并重启 interface 后恢复正常。
    • 搜索结果(#1、#2、#5)反复提到 SSL 证书导入失败 的问题,原因包括:
      • 使用 openssl 1.x 生成证书导致 p12 parse fail(升级到 openssl3.x 后可正常导入)。
      • 加密操作不正确导致证书在 BMC 中无法生效。
      • 社区资料缺失 SSL 自定义证书的制作与配置方法。
    • 升级后,若 BMC 侧的 CA 证书链或本地 SSL 证书与接收服务器不匹配,可能导致 SSL 握手失败。
  3. iBMC 版本/固件不兼容

    • 实体 iBMC Version 描述中包含:“a legacy firmware version that is incompatible with OpenUBMC updates and was unexpectedly booted after the update”。
    • ibmc_sdk 5.13 升级到 5.14 后,如底层固件版本发生变化,可能引入 SSL 库或系统服务的不兼容性,影响外部 HTTPS 连接。
  4. 系统组件初始化异常

    • 文档主题 #5850 的日志显示,当 Customer 设置为 CTCC 并重启后,redfish 服务出现 app_preloader.lua 异常退出,并导致后续 SSL 字段访问错误。
    • 组件 event_policyredfish 存在交互关系(用于管理事件订阅和告警转发),若该组件因 SDK 升级出现初始化失败(如 pcall error 或服务未启动),同样可能影响告警上报。

排查建议(基于知识库内容)

排查方向 相关依据 建议操作
TLS 版本兼容性 SSL Alert Protocol Version 实体、Redfish Client 关系 确认接收服务器 70.176.2.203 支持的 TLS 版本(例如 TLS 1.2/1.3),并检查 BMC 升级后默认使用的 TLS 版本是否一致。
SSL 证书有效性 SSL Verification Failure 实体、搜索结果 #1/#2/#5 按照社区方法(参考 使用 openssl 制作 SSL 证书)重新生成证书,并确保正确的加密方式;检查 BMC 的 CA 证书管理中是否已导入正确的服务器证书。
Customer/Interface 配置 文档 #5850 日志 尝试执行 busctl --user set-property bmc.kepler.maca /bmc/kepler/Managers/1/Package bmc.kepler.Managers.Package Customer s "" 并重启 interface 进程,观察 SSL 报错是否消失。
SDK 版本回退对比 用户自述“更新前无问题” 暂时回退到 ibmc_sdk/5.13.00.01.b002,验证告警上报是否恢复正常,以进一步定位为版本变更所引发。
查看详细日志 net_stream.log 中的 SSL connect error 检查 app.logportal_agent.lua 相关日志,确认是否有 ssl_verify nilSSL Alert Protocol Version 等具体错误标识。

附加信息

  • 事件订阅失败重试机制:知识库中存在 Event Subscription Failure Retry Count Verification Method,该方法是用于验证重试计数和间隔是否生效,可作为后续稳定性加固参考。
  • Redfish-Event-Listener:若告警接收端基于 DMTF 的开源项目 Redfish-Event-Listener,请确保其 SSL 配置与 BMC 侧兼容。

如果以上排查仍无法解决,建议在社区论坛(如 discuss.openubmc.cn)提供 net_stream.logapp.log 的完整片段,以便进一步分析 SDK 版本变化带来的具体组件差异。

这日志说明bmc与redfish事件订阅服务器的TLS握手失败,可能原因为证书不配套导致认证失败,或者是事件订阅服务器没有开启ssl认证使能,而BMC开启了ssl认证使能导致。这个问题与sdk版本差异应该没有关系