【已评审】支持度量、追踪、日志采集策略配置

关联ISSUE

新增指标,跟踪,日志采集策略配置属性-mdb_interface-GitCode
新增可观测使能开关-mdb_interface-GitCode

背景

1、支持跟踪采样和上报策略可配置,包括跟踪采样的系统采样率、系统采样策略、分级采样策略以及上报周期,提供系统级配置和管理能力,并支持配置项动态生效
(1)跟踪采样率,即系统的固定采样率,当采样率为0时,则表示关闭采样
(2)跟踪采样策略,支持固定采样策略和自适应采用策略(根据系统负载动态调整跟踪采样率,保证系统性能和业务功能稳定),默认采用固定采样
(3)跟踪分级策略,跨度创建点分为不同的类型,主要分为Server类型、Client类型、Producer类型、Consumer类型、Internal类型,分级策略将跨度类型分为不同的级别,高级别采样策略覆盖低级别采样策略,包括 1:系统级采样,BMC系统间客户端(Client)到服务端(Server)通信的调用过程 2:组件级采样,组件间客户端(Client、Producer)到服务端(Server、Consumer)通信的调用过程 3:功能级采样,组件内部业务功能(Internal)的调用过程,通过分级策略控制Span(跨度)是否创建。
(4)跟踪数据上报周期,客户端上报追踪数据到可视化系统的时间间隔,单位s

2、支持指标采集和上报策略可配置,包括指标采集的上报周期以及各个指标的使能状态,提供系统级配置和管理能力,并支持配置项动态生效
(1)指标数据上报周期,客户端上报度量指标数据到可视化系统的时间间隔,单位s
(2)各个指标的使能状态,支持对各个度量指标进行精细化管理,作单独的开启关闭动作

3、支持日志采集和上报策略可配置,配置项包括日志功能使能以及上报周期,提供系统级配置和管理能力,并支持配置项动态生效
(1)日志使能开关,日志功能总开关,是否开启日志数据记录与上报功能
(2)日志数据上报周期,客户端上报日志数据到可视化系统的时间间隔,单位s

决策点1:persistence服务下新增下列资源协作接口属性

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Traces
变化类型:新增资源协作接口及属性
应用场景 :用户更改跟踪采样和上报策略
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
SamplingRate 新增属性 d r:ReadOnly;w:DiagnoseMgmt PoweroffPer 跟踪采样率,数值精确到小数点后六位,取值范围[0.000000 - 1.000000],0.000000表示不采样,默认值0.000000
SamplingPolicy 新增属性 y r:ReadOnly;w:DiagnoseMgmt PoweroffPer 跟踪采样策略,取值范围:1:固定概率采样,使用指定的跟踪采样率 2:自适应概率采样,根据cpu自适应调整跟踪采样率,调整范围[0.000000 - 1.000000]。默认值1
SamplingLevel 新增属性 y r:ReadOnly;w:DiagnoseMgmt PoweroffPer 跟踪分级策略, 1:系统级采样,BMC系统间通信的调用过程 2:组件级采样,组件间通信的调用过程 3:功能级采样,组件内部业务功能的调用过程。默认值2
ExportIntervalSeconds 新增属性 u r:ReadOnly;w:DiagnoseMgmt PoweroffPer 跟踪数据上报周期,单位s,取值范围[2,60],默认值5s

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Metrics
变化类型:新增资源协作接口及属性
应用场景 :用户更改指标采集和上报策略
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
ExportIntervalSeconds 新增属性 u r:ReadOnly;w:DiagnoseMgmt PoweroffPer 指标数据上报周期,单位s,取值范围[5,3600],默认值30s
ActivatedMetrics 新增属性 as r:ReadOnly;w:DiagnoseMgmt PoweroffPer 已使能的指标数组,默认所有指标不使能,即空数组

path: /bmc/kepler/Dashboard
interface: bmc.kepler.Dashboard.Observability.Logs
变化类型:新增资源协作接口及属性
应用场景 :用户更改日志采集和上报策略
持久化类型 :掉电持久化
操作权限
读:ReadOnly
写:DiagnoseMgmt

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
Enabled 新增属性 b r:ReadOnly;w:DiagnoseMgmt PoweroffPer 日志使能开关,默认值false
ExportIntervalSeconds 新增属性 u r:ReadOnly;w:DiagnoseMgmt PoweroffPer 日志数据上报周期,单位s,取值范围[2,60],默认值5s

