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

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

本地调试控制台

本地调试控制台组件 (aws.greengrass.LocalDebugConsole)提供了一个本地仪表板,该仪表板显示有关Amazon IoT Greengrass核心设备及其组件。您可以使用此仪表板调试核心设备并管理本地组件。

重要

请勿在生产环境中使用此组件。此组件仅用于开发环境。任何有权访问Amazon IoT Greengrass核心设备上的 CLI 可以访问信息并执行此组件公开的操作。

Versions

此组件具有以下版本:

  • 2.2.x

  • 2.1.x

  • 2.0.x

Type

这个组件是一个插件组件(aws.greengrass.plugin)。这些区域有:Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您安装或重新启动此组件时,核心将重新启动。

此组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅 查看Amazon IoT GreengrassCore 软件日志

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

Requirements

此组件具有以下要求:

  • 您可以使用用户名和密码来登录仪表板。用户名,即debug,为您提供了。您必须使用Amazon IoT GreengrassCLI 创建临时密码,通过核心设备上的仪表板对您进行身份验证。您必须能够使用Amazon IoT GreengrassCLI 以使用本地调试控制台。有关更多信息,请参阅 。Greengrass CLI 要求。有关如何生成密码并登录的更多信息,请参阅本地调试控制台组件使用

Dependencies

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

2.2.1

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核心 >==2.1.0 硬性
Greengrass CLI >==2.1.0 硬性
2.2.0

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

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

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核心 >==2.1.0 硬性
Greengrass CLI >==2.1.0 硬性
2.0.x

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核心 >=2.0.3 软性
Greengrass CLI >=2.0.3 软性

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

Configuration

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

v2.1.x - v2.2.x
httpsEnabled

(可选)您可以为本地调试控制台启用 HTTPS 通信。如果启用 HTTPS 通信,本地调试控制台会创建自签名证书。Web 浏览器为使用自签名证书的网站显示安全警告,因此您必须手动验证证书。然后,你可以绕过警告。有关更多信息,请参阅 Usage

默认值:true

port

(可选)提供本地调试控制台的端口。

默认值:1441

websocketPort

(可选)用于本地调试控制台的 websocket 端口。

默认值:1442

例 示例:配置 merge 更新

以下示例配置指定在非默认端口上打开本地调试控制台并禁用 HTTPS。

{ "httpsEnabled": false, "port": "10441", "websocketPort": "10442" }
v2.0.x
port

(可选)提供本地调试控制台的端口。

默认值:1441

websocketPort

(可选)用于本地调试控制台的 websocket 端口。

默认值:1442

例 示例:配置 merge 更新

以下示例配置指定在非默认端口上打开本地调试控制台。

{ "port": "10441", "websocketPort": "10442" }

Usage

要使用本地调试控制台,请从 Greengrass CLI 创建会话。创建会话时,Greengrass CLI 会提供用户名和临时密码,您可以使用这些用户名和临时密码登录到本地调试控制台。

按照以下说明在核心设备或开发计算机上打开本地调试控制台。

v2.1.x - v2.2.x

在 2.1.0 及更高版中,本地调试控制台默认使用 HTTPS。启用 HTTPS 后,本地调试控制台会创建自签名证书来确保连接。由于此自签名证书,当您打开本地调试控制台时,Web 浏览器会显示安全警告。使用 Greengrass CLI 创建会话时,输出会包含证书的指纹,以便您可以验证证书是否合法并且连接是否安全。

您可以禁用 HTTPS。有关更多信息,请参阅 。本地调试控制台配置

