CSR配置字典之MetricDefinition类

📋 文档信息

项目内容
文档标题MetricDefinition类配置字典
版本v1.0
创建日期2025-04-24
最后更新2025-04-24
维护状态✅ 活跃维护

📋 变更历史记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-04-24初始版本创建MetricDefinition类配置字典全新文档系统管理员

🎯 类概览

属性
类名称MetricDefinition
功能描述Redfish遥测指标定义,用于定义可采集的监控指标及其属性
所属SIG组interface
所属组件redfish
最后更新2025-04-24
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
IdString-String-指标定义ID唯一标识指标定义"AveragePower"CSR配置软件
NameString-String-指标名称指标的显示名称"Average Power"CSR配置软件
DescriptionString-String-指标描述指标的详细描述"Metric definition for average power"CSR配置软件
MetricTypeString-["Numeric", "Discrete", "Gauge", "Counter", "Countdown", "String"]-指标类型标识指标的数据类型"Numeric"CSR配置软件
MetricDataTypeString-["Boolean", "DateTime", "Decimal", "Integer", "String", "Enumeration"]-指标数据类型标识指标值的数据类型"Integer"CSR配置软件
ImplementationString-["PhysicalSensor", "Calculated", "Synthesized", "DigitalMeter"]-实现方式PhysicalSensor:来自物理传感器;Calculated:通过另一个metric property计算得到;Synthesized:合成型,由多个metric properties计算得到;DigitalMeter:数值型,例如计数"Calculated"CSR配置软件
UnitsString-String-指标单位指标值的单位,如Cel(摄氏度)、Percent(百分比)等"W"CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
AccuracyU8-U8-精度指标的精度百分比1CSR配置软件
CalculableString-["NonCalculatable", "NonSummable", "Summable"]-可计算性指标是否可计算,NonCalculatable:不可计算,NonSummable:不可求和,Summable:可求和"NonCalculatable"CSR配置软件
CalculationAlgorithmString-["Average", "Maximum", "Minimum", "Summation"]-计算算法计算指标的算法,Average:求平均值,Maximum:求最大值,Minimum:求最小值,Summation:求和"Average"CSR配置软件
CalculationParametersArray-Array-计算参数计算算法的参数,用于计算目标指标值所需要的指标项,这些指标项必须在MetricProperties数组中被定义,如果ImplementationType取值为Synthesized或Calculated,则必须给出此属性[...]CSR配置软件
CalculationTimeIntervalString-String-计算时间间隔计算的时间间隔,格式:PT[n]H[n]M[n]S,如PT60S表示60秒""CSR配置软件
CalibrationInteger-Integer-校准值指标值的校准偏移量,对离散型指标项无效,目标值 = Calibration + 原始值,0表示无偏移0CSR配置软件
DiscreteValuesArray-Array-离散值指定离散型指标值的离散取值[1, 5, 10]CSR配置软件
IsLinearBoolean-Boolean-是否线性指标是否为线性trueCSR配置软件
LogicalContextsString[]-["Capacity", "Environment", "Network", "Performance", "Security", "Storage"]-逻辑上下文指标项关联的业务类型,Capacity:容量,Environment:环境,Network:网络,Performance:性能,Security:安全,Storage:存储["Capacity"]CSR配置软件
MinReadingRangeDouble-Double-最小读数范围指标的最小值0CSR配置软件
MaxReadingRangeDouble-Double-最大读数范围指标的最大值9999CSR配置软件
MetricPropertiesArray-Array-指标属性指标属性 URI 列表["/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerMetrics/AverageConsumedWatts"]CSR配置软件
PhysicalContextString-["CPU", "Memory", "Fan", "PowerSupply", "Chassis", "SystemBoard", "PowerSubsystem", "ThermalSubsystem", "StorageDevice", "NetworkingDevice"]-物理上下文指标的物理位置上下文"CPU"CSR配置软件
PrecisionU8-U8-精度位数小数点后的精度位数0CSR配置软件
SensingIntervalString-String-采集间隔指标采集的时间间隔"PT5S"CSR配置软件
TimestampAccuracyString-String-时间戳精度时间戳的精度"PT1S"CSR配置软件
WildcardsArray-Array-通配符用于资源匹配的通配符列表[...]CSR配置软件

🔗 动态关联机制

语法规范

