本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
nucleus 遥测发射器组件 (aws.greengrass.telemetry.NucleusEmitter
) 收集系统健康遥测数据,并将其持续发布到本地主题和 MQTT 主题。 AWS IoT Core 此组件使您能够在 Greengrass 核心设备上收集实时系统遥测数据。有关向亚马逊发布系统遥测数据的 Greengrass 遥测代理的信息,请参阅。 EventBridge 从 AWS IoT Greengrass 核心设备收集系统运行状况遥测数据
默认情况下,Nucleus 遥测发射器组件每 60 秒将遥测数据发布到以下本地发布/订阅主题。
$local/greengrass/telemetry
默认情况下,nucleus 遥测发射器组件不会发布到 AWS IoT Core MQTT 主题中。您可以将此组件配置为在部署 AWS IoT Core MQTT 主题时将其发布到 MQTT 主题。使用 MQTT 主题向发布数据需视AWS IoT Core 定价
AWS IoT Greengrass 提供了多个社区组件,可帮助您使用 InfluxDB 和 Grafana 在核心设备上本地分析和可视化遥测数据。这些组件使用来自 Nucleus 发射器组件的遥测数据。有关更多信息,请参阅 InfluxDB 发布者组件
版本
此组件具有以下版本:
-
1.0.x
类型
此组件是一个插件组件 (aws.greengrass.plugin
)。Greengrass Nucleus 在与该 Nucleus 相同的 Java 虚拟机(JVM)中运行该组件。当您在核心设备上更改此组件的版本时,Nucleus 会重新启动。
此组件使用与 Greengrass Nucleus 相同的日志文件。有关更多信息,请参阅 监控 AWS IoT Greengrass 日志。
有关更多信息,请参阅 组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
依赖项
部署组件时, AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 AWS IoT Greengrass 控制台
下表列出了此组件版本 1.0.10 的依赖关系。
依赖关系 | 兼容版本 | 依赖关系类型 |
---|---|---|
Greengrass Nucleus | >=2.4.0 <2.15.0 | 硬性 |
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
pubSubPublish
-
(可选)定义是否向
$local/greengrass/telemetry
主题发布遥测数据。支持的值为true
和false
。默认值:
true
mqttTopic
-
(可选)此组件向其发布遥测数据的 AWS IoT Core MQTT 主题。
将此值设置为要向其发布遥测数据的 AWS IoT Core MQTT 主题。当此值为空时,Nucleus 发射器不会将遥测数据发布到 AWS Cloud。
注意
使用 MQTT 主题向发布数据需视AWS IoT Core 定价
而定。 AWS Cloud 默认值:
""
telemetryPublishIntervalMs
-
(可选)组件发布遥测数据的间隔时长(以毫秒为单位)。如果将此值设置为低于支持的最小值,则组件将改用最小值。
注意
较低的发布间隔会导致核心设备上的 CPU 使用率更高。我们建议您从默认发布间隔开始,然后根据设备的 CPU 使用率进行调整。
最低:
500
默认值:
60000
例 示例:配置合并更新
以下示例显示了一个配置合并更新示例,该更新允许每 5 秒向$local/greengrass/telemetry
主题和 greengrass/myTelemetry
AWS IoT Core MQTT 主题发布遥测数据。
{
"pubSubPublish": "true",
"mqttTopic": "greengrass/myTelemetry",
"telemetryPublishIntervalMs": 5000
}
输出数据
此组件将遥测指标作为 JSON 数组发布到以下主题。
本地主题:$local/greengrass/telemetry
您也可以选择将遥测指标发布到 AWS IoT Core MQTT 主题。有关主题的更多信息,请参阅《AWS IoT Core 开发人员指南》中的 MQTT 主题。
例 示例数据
[
{
"A": "Average",
"N": "CpuUsage",
"NS": "SystemMetrics",
"TS": 1627597331445,
"U": "Percent",
"V": 26.21981271562346
},
{
"A": "Count",
"N": "TotalNumberOfFDs",
"NS": "SystemMetrics",
"TS": 1627597331445,
"U": "Count",
"V": 7316
},
{
"A": "Count",
"N": "SystemMemUsage",
"NS": "SystemMetrics",
"TS": 1627597331445,
"U": "Megabytes",
"V": 10098
},
{
"A": "Count",
"N": "NumberOfComponentsStarting",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsInstalled",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsStateless",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsStopping",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsBroken",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsRunning",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 7
},
{
"A": "Count",
"N": "NumberOfComponentsErrored",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsNew",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 0
},
{
"A": "Count",
"N": "NumberOfComponentsFinished",
"NS": "GreengrassComponents",
"TS": 1627597331446,
"U": "Count",
"V": 2
}
]
输出数组包含具有以下属性的指标列表:
A
-
指标的聚合类型。
对于
CpuUsage
指标,此属性设置为Average
,因为该指标的发布值是自上次发布事件以来的平均 CPU 使用率。对于所有其他指标,Nucleus 发射器不会聚合指标值,并且此属性设置为
Count
。 N
-
指标的名称。
NS
-
指标命名空间。
TS
-
表示数据在何时收集的时间戳。
U
-
指标值的单位。
V
-
指标值。
Nucleus 发射器发布以下指标:
名称 | 描述 |
---|---|
系统 |
|
|
Greengrass 核心设备上所有应用程序(包括操作系统)当前使用的内存量。 |
|
Greengrass 核心设备上所有应用程序(包括操作系统)当前使用的 CPU 量。 |
|
Greengrass 核心设备操作系统存储的文件描述符的数量。一个文件描述符可以唯一地标识一个打开的文件。 |
Greengrass Nucleus |
|
|
Greengrass 核心设备上运行的组件的数量。 |
|
Greengrass 核心设备上处于错误状态的组件的数量。 |
|
Greengrass 核心设备上安装的组件的数量。 |
|
Greengrass 核心设备上启动的组件的数量。 |
|
Greengrass 核心设备上新组件的数量。 |
|
Greengrass 核心设备上停止组件的数量。 |
|
Greengrass 核心设备上完成组件的数量。 |
|
Greengrass 核心设备上损坏组件的数量。 |
|
Greengrass 核心设备上无状态组件的数量。 |
使用量
要使用系统运行状况遥测数据,您可以创建自定义组件,这些组件可订阅 Nucleus 发射器向其发布遥测数据的主题,并根据需要对这些数据做出反应。由于 Nucleus 发射器组件提供了将遥测数据发布到本地主题的选项,因此您可以订阅该主题,并使用已发布的数据在核心设备上进行本地操作。然后,即使核心设备与云的连接有限,核心设备也可以对遥测数据做出反应。
例如,您可以配置一个组件,该组件侦听 $local/greengrass/telemetry
主题上的遥测数据,并将数据发送到流管理器组件,以将数据流式传输到 AWS Cloud。有关创建此类组件的更多信息,请参阅发布/订阅本地消息和创建使用流管理器的自定义组件。
本地日志文件
此组件使用与 Greengrass Nucleus 组件相同的日志文件。
/logs/greengrass.log
/greengrass/v2
查看此组件的日志
-
在核心设备上运行以下命令可实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 AWS IoT Greengrass 根文件夹的路径。sudo tail -f
/logs/greengrass.log/greengrass/v2
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
2016-09-01 |
Greengrass nucleus 版本 2.14.0 版本的版本已更新。 |
1.0.9 |
对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。 |
1.0.8 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
1.0.7 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
1.0.6 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
1.0.5 |
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
1.0.4 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
1.0.3 |
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。 |
1.0.2 |
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。 |
1.0.1 |
版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。 |
1.0.0 |
初始版本。 |