AWS IoT Greengrass
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Device Defender

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

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

ARNarn:aws:greengrass:区域::/connectors/DeviceDefender/versions/1

要求

此连接器具有以下要求:

  • AWS IoT Greengrass 核心软件 v1.7 or later。

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

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

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

    • 源路径:/proc

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

    • AutoAddGroupOwner:true

  • 安装在 AWS IoT Greengrass Core 上的 psutil 库。使用以下命令安装它:

    pip install psutil
  • 安装在 AWS IoT Greengrass Core 上的 cbor 库。使用以下命令安装它:

    pip install cbor

连接器参数

该连接器提供以下参数:

SampleIntervalSeconds

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

在控制台中显示名称:度量报告间隔

必需:true

类型:string

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

ProcDestinationPath-ResourceId

/proc 卷资源的 ID。

注意

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

在控制台中显示名称:/proc 目录的资源

必需:true

类型:string

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

ProcDestinationPath

/proc 卷资源的目标路径。

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

必需:true

类型:string

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

创建连接器示例 (CLI)

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

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

注意

该连接器中的 Lambda 函数具有很长的生命周期。

在 AWS IoT Greengrass 控制台 中,您可以从该组的 Connectors (连接器)页面添加一个连接器。有关更多信息,请参阅 Greengrass 连接器入门(控制台)

输入数据

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

输出数据

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

主题筛选条件

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

注意

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

输出示例

有关指标报告详细信息,请参阅AWS 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 核心软件许可协议发布。

另请参阅