yaml
    I": "AveragePower",
    MetricPropertie": ["/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerMetrics/AverageConsumedWatts"],
    MetricDataTyp": "Decimal",
    PhysicalContex": "PowerSupply",
    Descriptio": "Metric definition for average power",
    LogicalContext": ["Capacity"],
    IsLinea": true,
    MinReadingRang": 0,
    MaxReadingRang": 9999,
    Implementatio": "Calculated",
    CalculationParameter": [{"ResultMetric": "/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerMetrics/AverageConsumedWatts","SourceMetric": "/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerConsumedWatts"}],
    CalculationAlgorithm: "Average",
    Calculable: "NonCalculatable",
    Wildcards: [{"Name": "ChassisId","Values": ["1"]}, {"Name": "PowerControlId","Values": ["0"]}],
    Name: "Average Power",
    MetricType: "Numeric",
    SensingInterval: "PT5S",
    TimestampAccuracy: "PT1S",
    Units: "W"

关联说明

  • Id: 唯一标识符,用于MetricReportDefinition引用
  • MetricType: 指标的基本类型
  • MetricDataType: 指标值的具体数据类型
  • Implementation: 指标的实现方式
  • Units: 指标值的单位

📂 分类标准

硬件属性

  • 定义:当前版本无硬件属性
  • 特点:所有属性都是软件管理相关
  • 示例:无

软件属性

  • 定义:由软件管理和维护的指标定义参数
  • 特点:指标定义、计算配置、采集配置等
  • 示例:所有属性都是软件属性

📝 配置示例

平均功耗指标定义

json
{
  "MetricDefinition_AveragePower": {
    "Id": "AveragePower",
    "MetricProperties": ["/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerMetrics/AverageConsumedWatts"],
    "MetricDataType": "Decimal",
    "PhysicalContext": "PowerSupply",
    "Description": "Metric definition for average power",
    "LogicalContexts": ["Capacity"],
    "IsLinear": true,
    "MinReadingRange": 0,
    "MaxReadingRange": 9999,
    "Implementation": "Calculated",
    "CalculationParameters": [{
            "ResultMetric": "/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerMetrics/AverageConsumedWatts",
            "SourceMetric": "/redfish/v1/Chassis/{ChassisId}/Power#PowerControl/{PowerControlId}/PowerConsumedWatts"
        }
    ],
    "CalculationAlgorithm": "Average",
    "Calculable": "NonCalculatable",
    "Wildcards": [{
            "Name": "ChassisId",
            "Values": ["1"]
        }, {
            "Name": "PowerControlId",
            "Values": ["0"]
        }
    ],
    "Name": "Average Power",
    "MetricType": "Numeric",
    "SensingInterval": "PT5S",
    "TimestampAccuracy": "PT1S",
    "Units": "W"
  }
}

🔧 使用指南

配置步骤

  1. 设置基本信息:配置Id、Name、Description
  2. 设置类型:配置MetricType和MetricDataType
  3. 设置实现:配置Implementation和Units
  4. 配置计算:如果是计算指标,配置CalculationAlgorithm和CalculationParameters
  5. 配置范围:配置MinReadingRange和MaxReadingRange
  6. 配置采集:配置SensingInterval和TimestampAccuracy

指标类型说明

MetricType说明适用场景
Numeric数值型连续数值,如温度、功耗
Discrete离散型有限状态,如电源状态
Gauge仪表型可增可减的数值
Counter计数器单向递增的计数
Countdown倒计时单向递减的计数
String字符串型文本信息

使用场景

  • 性能监控:监控CPU、内存等性能指标
  • 功耗管理:监控设备功耗和能效
  • 温度监控:监控设备温度和热状态
  • 资源利用:监控资源利用率

注意事项

  • ID唯一性:每个MetricDefinition的Id必须唯一
  • 单位一致性:Units应与实际指标单位一致
  • 范围合理:MinReadingRange和MaxReadingRange应覆盖实际值
  • 采集间隔:SensingInterval应根据实际需求设置
  • 精度设置:Precision应根据测量精度设置

故障排除

  1. 指标无数据

    • 检查MetricProperties是否正确 -确认数据源是否正常
    • 验证采集配置
  2. 计算错误

    • 检查CalculationAlgorithm配置
    • 确认CalculationParameters是否正确
    • 验证源指标是否存在
  3. 精度丢失

    • 检查MetricDataType设置
    • 确认Precision配置 -验证数据格式