核心概念
监控项(Metric)
监控项(Metric)又称指标,是衡量系统某一方面状态或状况的标准,如系统、服务或程序的性能。监控项随着时间的推移会产生一系列数据点。BCM为云产品默认提供了大量监控项,如BCC、RDS等,详见云产品指标列表。用户也可以自定义监控项,采用BCM的API或bcm-tool将它们的数据推送到BCM中。
- 监控项名称: 监控项名称(MetricName)为string类型,监控项名称与名字空间(Scope)、维度(Dimension)组合在一起唯一确定一个监控项数据的序列。
- 监控项数据:数值类型,监控项数据目前的存储时间为40天。BCM默认采集所有预置监控项的数据,用户也可以通过API或bcm-tool工具向BCM监控平台推送数据。
名字空间(Scope)
名字空间(Scope)是指监控项的可见范围。不同Scope的监控项彼此完全隔离,避免命名冲突。通常将不同应用程序的监控项放在不同的Scope中。在任何使用监控项的地方,都必须指定Scope。
- 预置的Scope:以BCE_为前缀的Scope,对应各类云产品监控数据,详见云产品监控对象类型列表
- 自定义的Scope:用户可自行创建Scope,自定义Scope的名字不能以“BCE”或“BCM”开头,且只能向自定义的Scope推送数据,而不能向系统预置的Scope推送数据,详见创建自定义监控
维度(Dimension)
维度(Dimension)是用来描述监控项特征的多个键值对(Key/Value,简称K/V对)。例如BCC监控项CPUUsagePercent的维度就是BCC实例ID(InstanceId),确定实例ID即可获取对应的BCC实例的CPU使用率监控数据。
Dimension为一个结构体,其定义如下:
名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
name | 是 | string | Dimension的名字 |
value | 是 | string | Dimension的值 |
数据点(DataPoint)
数据点是监控项在某一个时间点或某一时间段的值,格式如下:
名称 | 描述 | 类型 |
---|---|---|
average | 平均值 | Double |
maximum | 最大值 | Double |
minimum | 最小值 | Double |
sampleCount | 样本个数 | Integer |
sum | 和值 | Double |
timestamp | 时间戳 | DateTime |
时间戳(Timestamp)
时间戳的定义参照通用说明—日期与时间规范,监控项(Metric)的每个数据点必须带有时间戳,采用UTC时间,例如 2014-09-03T08:08:08Z。用户只能推送过去的2周之内(取决于系统数据的保存时间)和未来2小时范围内的数据。
周期 (Period)
周期(Period)也称为时间段,是用于进行数据统计的时间长度,通常会将该Period内的所有数据按照一定的统计函数(Statistic)进行计算。时间段的单位为秒,但最小精度为1分钟,因此在指定时间段的时候,必须为60的整数倍。最小可选择的值为一分钟(60),最大可选择的值为2周(1,209,600),默认为60。
Period主要用于:
- 查询数据时,通过指定时间段来获得不同粒度的聚合数据;
- 设置报警规则时,通过指定时间段来获得不同粒度的聚合数据,然后同阈值进行相应的比较。
统计(Statistic)
统计(Statistic)是将指定时间段(Period)内的监控项数据进行聚合。例如某台机器按小时聚合CPU使用率数据。
目前提供的统计方法包括(采用lowerCamel的命名规则):
- minimum :指定的时间段内监控项数据的最小值。
- maximum :指定的时间段内监控项数据的最大值。
- sum :指定时间段内监控项数据的和值。
- average :指定时间段内监控项数据的平均值,其计算方法为sum/sampleCount。
- sampleCount:指定时间段内监控项数据的样本数。