【已评审】支持历史数据采集需求新增资源协作接口方法

ISSUE链接

评审背景

支持历史数据采集需求,需要获取最近10分钟的传感器信息,包括温度、风扇和功率信息,每10s采样和记录一次,支持一键日志和api下载,下载文件格式为csv格式,日志内容包括:

  • SensorType(传感器类型)
  • SensorName(传感器名称)
  • Value(传感器读值)
  • Time(采样时间点)

当前现状以及差距

现状

当前BMC的传感器数据仅有全量查询实时数据能力,不具备查询历史数据能力

方案

当前需求为客户定制需求,因此整体功能由客户自定义组件中进行实现。实现逻辑:

  • 按照客户要求的收集间隔,调用BMC的传感器查询接口,获取当前的实时传感器信息
  • 按照收集传感器名称,保留历史数据的时限来保存历史的数据,保存在内存列表中
  • 按照客户的定制北向接口,进行映射配置响应【当前这部分未实现】
  • 【DFX】根据当前的收集间隔和保存时限,内存目前影响可控

差距

目前客户自定义组件中没有对应的资源协作接口,无法进行北向接口映射配置。

评审点

path(原有):/bmc/baidu/Chassis/:chassis_id/Sensors
interface(原有):bmc.Baidu.Chassis.Sensors
变化类型:新增方法
应用场景:Restful 接口触发采集和清空历史数据

新增方法:Dump和Clear

评审点1:新增方法 Dump

项 说明
方法名称 Dump
变化类型 新增方法
方法权限 ReadOnly
请求签名 无
请求参数 无
响应签名 s
响应参数 Details:类型为 string,表征采集的历史数据(CSV格式字符串)
说明:包含SensorType、SensorName、Value和Time数据
接口说明 导出采集的历史传感器数据
接口约束 无

评审点2:新增方法 Reset

项 说明
方法名称 Reset
变化类型 新增方法
方法权限 BasicSetting
请求签名 无
请求参数 无
响应签名 无
响应参数 无
接口说明 重置采集的历史数据,重置之后重新开始采集
接口约束 无

评审结论

通过,同意资源协作接口bmc.Baidu.Chassis.Sensors增加如下方法:

  • Dump,用于导出采集的传感器历史数据,无请求参数,响应签名为 s,表示采集的详细数据,字符串内容为 CSV 格式,包含 SensorType、SensorName、Value和Time信息,权限为ReadOnly
  • Reset,用于重置采集的传感器历史数据,无请求和响应参数,重新开始采集,权限为BasicSetting

遗留问题

1、Dump 方法响应返回参数 Time 字段需要明确时间格式
结论:采用redfish规范的时间(date-time)字符串格式

2、参考 Redfish 关于指标的采集清空方式,对于 Clear 方法命名修改为 Reset
结论:redfish标准资源中的Reset表示复位最近一个采集周期内的数据,方法名称可以采用 Reset,已经修改评审点描述。