CloudWatch 指标
Amazon CloudWatch 指标组件(aws.greengrass.Cloudwatch
)将 Greengrass 核心设备中的自定义指标发布到 Amazon CloudWatch。该组件使组件能够发布 CloudWatch 指标,您可以用其来监控和分析 Greengrass 核心设备的环境。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Amazon CloudWatch 指标。
要通过此组件发布 CloudWatch 指标,请向此组件订阅的主题发布一条消息。默认情况下,此组件订阅 cloudwatch/metric/put
local publish/subscribe 主题。部署此组件时,可以指定其他主题,包括 AWS IoT Core MQTT 主题。
此组件对同一命名空间中的指标进行批处理,并定期将这些指标发布到 CloudWatch。
注意
此组件提供的功能与 AWS IoT Greengrass V1 中的 CloudWatch 指标连接器类似。有关更多信息,请参阅《AWS IoT Greengrass V1 开发人员指南》中的 CloudWatch metrics connector。
版本
此组件具有以下版本:
-
3.1.x
-
3.0.x
-
2.1.x
-
2.0.x
有关每个组件版本中的更改的信息,请参阅更改日志。
类型
有关更多信息,请参阅 组件类型。
操作系统
要求
此组件具有以下要求:
端点和端口
除基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙。
Endpoint | 端口 | 必需 | 描述 |
---|---|---|---|
|
443 | 是 |
上传 CloudWatch 指标。 |
依赖项
在您部署组件时,AWS IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 AWS IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
输入数据
此组件接受有关以下主题的指标,并将这些指标发布到 CloudWatch。默认情况下,此组件订阅本地发布/订阅消息。有关如何从您的自定义组件向此组件发布消息的更多信息,请参阅 发布/订阅本地消息。
从组件版本 v3.0.0 开始,您可以选择通过将 PubSubToIoTCore
配置参数设置为 true
来将此组件配置为订阅 MQTT 主题。有关在自定义组件中向 MQTT 主题发布消息的更多信息,请参阅 发布/订阅 AWS 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 用户指南》https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html中的 CloudWatch 服务配额。
例 示例输入
{ "request": { "namespace": "Greengrass", "metricData": { "metricName": "latency", "dimensions": [ { "name": "hostname", "value": "test_hostname" } ], "timestamp": 1539027324, "value": 123.0, "unit": "Seconds" } } }
输出数据
默认情况下,此组件会将响应作为输出数据发布到以下本地发布/订阅主题中。有关如何在自定义组件中订阅此主题消息的更多信息,请参阅 发布/订阅本地消息。
您可以选择通过将 PubSubToIoTCore
配置参数设置为 true
来将此组件配置为发布到 MQTT 主题。有关在自定义组件中订阅 MQTT 主题消息的更多信息,请参阅 发布/订阅 AWS 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" } }
注意
如果组件检测到可以重试的错误(例如连接错误),它会在下一次批处理中重试发布。
许可证
此组件包含以下第三方软件/许可:
-
AWS 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 Core 软件许可协议
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 AWS IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
另请参阅
-
Amazon CloudWatch 用户指南中的使用 Amazon CloudWatch 指标
-
Amazon CloudWatch API 参考中的 PutMetricData