决策点2:observability服务新增资源协作接口和对应北向接口

1)observability服务新增资源协作接口

path: /bmc/kepler/ObservabilityService/Traces(新增)
interface: bmc.kepler.ObservabilityService.Traces(新增)
变化类型:新增资源协作路径、接口、方法
应用场景 :用户查询与设置跟踪配置

方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} {“SamplingRate”: “0.5”, “SamplingPolicy”: “Fixed”, “SamplingLevel”: “System”, “ExportIntervalSeconds”: “2”} ReadOnly 获取跟踪策略配置 SamplingRate 跟踪采样率,取值范围:[0.000000,1.000000]
SamplingPolicy 跟踪采样策略,取值范围:Fixed(固定采样)或Adaptive(自适应采样)
SamplingLevel 跟踪分级策略,取值范围:System(系统级采样)或Component(组件级采样)或Function(功能级采样)
ExportIntervalSeconds 跟踪数据上报周期,单位为秒,取值范围:[2,60]
SetConfigurations 新增方法 a{ss} {“SamplingRate”: “0.5”, “SamplingPolicy”: “Fixed”, “SamplingLevel”: “System”, “ExportIntervalSeconds”: “2”} DiagnoseMgmt 设置跟踪策略配置 SamplingRate 跟踪采样率,取值范围:[0.000000,1.000000]
SamplingPolicy 跟踪采样策略,取值范围:Fixed(固定采样)或Adaptive(自适应采样)
SamplingLevel 跟踪分级策略,取值范围:System(系统级采样)或Component(组件级采样)或Function(功能级采样)
ExportIntervalSeconds 跟踪数据上报周期,单位为秒,取值范围:[2,60]

path: /bmc/kepler/ObservabilityService/Metrics(新增)
interface: bmc.kepler.ObservabilityService.Metrics(新增)
变化类型:新增资源协作路径、接口、属性、方法
应用场景 :用户查询与设置度量配置

属性名称 变化类型 签名 读写&权限 持久化 变化通知 说明 接口约束
SupportedMetrics 新增属性 as r:ReadOnly 不持久化 当前版本支持的度量指标 bmc启动时从observability.json文件中读取,用户不可修改
方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} MetricsConfig:{“ExportIntervalSeconds”: “2”, “ActivatedMetrics”: “bmc.hw.chip.io,bmc.hw.chip.accessor” } ReadOnly 获取度量策略配置 ExportIntervalSeconds 指标数据上报周期,单位为秒,取值范围:[5,3600]
ActivatedMetrics 已使能的指标,取值范围:由SupportedMetrics 决定,当前版本支持"bmc.hw.chip.io",
“bmc.hw.chip.accessor”,
“bmc.hw.chip.scanner”,
bmc.mc.flash.io”,
“bmc.rpc.client.request”,
“bmc.persistence.server.request”,
"bmc.persistence.flash.io"共七种
SetConfigurations 新增方法 a{ss} MetricsConfig:{ “ExportIntervalSeconds”: “2”, “ActivatedMetrics”: “bmc.hw.chip.io,bmc.hw.chip.accessor” } DiagnoseMgmt 设置度量策略配置 ExportIntervalSeconds 指标数据上报周期,单位为秒,取值范围:[5,3600]
ActivatedMetrics 已使能的指标,取值范围:由SupportedMetrics 决定,当前版本支持"bmc.hw.chip.io",
“bmc.hw.chip.accessor”,
“bmc.hw.chip.scanner”,
bmc.mc.flash.io”,
“bmc.rpc.client.request”,
“bmc.persistence.server.request”,
"bmc.persistence.flash.io"共七种

path: /bmc/kepler/ObservabilityService/Logs(新增)
interface: bmc.kepler.ObservabilityService.Logs(新增)
变化类型:新增资源协作路径、接口、方法
应用场景 :用户查询与设置日志收集配置

