Nucleus 遥测发射器 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Nucleus 遥测发射器

ucleus 遥测发射器组件 (aws.greengrass.telemetry.NucleusEmitter) 收集系统运行状况遥测数据并将其持续发布到本地主题和Amazon IoT CoreMQTT 主题。此组件使您能够在 Greengrass 核心设备上收集实时系统遥测数据。有关将系统遥测数据发布到 Amazon EventBridge 的 Greengrass 遥测代理的信息,请参阅从中收集系统运行状况遥测数据Amazon IoT Greengrass核心设备.

默认情况下,ucleus 遥测发射器组件每 60 秒将遥测数据发布到以下本地发布/订阅主题。

$local/greengrass/telemetry

ucleus 遥测发射器组件不会发布到Amazon IoT Core默认情况下,MQTT 主题。您可以将此组件配置为发布到Amazon IoT Core部署时的 MQTT 主题。使用 MQTT 主题将数据发布到Amazon Web Services 云受制于Amazon IoT Core定价.

Amazon IoT Greengrass提供了几个社区组件以帮助您使用 fluxDB 和 Grafana 在本地分析和可视化核心设备上的遥测数据。这些组件使用来自核发射器组件的遥测数据。有关更多信息,请参阅fluxDB 发布者组件.

版本

此组件具有以下版本:

  • 1.0.x

类型

这个组件是一个插件组件 (aws.greengrass.plugin)。这些区域有:Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,核心会重新启动。

此组件使用与 Greengrass 核心相同的日志文件。有关更多信息,请参阅 显示器Amazon IoT Greengrass圆木

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

附属物

当你部署组件时,Amazon IoT Greengrass还可以部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署组件。本部分列出了的依赖项发布的版本以及定义每个依赖项的组件版本的语义版本约束。您也可以在Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项列表。

1.0.1

下表列出了本组件 1.0.1 的依赖项。

依赖关系 兼容的版本 依赖项类型
Greengrass 核心 >=2.4.0 <2.6.0 硬性
1.0.0

下表列出了此组件 1.0.0 版的依赖关系。

依赖关系 兼容的版本 依赖项类型
Greengrass 核心 >=2.4.0 <2.5.0 硬性

有关组件依赖项的更多信息,请参阅组件配方参考.

配置

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

pubSubPublish

(可选)定义是否将遥测数据发布到$local/greengrass/telemetry主题。支持的值为 truefalse

默认值:true

mqttTopic

(可选)Amazon IoT Core此组件向其发布遥测数据的 MQTT 主题。

将此值设置为Amazon IoT Core要将遥测数据发布到的 MQTT 主题。当此值为空时,核发射器不会将遥测数据发布到Amazon Web Services 云.

注意

使用 MQTT 主题将数据发布到Amazon Web Services 云受制于Amazon IoT Core定价.

默认值:""

telemetryPublishIntervalMs

(可选)组件发布遥测数据的时间量(以毫秒为单位)。如果将此值设置为低于支持的最小值,则组件将使用最小值。

注意

较短的发布间隔会导致核心设备上的 CPU 使用率提高。我们建议您从默认的发布间隔开始,然后根据设备的 CPU 使用率对其进行调整。

最低:500

默认值:60000

例如:更新配置

以下示例显示了一个示例配置合并更新,该更新允许每 5 秒将遥测数据发布到$local/greengrass/telemetry主题和greengrass/myTelemetry Amazon IoT CoreMQTT 主题。

{ "pubSubPublish": "true", "mqttTopic": "greengrass/myTelemetry", "telemetryPublishIntervalMs": 5000 }

输出数据

此组件将遥测指标作为 JSON 数组发布以下主题。

本地主题: $local/greengrass/telemetry

您可以选择也将遥测指标发布到Amazon IoT CoreMQTT 主题。有关主题的更多信息,请参阅MQTT 主题中的Amazon IoT Core开发人员指南.

例 示例数据

[ { "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

指标值。

核心发射器发布了以下指标:

名称 描述

SystemMemUsage

Greengrass 核心设备上的所有应用程序(包括操作系统)当前使用的内存量。

系统

CpuUsage

Greengrass 核心设备上的所有应用程序(包括操作系统)当前使用的 CPU 量。

系统

TotalNumberOfFDs

Greengrass 核心设备的操作系统存储的文件描述符的数量。一个文件描述符唯一标识一个打开的文件

系统

NumberOfComponentsRunning

在 Greengrass 核心设备上运行的组件数。

Greengrass 核心

NumberOfComponentsErrored

Greengrass 核心设备上处于错误状态的组件数量。

Greengrass 核心

NumberOfComponentsInstalled

在 Greengrass 核心设备上安装的组件数。

Greengrass 核心

NumberOfComponentsStarting

在 Greengrass 核心设备上启动的组件数。

Greengrass 核心

NumberOfComponentsNew

Greengrass 核心设备上的新组件的数量。

Greengrass 核心

NumberOfComponentsStopping

在 Greengrass 核心设备上停止的组件数。

Greengrass 核心

NumberOfComponentsFinished

在 Greengrass 核心设备上完成的组件数。

Greengrass 核心

NumberOfComponentsBroken

Greengrass 核心设备上损坏的组件数。

Greengrass 核心

NumberOfComponentsStateless

Greengrass 核心设备上处于无状态的组件的数量。

Greengrass 核心

用量

要使用系统运行状况遥测数据,您可以创建自定义组件,以订阅核发射器发布遥测数据的主题,然后根据需要对该数据做出反应。由于 Nucleus 发射器组件提供了将遥测数据发布到本地主题的选项,因此您可以订阅该主题,然后使用已发布的数据在核心设备上本地操作。然后,即使在与云的连接有限的情况下,核心设备也可以对遥测数据做出反应。

例如,您可以配置一个组件来监听$local/greengrass/telemetry关于遥测数据的主题,并将数据发送到流管理器组件,以便将数据流式传输到Amazon Web Services 云. 有关创建此类组件的更多信息,请参阅发布/订阅本地消息创建使用流管理器的自定义组件.

本地日志文件

此组件使用的日志文件与Greengrass 核心组件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看此组件的日志文件。Replace/绿草/v2要么C:\greengrass\v2随着通往Amazon IoT Greengrass根文件夹。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表介绍了组件各个版本的更改。

Version

更改

1.0.1

版本已更新为 Greengrass 核心版 2.5.0。

1.0.0

初始版本。