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

Amazon IoT Greengrass Version 12023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅Amazon IoT Greengrass V1维护政策。在此日期之后,Amazon IoT Greengrass V1不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上运行的设备Amazon IoT Greengrass V1不会受到干扰,将继续运行并连接到云端。我们强烈建议你迁移到Amazon IoT Greengrass Version 2,它补充说重要的新功能支持其他平台

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

Device Defender 连接器

Device Defender连接器向管理员通知 Greengrass 核心设备状态的变化。这有助于识别可能指示受损设备的异常行为。

此连接器从核心设备上的 /proc 目录中读取系统指标,然后将这些指标发布到 Amazon IoT Device Defender。有关指标报告的详细信息,请设备指标文档规范中的Amazon IoT开发人员指南.

此连接器具有以下版本。

版本

ARN

3

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3

2

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/2

1

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/1

有关版本更改的信息,请参阅更改日志

要求

此连接器具有以下要求:

Version 3
  • Amazon IoT Greengrass Core 软件 v1.9.3 版或更高版本。

  • Python安装在核心设备上的 3.7 或 3.8 版并添加到 PATH 环境变量中。

    注意

    要使用 Python 3.8,请运行以下命令创建从默认 Python 3.7 安装文件夹到已安装的 Python 3.8 二进制文件的符号链接。

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    这会将设备配置为满足 Amazon IoT Greengrass 的 Python 要求。

  • Amazon IoT Device Defender 配置为使用检测功能来跟踪冲突。有关更多信息,请参阅 。检测中的Amazon IoT开发人员指南.

  • 一个本地卷资源Greengrass 组中一个指向/proc目录。该资源必须使用以下属性:

    • 源路径:/proc

    • 目标路径:/host_proc(或一个与有效模式匹配的值)

    • AutoAddGroupOwner:true

  • 安装在 Greengrass 核心上的 psutil 库。版本 5.7.0 是经验证可与连接器一起使用的最新版本。

  • 安装在 Greengrass 核心上的 cbor 库。版本 1.0.0 是经验证可与连接器一起使用的最新版本。

Versions 1 - 2
  • Amazon IoT Greengrass核心软件 v1.7 或更高版本。

  • Python安装在核心设备上的版本 2.7 并添加到 PATH 环境变量。

  • Amazon IoT Device Defender 配置为使用检测功能来跟踪冲突。有关更多信息,请参阅 。检测中的Amazon IoT开发人员指南.

  • 一个本地卷资源Greengrass 组中一个指向/proc目录。该资源必须使用以下属性:

    • 源路径:/proc

    • 目标路径:/host_proc(或一个与有效模式匹配的值)

    • AutoAddGroupOwner:true

  • 安装在 Greengrass 核心上的 psutil 库。

  • 安装在 Greengrass 核心上的 cbor 库。

连接器参数

该连接器提供以下参数:

SampleIntervalSeconds

收集和报告指标的每个周期之间的秒数。最小值为 300 秒 (5 分钟)。

显示名称Amazon IoT控制台::度量报告间隔

必需true

类型:string

有效模式:^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

/proc 卷资源的 ID。

注意

此连接器被授予对该资源的只读访问权限。

显示名称Amazon IoT控制台:/proc 目录的资源

必需true

类型:string

有效模式:[a-zA-Z0-9_-]+

ProcDestinationPath

/proc 卷资源的目标路径。

显示名称Amazon IoT控制台:/proc 资源的目标路径

必需true

类型:string

有效模式:\/[a-zA-Z0-9_-]+

创建连接器示例 (Amazon CLI)

以下 CLI 命令将创建ConnectorDefinition其初始版本包含 Device Defender Defender 连接器。

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyDeviceDefenderConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3", "Parameters": { "SampleIntervalSeconds": "600", "ProcDestinationPath": "/host_proc", "ProcDestinationPath-ResourceId": "my-proc-resource" } } ] }'
注意

此连接器中的 Lambda 函数有长时间生存生命周期。

在Amazon IoT Greengrass控制台,您可以从组中添加连接器连接器页. 有关更多信息,请参阅 Greengrass 连接器入门(控制台)

输入数据

此连接器不接受 MQTT 消息作为输入数据。

输出数据

此连接器将安全指标作为输出数据发布到 Amazon IoT Device Defender。

订阅中的主题筛选条件

$aws/things/+/defender/metrics/json

注意

这是 Amazon IoT Device Defender 预期的主题语法。连接器将 + 通配符替换为设备名称(例如,$aws/things/thing-name/defender/metrics/json)。

输出示例

有关指标报告的详细信息,请设备指标文档规范中的Amazon IoT开发人员指南.

{ "header": { "report_id": 1529963534, "version": "1.0" }, "metrics": { "listening_tcp_ports": { "ports": [ { "interface": "eth0", "port": 24800 }, { "interface": "eth0", "port": 22 }, { "interface": "eth0", "port": 53 } ], "total": 3 }, "listening_udp_ports": { "ports": [ { "interface": "eth0", "port": 5353 }, { "interface": "eth0", "port": 67 } ], "total": 2 }, "network_stats": { "bytes_in": 1157864729406, "bytes_out": 1170821865, "packets_in": 693092175031, "packets_out": 738917180 }, "tcp_connections": { "established_connections":{ "connections": [ { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" }, { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" } ], "total": 2 } } } }

许可证

此连接器在Greengrass 核心软件许可协议.

更改日志

下表介绍了在连接器各个版本中进行的更改。

版本

更改

3

将 Lambda 运行时升级到 Python 3.7,这会更改运行时要求。

2

进行了修复,以减少过多的日志记录。

1

首次发布。

Greengrass 组一次只能包含一个连接器版本。有关升级连接器版本的信息,请参阅升级连接器版本

另请参阅