方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} LogsConfig: { “Enabled”: “false”, “ExportIntervalSeconds”: “2” } ReadOnly 获取日志收集策略配置 Enabled 日志使能开关,取值范围:true或false
ExportIntervalSeconds 日志数据上报周期,单位为秒,取值范围:[2,60]
SetConfigurations 新增方法 a{ss} LogsConfig: { “Enabled”: “false”, “ExportIntervalSeconds”: “2” } DiagnoseMgmt 设置日志收集策略配置 Enabled 日志使能开关,取值范围:true或false
ExportIntervalSeconds 日志数据上报周期,单位为秒,取值范围:[2,60]

2)web rest接口新增属性

接口名:/UI/Rest/ObservabilityService
变化类型:新增属性
操作类型:GET/PATCH
应用场景 :用户更改可观测相关配置

属性名称 取值类型 取值范围 默认值 操作权限 说明
Traces object 跟踪采样和上报策略配置
SamplingRate number [0.000000,1.000000] 0.000000 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样率,[0.000000,1.000000] ,精确到小数点后六位,取值为0.000000时表示跟踪采样和上报使能关闭,GET接口中该属性不可显示为null
SamplingPolicy string Fixed或Adaptive Fixed GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样策略,
Fixed:固定采样,使用指定的采样率进行采样
Adaptive:自适应采样,根据cpu占用率自适应调整采样率
GET接口中该属性不可显示为null
SamplingLevel string System或Component或Function Component GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪分级策略,
System:系统级采样:BMC系统间通信的调用过程
Component :组件级采样:组件间通信的调用过程
Function :功能级采样:组件内部业务功能的调用过程
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪数据上报周期,单位为秒
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Metrics object 度量指标采集策略配置
ExportIntervalSeconds interger [5,3600] 30 GET:ReadOnly
PATCH:DiagnoseMgmt
度量指标采集周期,单位为秒
GET接口中该属性不可显示为null
SupportedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] GET:ReadOnly 当前版本支持的各度量指标名称,当前共七个,不支持用户设置
ActivatedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] 默认数组为空 GET:ReadOnly
PATCH:DiagnoseMgmt
各度量指标使能开关,根据SupportedMetrics显示支持的度量名称,用户选择需要的度量填入后打开对应度量指标的使能
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Logs object 日志采集和上报策略配置
Enabled Boolean true或false false GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报使能开关
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报周期,单位为秒
GET接口中该属性不可显示为null

web接口json格式示例:

{
    "ServiceEnabled": true,
    "TLSMode": "TLS",
    "ServerIdentity": "ProductAssetTag",
    "Receivers": [
        {
            "Id": 0,
            "Enabled": true,
            "Address": "1.1.1.1",
            "Port": 6666
        }
    ],
    "Traces": {
        "SamplingRate": 0.5,
        "SamplingPolicy": "Fixed",
        "SamplingLevel": "System",
        "ExportIntervalSeconds": 5
    },
    "Metrics": {
        "ExportIntervalSeconds": 30,
        "SupportedMetrics": [
            "bmc.hw.chip.io",
            "bmc.hw.chip.accessor", 
            "bmc.hw.chip.scanner", 
            "bmc.mc.flash.io", 
            "bmc.rpc.client.request", 
            "bmc.persistence.server.request", 
            "bmc.persistence.flash.io"
        ],
        "ActivatedMetrics": [
            "bmc.hw.chip.io",
            "bmc.hw.chip.accessor", 
            "bmc.hw.chip.scanner", 
            "bmc.mc.flash.io"
        ]
    },
    "Logs": {
        "Enabled": false,
        "ExportIntervalSeconds": 5
    }
}

3)redfish接口新增属性

接口名:/redfish/v1/Oem/{{OemIdentifier}}/ObservabilityService
变化类型:新增属性
操作类型:GET/PATCH
应用场景 :用户更改可观测相关配置

