GetMetricWidgetImage:指标小组件的结构和语法
MetricWidget 是 https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/API_GetMetricWidgetImage.html API 的一个输入参数。该参数是一个 JSON 格式的字符串。
整体结构
MetricWidget 字符串可以包含以下参数:
- metrics
-
要包含在图表中的指标(以
metrics数组形式)。这可以包括原始指标以及指标的数学表达式。一个metrics数组可以包含 1-100 个指标和表达式。有关metrics格式的更多信息,请参阅指标数组中每个指标的格式。类型:数组
必需:是。
- annotations
-
要添加到图表中的横向和纵向注释(作为注释数组)。有关该格式的更多信息,请参阅注释属性格式。
必需:否
- 最终
-
图表中显示的指标结束日期和时间。这可以表示为绝对值,例如 2018-04-25T12:00:00.000 Z,也可以表示为相对值,例如 -PID。
如果未指定
end,则将使用默认值-PT0H(当前时间)。类型:字符串
必需:否
- height
-
小组件的高度(以像素为单位)。默认值为 400。
有效值:1–2000
类型:整数
必需:否,但如果您还设置了
width的值,则应设置此值。 - legend
-
指定图表图例的位置和可见性。
legend包含一个字段position。position的值可以是bottom、right或hidden。默认值为bottom。类型:字符串
必需:否
- liveData
-
指定
true以在小组件中显示实时数据。实时数据是将在最后一分钟内发布的,尚未完全聚合的数据。有关更多信息,请参阅使用实时数据。类型:布尔值
必需:否
- 时段
-
此小组件中所有指标的默认周期(以秒为单位)。可以在每个指标的定义中覆盖此默认值。默认值为 300。
有效值:1、5、10、30、60 以及 60 的任意倍数。1、5、10 和 30 专用于高精度指标。
类型:整数
必需:否
- region
-
此参数为可选的。如果将其包括在内,则必须指定本地区域。
类型:字符串
必需:否
- 堆叠图
-
指定
true以将图表显示为堆叠折线图,也可指定false以将其显示为单独的折线图。默认值为 false。类型:布尔值
必需:否
- 开启
-
图表中显示的指标开始日期和时间。这可以表示为绝对值,例如 2018-04-25T12:00:00.000 Z,也可以表示为相对值,例如 -PID。
如果您未指定
start,则使用默认值-PT3H(三小时前)。类型:字符串
必需:否
- 统计数据
-
要为数组中的每个指标显示的默认统计数据。可以在
metrics数组内的每个单独指标定义中覆盖此默认值。如果省略该参数,则会使用默认值
Average。有效值:
SampleCount|Average|Sum|Minimum|Maximum|p|??TM(,??:??)TC(|??:??)TS(|??:??)WM(|??:??)PR(|??:??)IQM类型:属于有效 CloudWatch 统计数据的字符串。
必需:否
- theme
-
用于设置图表样式的调色板。默认值为
light。有效值:
light | dark类型:字符串
必需:否
- timezone
-
用于在图表中显示时间的时区。格式为 + 或- 加四位数字。前两位数字表示比 UTC 提前或落后的小时数,最后两位数字表示分钟数。例如,
+0130表示比 UTC 提前 1 小时 30 分钟的时间。默认值为+0000。类型:字符串
必需:否
- 删除实例快照
-
要显示的图表标题。
类型:字符串
必需:否
- 查看
-
显示格式。指定
timeSeries以将此指标显示为折线图。指定bar以将此指标显示为柱状图。指定pie以将此指标显示为饼图。默认值为timeSeries。有效值:
timeSeries | bar | pie类型:字符串
必需:否
- width
-
小组件的宽度(以像素为单位)。默认为 600。
有效值:1–2000
类型:整数
必需:否,但如果您还设置了
width的值,则应设置此值。 - yAxis
-
y 轴的最小值和最大值。这适用于要绘制图表的每个指标,但特定指标将其覆盖的除外。有关该格式的更多信息,请参阅yAxis 属性格式。
类型:YAxis 对象
必需:否
指标数组中每个指标的格式
metrics 数组中的每一项都是要在图表中显示,或者用作图表中所显示某个数学表达式的一部分的 CloudWatch 指标。有关数学表达式的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学。
该数组中的每个指标都采用以下格式:
[Namespace,MetricName,Dimension1Name,Dimension1Value,Dimension2Name,Dimension2Value... {Options Object}]
- 命名空间
-
包含该指标的 Amazon 命名空间。要使用与数组中前一个指标相同的命名空间,可以为第一个条目之后的每个条目指定
"."。类型:字符串
是否必需:是
- MetricName
-
CloudWatch 指标的名称。要使用与数组中前一个指标相同的名称,可以为第一个条目之后的每个条目指定
"."。类型:字符串
是否必需:是
- DimensionName
-
用于进一步细化要显示的数据的维度名称。要使用与数组中前一个指标相同的维度,可以为第一个条目之后的每个条目指定
"."。您可以为一个指标指定零个维度,也可以在该指标支持的维度数量范围内指定多个维度。类型:字符串
必需:否
- DimensionValue
-
要用于该指标维度的值。如果有相应的维度名称,则为必需。
类型:字符串
必需:否,除非有相应的维度名称。
- Options Object
-
指定要用于指定 CloudWatch 指标的自定义渲染属性,或者指定要在图表上显示的数学表达式。有关该格式的更多信息,请参阅选项对象格式。
类型:选项对象
必需:否
示例
// The simplest example, a metric with no dimensions [ "AWS/EC2", "CPUUtilization" ] // A metric with a single dimension [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-01234567890123456" ] // A metric with a single dimension and rendering properties [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-01234567890123456", { yAxis: "right"} ] // The following example graphs theDiskReadBytesmetric for three instances. [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-01234567890123456" ], [ ".", ".", ".", "i-abc" ], [ ".", ".", ".", "i-123" ]
选项对象格式
指定要用于指定 CloudWatch 指标的自定义渲染属性,或者指定要在图表上显示的数学表达式。
如果将此对象指定为 metrics 数组中某个 CloudWatch 指标的一部分,则将为该指标设置自定义渲染属性并覆盖整个图表使用的默认值。
也可以指定此对象来向图表添加数学表达式。在这种情况下,此对象中的其他设置用于指定数学表达式结果的显示选项。
本节介绍了这些选项对象的格式。
- color
-
用于此指标或表达式的六位数 HTML 十六进制颜色代码。
类型:字符串
必需:否
- expression
-
要显示的数学表达式。要详细了解受支持的数学表达式函数和格式,请参阅《Amazon CloudWatch 用户指南》中的指标数学语法和函数。
类型:属于有效 CloudWatch 指标数学表达式的字符串。
必需:是(如果属于表达式)。
- label
-
要在图表图例中为此指标或表达式显示的标签。如果未指定,则会为该指标提供一个自动生成的标签,用于将其与小组件中的其他指标区分开来。
类型:字符串
必需:否
- id
-
此指标或表达式的标识符,在此小组件中必须唯一。此 id 可用作变量来代表该指标或数学表达式中的表达式。有效字符包括字母、数字和下划线。第一个字符必须是小写字母。
类型:字符串
必需:否
- 时段
-
此指标的周期(以秒为单位)。如果指定了此参数,则会覆盖此图表中其他指标使用的默认周期。此参数不适用于数学表达式。
有效值:1、5、10、30、60 以及 60 的任意倍数。1、5、10 和 30 专用于高精度指标。
类型:整数
必需:否
- 统计数据
-
要为此指标显示的统计数据(如果与图表中其他指标使用的统计数据不同)。此参数不适用于数学表达式。
有效值:
SampleCount|Average|Sum|Minimum|Maximum|p??类型:属于有效 CloudWatch 统计数据的字符串。
必需:否
- visible
-
指定是否将在图表上显示此指标或表达式。默认值为
true。如果要隐藏数学表达式中使用的原始指标,并且仅在图表上显示表达式结果,则将
visible设置为false将非常实用。类型:布尔值
必需:否
- yAxis
-
在图表上显示该指标或表达式的 y 轴位置。默认值为
left。有效值:
left|right类型:字符串
必需:否
示例
在以下示例中,CloudWatch 检索了一个自定义的 apiLatency 指标。在顶部指定显示 p50 统计数据的中值。然后对于同一实例上的相同指标(由四个仅为周期的字段指定),将绘制平均值图。然后是一个带有数学表达式的选项对象,其中显示了两个指标的中间值。最后,另一个表达式会显示变化比率。
要在图表上仅显示两个表达式的结果并隐藏原始指标,可以将 visible 的前两个实例更改为 false。
{ "metrics": [ [ "MyNamespace", "apiLatency", "InstanceId", "i-0987654321abcdef0", { "id": "m1", "stat": "p50", "label": "Median value", "visible": true, "color": "#dddddd", "yAxis": "left", "period": 300 } ], [ ".", ".", ".", ".", { "id": "m2", "stat": "Average", "label": "Average value", "visible": true, "color": "#cccccc", "yAxis": "left", "period": 300 } ], [ { "expression": "(m1+m2)/2", "id": "e1", "label": "Half way between average and median", "visible": true, "color": "#000000", "yAxis": "left" } ], [ { "expression": "RATE(e1)", "yAxis": "right", "label": "rate of change of the half way point" } ] ] }
注释属性格式
单个图表可以包含多个横向和纵向注释。所有横向注释都通过一个 horizontal 字段指定,所有纵向注释都通过一个 vertical 字段指定。
- horizontal
-
横向注释数组。横向注释具有多种阴影填充选项,包括注释行上阴影、注释行下阴影,以及在单个注释中的两个链接注释行之间显示的阴影“带”。数组中没有阴影带的每个横向注释都采用以下格式:
{value,label,color,fill,yAxis,visible}有阴影带的每个横向注释都采用以下格式:
[{value,label,color,yAxis,visible}, {value,label}] - vertical
-
纵向注释数组。纵向注释具有多种阴影填充选项,包括注释行前阴影、注释行后阴影,以及在单个注释段中的两条链接注释行之间显示的阴影“带”。数组中没有阴影带的每个纵向注释都采用以下格式:
{value,label,color,fill,visible}有阴影带的每个纵向注释都采用以下格式:
[{value,label,color,visible}, {value,label}]
horizontal 数组可以包含以下字段。
- 值
-
图表中要显示横向注释行的指标值。在阴影带注释中,
Value的两个值用于定义阴影带的上边缘和下边缘。使用横向注释的图表将会缩放,从而确保所有可见的横向注释都在图表中显示。
类型:浮点值
必需:是(如果使用横向注释)。
- label
-
在图表中注释旁显示的字符串。
类型:字符串
必需:否
- color
-
用于注释的六位数 HTML 十六进制颜色代码。该颜色既用于注释行,也用于阴影填充。
类型:字符串
必需:否
- fill
-
如何在注释中使用阴影填充。有效值为
above(注释上阴影)、below(注释下阴影)和none(无阴影)。如果省略fill,则为无阴影。唯一的例外是有阴影带的注释。此类注释会在这两个值之间始终填充阴影,
fill的任何值都将被忽略。类型:字符串
必需:否
- visible
-
将此设置为
true以在图表中显示注释,或设置为false以隐藏注释。默认值为true。类型:布尔值
必需:否
- yAxis
-
如果图表包含多个指标,则指定
Value中的数字是否表示与左侧 Y 轴或右侧 Y 轴关联的指标。有效值为right和left。类型:字符串
必需:否
vertical 数组可以包含以下字段。
- 值
-
要显示纵向注释行的时间戳。必须将其指定为绝对时间戳,例如
2018-08-28T15:25:26Z。在阴影带注释中,Value的两个值用于定义阴影带的起始和结束边缘。类型:字符串
必需:是(如果使用纵向注释)。
- label
-
在图表中注释旁显示的描述性字符串。
类型:字符串
必需:否
- color
-
用于注释的六位数 HTML 十六进制颜色代码。该颜色既用于注释行,也用于阴影填充。
类型:字符串
必需:否
- fill
-
如何在注释中使用阴影填充。有效值为
before(注释前阴影)、after(注释后阴影)和none(无阴影)。如果省略fill,则为无阴影。唯一的例外是有阴影带的注释。此类注释会在这两个值之间始终填充阴影,
fill的任何值都将被忽略。类型:字符串
必需:否
- visible
-
将此设置为
true以在图表中显示注释,或设置为false以隐藏注释。默认值为true。类型:布尔值
必需:否
示例
// A single horizontal annotation with fill shading above the annotation line, based on the metric associated with the right Y-axis "annotations": { "horizontal": [ { "visible":true, "color":"#9467bd", "label":"Critical range", "value":20, "fill":"above", "yAxis":"right" } ] } // A horizontal band annotation. Each value has a label, but other parameters for the band need to be specified only with the first number "annotations": { "horizontal": [ [ { "label":"Band top", "value":200, "color":"#9467bd", "visible":true, "yAxis":"right" }, { "value":95.5, "label":"Band bottom" } ] ] } // A single vertical annotation with fill shading after the annotation line "annotations": { "vertical": [ { "visible": true, "color": "#9467bd", "label": "Bug fix deployed", "value": "2018-08-28T15:25:26Z", "fill": "after" } ] } // A vertical band annotation. Each annotation line has a label, but other parameters for the band are specified only with the first value "annotations": { "vertical": [ [ { "label": "Band start", "value": "2018-08-27T15:25:26Z", "color": "#9467bd", "visible": true }, { "value": "2018-08-28T15:25:26Z", "label": "Band end" } ] ] }
yAxis 属性格式
定义图表 Y 轴的最小值和最大值。在 MetricWidget 对象中设置此参数会影响小组件中的所有指标。要为特定指标覆盖小组件设置,请在 metrics 数组中该指标的选项对象中对其进行设置。
- 左
-
左侧 Y 轴的可选
min和max设置。类型:YAxis 对象
必需:否
- 右
-
右侧 Y 轴的可选
min和max设置。类型:YAxis 对象
必需:否
每个 left 和 right 对象都可以包含以下参数:
- min
-
此 Y 轴的最小值。
类型:浮点值
必需:否
- max
-
此 Y 轴的最大值。
类型:浮点值
必需:否
示例
{ left: { min: 0, max: 100 }, right: { min: 0 } }