【已评审】新增系统关键度量指标资源协作接口评审

issue 链接

背景

需求

对于系统运行的关键指标,需要通过 oepnTelemetry 机制进行上报,客户可以实时获取系统的内存、CPU负载和falsh寿命,保障系统稳定运行。

差距

BMC当前没有对运行的CPU/内存/Flash写入量/Flash寿命等指标的上报指标处理。

方案

BMC需要制定针对 系统CPU/内存,进程CPU/内存,Flash写入量/剩余寿命 的指标,并且通过 openTelemetry 机制接口进行上报。

评审点

评审点1:制定上报的指标以及属性

上报的指标和属性的详细信息如下:

指标名称 指标类型 指标单位 属性列表 属性描述 属性要求 描述 标准定义
bmc.system.uptime Gauge s(秒) 系统启动时间 必选 BMC系统已经运行的时间 否,自定义指标
bmc.system.flash.io Counter KB(千字节) flash.io.direction IO操作的方向,取值有:
read:
write:
必选 BMC Flash的IO,按小时统计,单位:KB 否,自定义指标
bmc.system.flash.lifeleft Gauge percent(百分比) 必选 Flash剩余寿命 否,自定义指标
bmc.process.cpu.usage Gauge percent(百分比) cpu.mode CPU的模式,包括:user,sys,idle 必选 进程CPU的使用情况 否,自定义指标
process.name 进程名称 必选 否,自定义指标
bmc.process.memory.usage Gauge By(字节) process.name 进程名称 必选 进程使用的物理内存 否,自定义指标
bmc.system.cpu.usage Gauge percent(百分比) cpu.mode CPU的模式,包括:user,sys,idle 必选 BMC CPU的使用情况 否,自定义指标
bmc.system.memory.usage Gauge By(字节) system.memory.state(string) 内存的状态,包括:buffer,cache,free,used 必选 BMC使用的物理内存 否,自定义指标

评审结论

通过,具体结论如下:

  1. 同意新增 BMC系统的采集指标,指标具体有:
    bmc.system.uptime:表征 BMC 系统的运行时间
    bmc.system.cpu.usage:表征 BMC 系统的 CPU 占用率
    bmc.system.memory.usage:表征 BMC 系统的 内存 占用率
  2. 同意新增 BMC Flash 的采集指标,指标具体有:
    bmc.system.flash.io:表征 BMC Flash 的 IO 使用情况
    bmc.system.flash.lifeleft:表征 BMC Flash 的剩余寿命百分比
  3. 同意新增 BMC 进程的采集指标,指标具体有:
    bmc.process.cpu.usage:表征 BMC 进程的 CPU 使用情况
    bmc.process.memory.usage:表征 BMC 进程的内存使用情况

遗留问题

1、指标的名称需要区分BMC和Host
结论:指标中针对 BMC 的指标,统一使用 bmc.xxx 前缀,已修改评审点描述。

2、Flash 指标中的属性需要命名准确
结论:指标名称以及属性名称已经修复,已修改评审点描述。

3、进程采集指标中对于进程名称需要命名准确。
结论:考虑到使用 cmdline name 会存在安全风险,因此进程名称属性还是使用 process.name, 取值保持和 service 的名称一致