属性名称 取值类型 取值范围 默认值 操作权限 说明
Traces object 跟踪采样和上报策略配置
SamplingRate number [0.000000,1.000000] 0.000000 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样率,[0.000000,1.000000] ,精确到小数点后六位,取值为0.000000时表示跟踪采样和上报使能关闭
GET接口中该属性不可显示为null
SamplingPolicy string Fixed或Adaptive Fixed GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样策略,
Fixed:固定采样,使用指定的采样率进行采样
Adaptive:自适应采样,根据cpu占用率自适应调整采样率
GET接口中该属性不可显示为null
SamplingLevel string System或Component或Function Component GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪分级策略,
System:系统级采样:BMC系统间通信的调用过程
Component :组件级采样:组件间通信的调用过程
Function :功能级采样:组件内部业务功能的调用过程
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪数据上报周期,单位为秒
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Metrics object 度量指标采集策略配置
ExportIntervalSeconds interger [5,3600] 30 GET:ReadOnly
PATCH:DiagnoseMgmt
度量指标采集周期,单位为秒
GET接口中该属性不可显示为null
SupportedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] GET:ReadOnly 当前版本支持的各度量指标名称,当前共七个,不支持用户设置
ActivatedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] 默认数组为空 GET:ReadOnly
PATCH:DiagnoseMgmt
各度量指标使能开关,根据SupportedMetrics显示支持的度量名称,用户选择需要的度量填入后打开对应度量指标的使能
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Logs object 日志采集和上报策略配置
Enabled Boolean true或false false GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报使能开关
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报周期,单位为秒
GET接口中该属性不可显示为null

redfish接口json格式示例:

{
    "@odata.context": "",
    "@odata.id": "",
    "@odata.type": "",
    "Id": "ObservabilityService",
    "Name": "ObservabilityService",
    "ServiceEnabled": true,
    "TLSMode": "TLS",
    "ServerIdentity": "ProductAssetTag",
    "Receivers": [
        {
            "ReceiverId": 0,
            "Enabled": true,
            "Address": "1.1.1.1",
            "Port": 6666,
            "Protocol": "OtlpHttp"
        }
    ],
    "Traces": {
        "SamplingRate": 0.5,
        "SamplingPolicy": "Fixed",
        "SamplingLevel": "System",
        "ExportIntervalSeconds": 5
    },
    "Metrics": {
        "ExportIntervalSeconds": 30,
        "SupportedMetrics": [
            "bmc.hw.chip.io",
            "bmc.hw.chip.accessor", 
            "bmc.hw.chip.scanner", 
            "bmc.mc.flash.io", 
            "bmc.rpc.client.request", 
            "bmc.persistence.server.request", 
            "bmc.persistence.flash.io"
        ],
        "ActivatedMetrics": [
            "bmc.hw.chip.io",
            "bmc.hw.chip.accessor", 
            "bmc.hw.chip.scanner", 
            "bmc.mc.flash.io"
        ]
    },
    "Logs": {
        "Enabled": false,
        "ExportIntervalSeconds": 5
    },
    "Actions": {
        "#ObservabilityService.SubmitTestTelemetryData": {
            "target": "",
            "@Redfish.ActionInfo": ""
        }
    }
}

评审结论

1. 同意在路径 /bmc/kepler/Dashboard下新增如下可观测功能的资源协作接口,属性

interface: bmc.kepler.Dashboard.Observability.Traces
properties:
SamplingRate 表示跟踪采样率,签名为d,读写, 读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件
SamplingPolicy 表示跟踪采样策略,签名为y,读写,读y权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件
SamplingLevel 表示跟踪分级策略,签名为y,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件
ExportIntervalSeconds 表示跟踪数据上报周期,签名为u,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件

interface: bmc.kepler.Dashboard.Observability.Metrics
properties:
ExportIntervalSeconds 表示指标数据上报周期,签名为u,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件
ActivatedMetrics 表示已使能的指标,签名为as,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件

interface: bmc.kepler.Dashboard.Observability.Logs
properties:
Enabled 表示日志使能开关,签名为as,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件
ExportIntervalSeconds 表示日志数据上报周期,签名为u,读写,读权限:ReadOnly,写权限:DiagnoseMgmt,发送变更通知事件

2. 同意在observability服务observability服务新增资源协作接口

(1)
path: /bmc/kepler/ObservabilityService/Traces(新增)

interface: bmc.kepler.ObservabilityService.Traces(新增)

