本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudWatch 指标
亚马逊 CloudWatch 指标组件 (aws.greengrass.Cloudwatch
) 将来自Greengrass核心设备的自定义指标发布到亚马逊。 CloudWatch该组件使组件能够发布 CloudWatch 指标,您可以使用这些指标来监控和分析 Greengrass 核心设备的环境。有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 CloudWatch指标。
要使用此组件发布 CloudWatch 指标,请向该组件订阅的主题发布一条消息。默认情况下,此组件订阅cloudwatch/metric/put
本地发布/ 订阅主题。部署此组件时,您可以指定其他主题,包括 Amazon IoT Core MQTT 主题。
该组件对位于同一命名空间中的指标进行批处理,并定期将其发布到 CloudWatch 。
注意
此组件提供的功能与 Amazon IoT Greengrass V1 中的 CloudWatch 指标连接器类似。有关更多信息,请参阅 Amazon IoT Greengrass V1 开发者指南中的CloudWatch 指标连接器。
版本
此组件有以下版本:
-
3.1.x
-
3.0.x
-
2.1.x
-
2.0.x
有关每个版本组件变更的信息,请参阅变更日志。
类型
有关更多信息,请参阅组件类型。
操作系统
要求
此组件具有以下要求:
端点和端口
除了基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅允许设备流量通过代理或防火墙。
Endpoint | 端口 | 必需 | 描述 |
---|---|---|---|
|
443 | 是 |
上传 CloudWatch 指标。 |
依赖项
部署组件时, Amazon IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在Amazon IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。
输入数据
此组件接受有关以下主题的指标并将这些指标发布到 CloudWatch。默认情况下,此组件订阅本地发布/订阅消息。有关如何从您的自定义组件向该组件发布消息的更多信息,请参阅发布/订阅本地消息。
从组件版本 v3.0.0 开始,您可以选择通过将配置参数设置为,将此组件配置为订阅 MQTT 主题。PubSubToIoTCore
true
有关在自定义组件中向 MQTT 主题发布消息的更多信息,请参阅发布/订阅 Amazon IoT Core MQTT 消息。
默认主题:cloudwatch/metric/put
该消息接受以下属性。输入消息必须采用 JSON 格式。
-
request
-
此消息中的指标。
请求对象包含要发布到 CloudWatch 的指标数据。指标值必须符合
PutMetricData
操作规范。类型:其中
object
包含以下信息:-
namespace
-
此请求中指标数据的用户定义命名空间。 CloudWatch 使用命名空间作为指标数据点的容器。
注意
不能指定以保留字符串
AWS/
开头的命名空间。类型:
string
有效模式:
[^:].*
-
metricData
-
指标的数据。
类型:其中
object
包含以下信息:-
metricName
-
指标的名称。
类型:
string
-
value
-
指标的值。
注意
CloudWatch 拒绝太小或太大的值。该值必须介于
8.515920e-109
和1.174271e+108
(基数 10)或2e-360
和2e360
(基数 2)之间。 CloudWatch 不支持特殊值NaN
,例如+Infinity
、和-Infinity
。类型:
double
-
dimensions
-
(可选)指标的维度。维度提供有关指标及其数据的附加信息。指标最多可定义 10 个维度。
该组件自动包含一个名为的维度
coreName
,其中值是核心设备的名称。类型:
array
每个对象都包含以下信息:-
name
-
(可选)维度名称。
类型:
string
-
value
-
(可选)维度值。
类型:
string
-
-
timestamp
-
(可选)接收指标数据的时间,以 Unix 纪元时间为单位的秒表示。
默认为组件收到消息的时间。
类型:
double
注意
如果您在版本 2.0.3 和 2.0.7 之间使用此组件,我们建议您在从单个来源发送多个指标时分别检索每个指标的时间戳。不要使用变量来存储时间戳。
-
unit
-
(可选)指标的单位。
类型:
string
有效值:
Seconds
、Microseconds
、Milliseconds
、Bytes
、Kilobytes
、Megabytes
、Gigabytes
、Terabytes
、Bits
、Kilobits
、Megabits
、、Gigabits
、Terabits
、Percent
、Count
、Bytes/Second
、Kilobytes/Second
、Megabytes/Second
、Gigabytes/Second
、Terabytes/Second
、Bits/Second
、Kilobits/Second
、Megabits/Second
、Gigabits/Second
、Terabits/Second
、Count/Second
、None
默认值为
None
。
-
-
注意
适用于 CloudWatch PutMetricData
API 的所有配额都适用于您使用此组件发布的指标。以下配额尤其重要:
-
API 有效负载上限为 40 KB
-
每个 API 请求的 20 个指标
-
PutMetricData
API 的每秒 150 个事务 (TPS)
有关更多信息,请参阅《CloudWatch 用户指南》中的CloudWatch 服务配额。
例 示例输入
{ "request": { "namespace": "Greengrass", "metricData": { "metricName": "latency", "dimensions": [ { "name": "hostname", "value": "test_hostname" } ], "timestamp": 1539027324, "value": 123.0, "unit": "Seconds" } } }
输出数据
默认情况下,此组件将响应作为以下本地发布/订阅主题的输出数据发布。有关如何在您的自定义组件中订阅有关此主题的消息的更多信息,请参阅发布/订阅本地消息。
您可以选择将配置参数设置为,将此组件PubSubToIoTCore
配置为发布到 MQTT 主题。true
有关在自定义组件中订阅有关 MQTT 主题的消息的更多信息,请参阅。发布/订阅 Amazon IoT Core MQTT 消息
注意
默认情况下,组件版本 2.0.x 将响应作为 MQTT 主题的输出数据发布。您必须在传统订阅路由器组件的配置subject
中将主题指定为。
默认主题:cloudwatch/metric/put/status
例 示例输出:成功
响应包括指标数据的命名空间和 CloudWatch 响应中的RequestId
字段。
{ "response": { "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE", "namespace": "Greengrass", "status": "success" } }
例 示例输出:失败
{ "response" : { "namespace": "Greengrass", "error": "InvalidInputException", "error_message": "cw metric is invalid", "status": "fail" } }
注意
如果组件检测到可以重试的错误(例如连接错误),则会在下一批中重试发布。
许可证
此组件包括以下第三方软件/许可:
-
Amazon SDK for Python (Boto3)
/Apache 许可证 2.0 -
botocore
/Apache 许可证 2.0 -
dateutil
/PSF 许可证 -
docutils
/BSD 许可证,GNU 通用公共许可证 (GPL),Python 软件基金会许可证,公共领域 -
jmespath
/MIT 许可证 -
s3transfer
/Apache 许可证 2.0 -
urllib3
/MIT 许可证
该组件是根据 Greengrass 核心软件许可协议发布的
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表描述了该组件的每个版本中的更改。
另请参阅
-
PutMetricData在 Amazon CloudWatch API 参考中