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

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

Nucleus

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

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

$local/greengrass/telemetry

默认情况下,nucleus 遥测发射器组件不会发布到Amazon IoT Core MQTT 主题。您可以将此组件配置为在部署时发布到Amazon IoT Core MQTT 主题。使用 MQTT 主题向发布数据需视Amazon IoT Core定价而定。Amazon Web Services 云

Amazon IoT Greengrass提供了多个社区组件,可帮助您使用 InfluxDB 和 Grafana 在本地分析和可视化核心设备上的遥测数据。这些组件使用来自核发射器组件的遥测数据。,In fluxDB

版本

此组件有以下版本:

  • 1.0.x

类型

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

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

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

操作系统

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

  • Linux

  • Windows

附属物

部署组件时,Amazon IoT Greengrass还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及为每个依赖项定义组件版本的语义版本约束。您还可以在Amazon IoT Greengrass控制台中查看每个版本组件的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

1.0.4

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.4.0 硬性
1.0.3

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.4.0 硬性
1.0.2

1.0.2。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.4.0 硬性
1.0.1

1.0.1。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.4.0 硬性
1.0.0

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.4.0 硬性

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

配置

此组件提供以下配置参数,您可以在部署组件时对其进行自定义。

pubSubPublish

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

默认值:true

mqttTopic

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

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

注意

使用 MQTT 主题向发布数据需视Amazon IoT Core定价而定。Amazon Web Services 云

默认值:""

telemetryPublishIntervalMs

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

注意

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

最低:500

默认值:60000

例 示例:配置合并更新

以下示例显示了一个配置合并更新示例,该更新允许每 5 秒钟向$local/greengrass/telemetry主题和greengrass/myTelemetryAmazon IoT Core MQTT 主题发布遥测数据。

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

输出数据

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

本地话题:$local/greengrass/telemetry

您可以选择还向Amazon IoT Core MQTT 主题发布遥测指标。有关主题的更多信息,请参阅Amazon 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:

名称 描述

系统

SystemMemUsage

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

CpuUsage

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

TotalNumberOfFDs

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

Greengrass 核

NumberOfComponentsRunning

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

NumberOfComponentsErrored

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

NumberOfComponentsInstalled

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

NumberOfComponentsStarting

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

NumberOfComponentsNew

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

NumberOfComponentsStopping

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

NumberOfComponentsFinished

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

NumberOfComponentsBroken

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

NumberOfComponentsStateless

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

直播管理器 — 此功能需要 v2.7.0 或更高版本的 Greengrass 核心组件。

BytesAppended

BytesUploadedToIoTAnalytics

Amazon IoT Analytics。

BytesUploadedToKinesis

流管理器在 Amazon Kinesis 数据流中导出到流的数据字节数。

BytesUploadedToIoTSiteWise

Sream ManagerAmazon IoT SiteWise。

BytesUploadedToS3

Amazon S3

用量

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

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

Local log file

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

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

查看此组件的日志

  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将 /greengrass/v2C:\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.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

初始版本。