方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} {“SamplingRate”: “0.5”, “SamplingPolicy”: “Fixed”, “SamplingLevel”: “System”, “ExportIntervalSeconds”: “2”} ReadOnly 获取跟踪策略配置 SamplingRate 跟踪采样率,取值范围:[0.000000,1.000000]
SamplingPolicy 跟踪采样策略,取值范围:Fixed(固定采样)或Adaptive(自适应采样)
SamplingLevel 跟踪分级策略,取值范围:System(系统级采样)或Component(组件级采样)或Function(功能级采样)
ExportIntervalSeconds 跟踪数据上报周期,单位为秒,取值范围:[2,60]
SetConfigurations 新增方法 a{ss} {“SamplingRate”: “0.5”, “SamplingPolicy”: “Fixed”, “SamplingLevel”: “System”, “ExportIntervalSeconds”: “2”} DiagnoseMgmt 设置跟踪策略配置 SamplingRate 跟踪采样率,取值范围:[0.000000,1.000000]
SamplingPolicy 跟踪采样策略,取值范围:Fixed(固定采样)或Adaptive(自适应采样)
SamplingLevel 跟踪分级策略,取值范围:System(系统级采样)或Component(组件级采样)或Function(功能级采样)
ExportIntervalSeconds 跟踪数据上报周期,单位为秒,取值范围:[2,60]

(2)
path: /bmc/kepler/ObservabilityService/Metrics(新增)
interface: bmc.kepler.ObservabilityService.Metrics(新增)

方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} MetricsConfig:{“ExportIntervalSeconds”: “2”, “ActivatedMetrics”: “bmc.hw.chip.io,bmc.hw.chip.accessor” } ReadOnly 获取度量策略配置 ExportIntervalSeconds 指标数据上报周期,单位为秒,取值范围:[5,3600]
ActivatedMetrics 已使能的指标,取值范围:由SupportedMetrics 决定,当前版本支持"bmc.hw.chip.io",
“bmc.hw.chip.accessor”,
“bmc.hw.chip.scanner”,
bmc.mc.flash.io”,
“bmc.rpc.client.request”,
“bmc.persistence.server.request”,
"bmc.persistence.flash.io"共七种
SetConfigurations 新增方法 a{ss} MetricsConfig:{ “ExportIntervalSeconds”: “2”, “ActivatedMetrics”: “bmc.hw.chip.io,bmc.hw.chip.accessor” } DiagnoseMgmt 设置度量策略配置 ExportIntervalSeconds 指标数据上报周期,单位为秒,取值范围:[5,3600]
ActivatedMetrics 已使能的指标,取值范围:由SupportedMetrics 决定,当前版本支持"bmc.hw.chip.io",
“bmc.hw.chip.accessor”,
“bmc.hw.chip.scanner”,
bmc.mc.flash.io”,
“bmc.rpc.client.request”,
“bmc.persistence.server.request”,
"bmc.persistence.flash.io"共七种

(3)
path: /bmc/kepler/ObservabilityService/Logs(新增)
interface: bmc.kepler.ObservabilityService.Logs(新增)

方法名称 变化类型 req签名 请求参数 rsp签名 响应参数 权限 说明 接口约束
GetConfigurations 新增方法 a{ss} LogsConfig: { “Enabled”: “false”, “ExportIntervalSeconds”: “2” } ReadOnly 获取日志收集策略配置 Enabled 日志使能开关,取值范围:true或false
ExportIntervalSeconds 日志数据上报周期,单位为秒,取值范围:[2,60]
SetConfigurations 新增方法 a{ss} LogsConfig: { “Enabled”: “false”, “ExportIntervalSeconds”: “2” } DiagnoseMgmt 设置日志收集策略配置 Enabled 日志使能开关,取值范围:true或false
ExportIntervalSeconds 日志数据上报周期,单位为秒,取值范围:[2,60]

3. 同意在web rest接口/UI/Rest/ObservabilityService新增属性