打开本地调试控制台

  1. (可选)要查看开发计算机上的本地调试控制台,可以通过 SSH 转发控制台的端口。但是,您必须先启用AllowTcpForwarding选项在核心设备的 SSH 配置文件中进行。默认情况下,此选项处于启用状态。在开发计算机上运行以下命令,以查看http://localhost:1441在开发计算机上。

    ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
    注意

    您可以将默认端口从14411442。有关更多信息,请参阅 。本地调试控制台配置

  2. 创建会话以使用本地调试控制台。创建会话时,将生成用于验证的密码。本地调试控制台需要密码才能提高安全性,因为您可以使用此组件查看重要信息并在核心设备上执行操作。如果在组件配置中启用 HTTPS,本地调试控制台还会创建证书以保护连接。默认情况下,HTTPS 处于启用状态。

    使用Amazon IoT GreengrassCLI 创建会话。此命令生成一个随机 43 个字符的密码,该密码在 8 小时后过期。Replace/绿草/v2的路径,以指向Amazon IoT Greengrass V2根文件夹。

    sudo /greengrass/v2/bin/greengrass-cli get-debug-password

    如果您已将本地调试控制台配置为使用 HTTPS,则命令输出类似于以下示例。当您打开本地调试控制台时,您可以使用证书指纹来验证连接是否安全。

    Username: debug Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE Password expires at: 2021-04-01T17:01:43.921999931-07:00 The local debug console is configured to use TLS security. The certificate is self-signed so you will need to bypass your web browser's security warnings to open the console. Before you bypass the security warning, verify that the certificate fingerprint matches the following fingerprints. SHA-256: 15 0B 2C E2 54 8B 22 DE 08 46 54 8A B1 2B 25 DE FB 02 7D 01 4E 4A 56 67 96 DA A6 CC B1 D2 C4 1B SHA-1: BC 3E 16 04 D3 80 70 DA E0 47 25 F9 90 FA D6 02 80 3E B5 C1

    调试视图组件创建一个持续 8 小时的会话。之后,您必须生成新的密码才能再次查看本地调试控制台。

  3. 打开并登录仪表板。查看 Greengrass 核心设备上的仪表板,如果您通过 SSH 转发端口,则可在开发计算机上查看仪表板。请执行下列操作之一:

    • 如果在本地调试控制台(默认设置)中启用了 HTTPS,请执行以下操作:

      1. 打开https://localhost:1441或开发计算机上(如果您通过 SSH 转发端口)。

        您的浏览器可能会显示有关安全证书无效的安全警告。

      2. 如果您的浏览器显示安全警告,请验证证书是否合法并绕过安全警告。执行以下操作:

        1. 找到证书的 SHA-256 或 SHA-1 指纹,并验证它是否与 SHA-256 或 SHA-1 指纹相匹配get-debug-password命令。您的浏览器可能提供一个或两个指纹。查看您的浏览器文档以查看证书及其指纹。在某些浏览器中,证书指纹称为指纹。

          注意

          如果证书指纹不匹配,请转到步骤 2创建新的会话。如果证书指纹仍然不匹配,则表示您的连接可能不安全。

        2. 如果证书指纹匹配,请绕过浏览器的安全警告以打开本地调试控制台。请参阅浏览器的文档以绕过浏览器安全警告。

      3. 使用用户名和密码登录到网站get-debug-password命令打印之前。

        本地调试控制台将打开。

      4. 如果本地调试控制台显示错误,指出由于 TLS 握手失败而无法连接到 WebSocket,则必须绕过 WebSocket URL 的自签名安全警告。

        
                          本地调试控制台中的 WebSocket TLS 握手错误。

        执行以下操作:

        1. 打开https://localhost:1442在打开本地调试控制台的同一浏览器中。

        2. 验证证书并绕过安全警告。

          绕过警告后,您的浏览器可能会显示 HTTP 404 页面。

        3. 打开https://localhost:1441

          本地调试控制台显示有关核心设备的信息。

    • 如果在本地调试控制台中禁用了 HTTPS,请执行以下操作:

      1. 打开http://localhost:1441,或者如果通过 SSH 转发端口,则在开发计算机上打开它。

      2. 使用用户名和密码登录到网站get-debug-password命令。

        本地调试控制台将打开。

v2.0.x

打开本地调试控制台

  1. (可选)要查看开发计算机上的本地调试控制台,可以通过 SSH 转发控制台的端口。但是,您必须先启用AllowTcpForwarding选项在核心设备的 SSH 配置文件中进行。默认情况下,此选项处于启用状态。在开发计算机上运行以下命令,以查看http://localhost:1441在开发计算机上。

    ssh -L 1441:localhost:1441 -L 1442:localhost:1442 username@core-device-ip-address
    注意

    您可以将默认端口从14411442。有关更多信息,请参阅 。本地调试控制台配置

  2. 创建会话以使用本地调试控制台。创建会话时,将生成用于验证的密码。本地调试控制台需要密码才能提高安全性,因为您可以使用此组件查看重要信息并在核心设备上执行操作。

    使用Amazon IoT GreengrassCLI 创建会话。此命令生成一个随机 43 个字符的密码,该密码在 8 小时后过期。Replace/绿草/v2的路径,以指向Amazon IoT Greengrass V2根文件夹。

    sudo /greengrass/v2/bin/greengrass-cli get-debug-password

    命令输出类似于以下示例。

    Username: debug Password: bEDp3MOHdj8ou2w5de_sCBI2XAaguy3a8XxREXAMPLE Password will expire at: 2021-04-01T17:01:43.921999931-07:00

    调试视图组件创建会话持续 4 小时,然后您必须生成新密码才能再次查看本地调试控制台。

  3. 打开http://localhost:1441,或者如果通过 SSH 转发端口,则在开发计算机上打开它。

  4. 使用用户名和密码登录到网站get-debug-password命令。

    本地调试控制台将打开。

Changelog

下表介绍每一版的中的更改。

Version

更改

2.2.1

版本更新为 Greengrass 核 2.3.0 版发行。

2.2.0

版本更新为 Greengrass 核 2.2.0 版发行。

2.1.0

新功能
  • 使用 HTTPS 保护与本地调试控制台的连接。默认情况下,HTTPS 处于启用状态。

错误修复和改进
  • 您可以在配置编辑器中关闭闪光栏消息。

2.0.3

初始版本。