ISSUE链接
新增可观测使能开关-mdb_interface-GitCode
背景
可观测功能由客户端和服务端组成。客户端使用开源软件opentelemetry采集组件的日志,追踪,度量数据,上报给服务端,服务端由Observaibility组件提供,支持将客户端数据发送到可视化工具。当前可观测功能开关由上层组件Observability组件提供,客户端无法感知开关,导致可观测服务关闭状态下,客户端仍然会一直上报观测数据,达不到真正关闭的作用。需要将开关下沉到persistence组件,由persistence组件提供属性开关,客户端监听属性开关,判断是否发送数据
整体方案
当前可观测功能开关由上层组件Observability组件提供,客户端无法直接监听,需要由持久化提供属性开关。有以下两种实现方式
方案一:保留原有Observability组件提供的可观测功能开关,persistence服务提供开观测使能开关,Observablility属性变化则同步到persistence服务使能开关,以达到通知客户端的目的
方案二:由persistence组件提供可观测使能属性,Observability服务端以及客户端均通过监听该开关感知是否开启观测功能
新增资源协作接口信息如下
path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability
property: Enabled
变化类型:新增资源树接口
应用场景:可观测功能使能开关
持久化类型:掉电持久化
操作权限:r:ReadOnly;w:DiagnoseMgmt
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| Enabled | 新增属性 | bool | r:ReadOnly;w:DiagnoseMgmt | PoweroffPer | 是 | 可观测功能使能开关 | 无 |
决策点
- 可观测功能开关实现方案
- persistence组件新增bmc.kepler.Dashboard.Observability资源协作路径,接口,属性
评审结论
- 采用方案一,可观测功能的使能由Observability组件控制,即北向接口的设置请求由Observability组件处理,Observability组件再调用persistence组件的资源协作接口控制内部各个客户端的使能状态,opentelemetry客户端监听persistence组件的资源协作接口属性控制可观测功能使能状态
- 同意新增如下可观测功能的资源协作路径,接口,属性
path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability
属性: Enabled
表示可观测功能使能状态,签名为b,读写, 读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件