属性名称 取值类型 取值范围 默认值 操作权限 说明
Traces object 跟踪采样和上报策略配置
SamplingRate number [0.000000,1.000000] 0.000000 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样率,[0.000000,1.000000] ,精确到小数点后六位,取值为0.000000时表示跟踪采样和上报使能关闭
GET接口中该属性不可显示为null
SamplingPolicy string Fixed或Adaptive Fixed GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样策略,
Fixed:固定采样,使用指定的采样率进行采样
Adaptive:自适应采样,根据cpu占用率自适应调整采样率
GET接口中该属性不可显示为null
SamplingLevel string System或Component或Function Component GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪分级策略,
System:系统级采样:BMC系统间通信的调用过程
Component :组件级采样:组件间通信的调用过程
Function :功能级采样:组件内部业务功能的调用过程
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪数据上报周期,单位为秒
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Metrics object 度量指标采集策略配置
ExportIntervalSeconds interger [5,3600] 30 GET:ReadOnly
PATCH:DiagnoseMgmt
度量指标采集周期,单位为秒
GET接口中该属性不可显示为null
SupportedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] GET:ReadOnly 当前版本支持的各度量指标名称,当前共七个,不支持用户设置
ActivatedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] 默认数组为空 GET:ReadOnly
PATCH:DiagnoseMgmt
各度量指标使能开关,根据SupportedMetrics显示支持的度量名称,用户选择需要的度量填入后打开对应度量指标的使能
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Logs object 日志采集和上报策略配置
Enabled Boolean true或false false GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报使能开关
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报周期,单位为秒
GET接口中该属性不可显示为null

4. 同意在redfish接口/redfish/v1/Oem/{{OemIdentifier}}/ObservabilityService新增属性

属性名称 取值类型 取值范围 默认值 操作权限 说明
Traces object 跟踪采样和上报策略配置
SamplingRate number [0.000000,1.000000] 0.000000 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样率,[0.000000,1.000000] ,取值为0.000000时表示跟踪采样和上报使能关闭
GET接口中该属性不可显示为null
SamplingPolicy string Fixed或Adaptive Fixed GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪采样策略,
Fixed:固定采样,使用指定的采样率进行采样
Adaptive:自适应采样,根据cpu占用率自适应调整采样率
GET接口中该属性不可显示为null
SamplingLevel string System或Component或Function Component GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪分级策略,
System:系统级采样:BMC系统间通信的调用过程
Component :组件级采样:组件间通信的调用过程
Function :功能级采样:组件内部业务功能的调用过程
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
跟踪数据上报周期,单位为秒
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Metrics object 度量指标采集策略配置
ExportIntervalSeconds interger [5,3600] 30 GET:ReadOnly
PATCH:DiagnoseMgmt
度量指标采集周期,单位为秒
GET接口中该属性不可显示为null
SupportedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] GET:ReadOnly 当前版本支持的各度量指标名称,当前共七个,不支持用户设置
ActivatedMetrics string array [“bmc.hw.chip.io”, “bmc.hw.chip.accessor”, “bmc.hw.chip.scanner”, “bmc.mc.flash.io”, “bmc.rpc.client.request”, “bmc.persistence.server.request”, “bmc.persistence.flash.io”] 默认数组为空 GET:ReadOnly
PATCH:DiagnoseMgmt
各度量指标使能开关,根据SupportedMetrics显示支持的度量名称,用户选择需要的度量填入后打开对应度量指标的使能
GET接口中该属性不可显示为null
属性名称 取值类型 取值范围 默认值 操作权限 说明
Logs object 日志采集和上报策略配置
Enabled Boolean true或false false GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报使能开关
GET接口中该属性不可显示为null
ExportIntervalSeconds interger [2,60] 5 GET:ReadOnly
PATCH:DiagnoseMgmt
日志采集和上报周期,单位为秒
GET接口中该属性不可显示为null

1、作为接口Traces是否有必要使用复数(建议单数即可)
2、采样率、采用策略、分级策略、上报周期,都属于跟踪相关的全局配置,不应该区分是System还非System
3、SamplingPolicy没有准确表达分级策略的含义;取值含义不够清晰,应当准确表达采用的分级,例如组件级、服务级、方法级等;另外取值不利于后续扩展,原则来说,要么取值越大,级别越高,输出越少,或者反之。
4、上报周期,根据资源协作接口的约定,应当在属性名中体现时间单位

opentelemetry的文档都是写的复数,所以接口就定义成复数了

1、新增属性需详细描述属性含义,取值范围,取值的含义,默认值等。
2、系统采样策略如果采用自适应采样策略,那么会在0到系统采样率之间进行动态调整,这个约束要描述清楚
3、已经在Traces这个命名空间内,不需要再带上系统的描述,跟踪采样率、跟踪采样策略、跟踪分级策略即可。
4、跟踪分级策略,还需要考虑下