View a markdown version of this page

对 SiteWise 边缘网关进行故障排除 - AWS IoT SiteWise

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

对 SiteWise 边缘网关进行故障排除

通过探索相关主题来解决常见的 AWS IoT SiteWise Edge 网关问题。

您还可以查看 SiteWise Edge 网关报告的 CloudWatch 指标,以解决连接或数据流问题。有关更多信息,请参阅 AWS IoT SiteWise 使用 Amazon CloudWatch 指标进行监控

配置和访问 SiteWise Edge 网关日志

在查看 SiteWise Edge 网关日志之前,必须将 SiteWise Edge 网关配置为向 Amazon Logs 发送 CloudWatch 日志或将日志存储在本地文件系统上。

  • 如果您想使用 CloudWatch AWS 管理控制台 来查看 SiteWise Edge 网关的日志文件,请使用日志。有关更多信息,请参阅 使用亚马逊 CloudWatch 日志

  • 如果您想使用命令行或本地软件查看 SiteWise Edge 网关的日志文件,请使用本地文件系统日志。有关更多信息,请参阅 使用服务登录 AWS IoT SiteWise

排除 SiteWise Edge 网关问题

使用以下信息解决 SiteWise Edge 网关问题。

无法将包部署到 SiteWise Edge 网关

如果 AWS IoT Greengrass nucleus 组件 (aws.greengrass.Nucleus) 已过期,则可能无法将包部署到 SiteWise Edge 网关。您可以使用 AWS IoT Greengrass V2 控制台升级 n AWS IoT Greengrass ucleus 组件。

要升级 AWS IoT Greengrass 核心组件(控制台)
  1. 导航至 AWS IoT Greengrass 控制台

  2. 在导航窗格的 AWS IoT Greengrass 下,选择部署

  3. 部署列表中,选择要修改的部署。

  4. 选择修订

  5. 指定目标页面,选择下一步

  6. 选择组件页面上公共组件下的搜索框中,输入 aws.greengrass.Nucleus,然后选择 aws.greengrass.Nucleus

  7. 选择下一步

  8. 配置组件页面上,选择下一步

  9. 配置高级设置页面上,选择下一步

  10. 检查 页上,选择 部署

AWS IoT SiteWise 无法从 OPC UA 服务器接收数据

如果您的 AWS IoT SiteWise 资产未接收 OPC UA 服务器发送的数据,则可以搜索 SiteWise Edge 网关的日志来解决问题。查找包含以下消息的信息级别 swPublisher 日志。

Emitting diagnostic name=PublishError.SomeException

根据日志SomeException中的类型,使用以下异常类型和相应的问题对 SiteWise Edge 网关进行故障排除:

  • ResourceNotFoundException— 您的 OPC UA 服务器发送的数据与任何资产的属性别名都不匹配。在以下两种情况下,可能会发生此异常:

    • 您的属性别名与 OPC UA 变量不完全匹配,包括您定义的任何源前缀。检查属性别名和源前缀是否正确。

    • 您尚未将 OPC UA 变量映射到资产属性。有关更多信息,请参阅 管理数据流 AWS IoT SiteWise

      如果您已经映射了所有想要的 OPC UA 变量 AWS IoT SiteWise,则可以筛选 SiteWise Edge 网关发送的 OPC UA 变量。有关更多信息,请参阅 在 SiteWise Edge 中使用 OPC UA 节点过滤器

  • InvalidRequestException— 您的 OPC UA 变量数据类型与您的资产属性数据类型不匹配。例如,如果 OPC UA 变量具有整数数据类型,相应的资产属性则必须是整数数据类型。双精度类型的资产属性不能接收 OPC UA 整数值。要解决此问题,请使用正确的数据类型定义新属性。

  • TimestampOutOfRangeException— 您的 SiteWise Edge 网关发送的数据超出可 AWS IoT SiteWise 接受的范围。 AWS IoT SiteWise 拒绝任何时间戳早于过去 7 天或将来时间戳早于 5 分钟的数据点。如果您的 SiteWise Edge 网关断电或与 AWS 云的连接中断,则可能需要清除 SiteWise Edge 网关的缓存。

  • ThrottlingException LimitExceededException — 您的请求超过了 AWS IoT SiteWise 服务配额,例如摄取的数据点速率或资产属性数据 API 操作的请求速率。检查您的配置是否未超过 AWS IoT SiteWise 配额

控制面板中未显示任何数据

如果您的控制面板中未显示任何数据,则发布商配置和 SiteWise Edge 网关的数据源可能不同步。如果二者不同步,更新数据来源名称可能会加快从云端到边缘的同步,从而修复不同步错误。

要更新数据来源的名称,请按以下步骤操作:
  1. 导航至 AWS IoT SiteWise 控制台

  2. 在导航窗格中,选择 Edge 网关

  3. 选择连接到仪表板的 SiteWise Edge 网关。

  4. 数据来源下,选择编辑

  5. 选择一个新的源名称,然后选择保存以确认您的更改。

  6. 确认数据来源表中的数据来源名称已更新,以验证您的更改。

在 aws.iot 中显示 “找不到或加载主类”。SiteWiseEdgePublisher 在/greengrass/v2/logs 错误处登录

如果您看到此错误,则可能需要更新 SiteWise Edge 网关的 Java 版本。

  • 从终端设备运行以下命令:

    java -version

    您的 SiteWise Edge 网关正在运行的 Java 版本将显示在下方OpenJDK Runtime Environment。您会看到如下响应:

    openjdk version "11.0.20" 2023-07-18 LTS OpenJDK Runtime Environment Corretto011.0.20.8.1 (build 11.0.20+8-LTS OpenJDK 64-Bit Server VM Corretto-11.0.20.8.1 (build 11.0.20+8-LTS, mixed node)

如果您运行的是 Java 版本 11.0.20.8.1,则必须将 IoT P SiteWise ublisher 包更新到 2.4.1 或更高版本。只有 java 版本 11.0.20.8.1 受到影响,具有其他 Java 版本的环境可以继续使用旧版本的 IoT SiteWise Publisher 组件。有关更新组件包的更多信息,请参阅更改 SiteWise Edge 网关组件包的版本

我看见 “SESSION_TAKEN_OVER” 或 “com.aws.greengrass.mqttclient”。MqttClient: 无法通过 Spooler 发布消息,将重试。” ”

如果您看到包含的警告SESSION_TAKEN_OVER或日志com.aws.greengrass.mqttclient.MqttClient: Failed to publish the message via Spooler and will retry.中包含的错误,则您可能正在尝试对多台设备上的多个 SiteWise Edge 网关使用相同的配置文件。/greengrass/v2/logs/greengrass.log每个 SiteWise Edge 网关都需要一个唯一的配置文件才能连接到您的 AWS 账户。

我看到了 'com.aws.greengrass.deploymIotJobsHelper: 未找到部署作业。” 或“Deployment result already reported. ”

如果您在 /greengrass/v2/logs/greengrass.log 的日志中看到 com.aws.greengrass.deployment.IotJobsHelper: No deployment job found.Deployment result already reported.,则您可能正在尝试重复使用相同的配置文件。

这种情况有多种解决方案:

  • 要重复使用此配置文件,请执行以下操作:

    1. 导航至 AWS IoT SiteWise 控制台

    2. 在导航窗格中,选择 Edge 网关

    3. 选择要重复使用的 SiteWise Edge 网关。

    4. 选择更新选项卡。

    5. 选择其他发布者版本,然后选择部署

按照 为创建网关 西门子工业边缘 中的步骤创建新的配置文件。

尝试在 OPC UA 数据源的属性组中配置时间戳设置时,我看到 “SYNC_FAILED” 状态

AWS IoT SiteWise 更新版本 2.5.0 AWS IoT Greengrass 中的 OPC UA 收集器组件时,我们引入了新的时间戳配置选项。您可以使用设备上的时间戳,也可以使用服务器上的时间戳。OPC UA 收集器组件的旧版本不支持此选项且无法同步。

有两种方法可以解决数据源同步状态失败的问题。推荐的方法是将 IoT SiteWise OPC UA 收集器组件升级到 2.5.0 或更高版本。或者,如果将时间戳设置为,则可以继续使用较早的 OPC UA 收集器组件版本。Source要了解如何升级 IoT SiteWise OPC UA 收集器组件,请参阅更新 AWS IoT SiteWise 组件的版本。我们建议使用所有组件的最新版本。

注意

当数据源同步状态失败时,不会出现数据中断。源数据继续流入 AWS IoT SiteWise。该配置根本无法与部署中的 IoT SiteWise OPC UA 收集器组件同步。 AWS IoT Greengrass V2

更改属性组的时间戳配置
  1. 导航至 AWS IoT SiteWise 控制台

  2. 在导航窗格中,选择 Edge 网关

  3. 选择要编辑的网关。

  4. 数据源部分中,选择同步状态为失败的数据源,然后选择编辑

  5. 展开 “高级配置”,然后展开 “群组设置”

  6. 时间戳中,选择来源。选择 Source 会从配置中移除该timestampToReturn属性。默认情况下,此设置允许从您的设备收集数据源时间戳,从而允许数据源与 IoT SiteWise OPC UA 收集器组件同步。

  7. 选择保存

不包括转换后的数据类型

如果您在将不支持的 OPC UA 数据类型转换为中的字符串时看到错误 AWS IoT SiteWise,则可能有以下几个原因:

  • 您尝试转换的数据类型是复杂数据类型。不支持复杂数据类型。

  • 目标用于使用 Amazon S3 进行AWS IoT SiteWise 缓冲时,完整字符串值会保留在推送到 Amazon S3 存储桶的文件中。当您稍后向中收录数据时 AWS IoT SiteWise,长度超过 1024 字节的完整字符串值将被拒绝。

信任存储问题

如果您遇到与 SiteWise Edge 中的信任存储相关的问题,请考虑以下故障排除步骤:

  • 验证 AWS IoT Greengrass 根 CA 证书在相应的信任存储库中是否存在且格式正确

  • 确保 Java KeyStore 密码设置正确, SiteWise Edge 组件可以访问

  • 检查所有自定义证书(例如 HTTPS 代理)的格式是否正确(通常为 PEM)并已正确导入到信任存储库中

  • 确认信任存储库具有正确的文件权限且可供 SiteWise Edge 进程访问

  • 查看 SiteWise Edge 日志中是否存在任何 SSL/TLS 相关错误,这可能表明信任存储存在问题

  • 使用诸如验证信任存储功能之类openssl的工具独立测试 SSL/TLS 连接

Proxy-enabled 安装问题

如果您在代理配置过程中遇到问题,请考虑以下故障排除步骤:

  • 验证代理 URL 的格式是否正确且包含正确的架构(http://https://

  • 确保所有代理凭证都 URL-encoded 包含特殊字符

  • 确认无代理列表包含所有必需的本地地址和 AWS 服务端点

  • 对于 HTTPS 代理,请验证提供的 CA 证书是否采用 PEM 格式

  • 查看安装日志,查看可能表明问题根源的特定错误消息

  • 独立测试代理连接以确保其正常运行

疑难解答 AWS IoT SiteWise 边缘应用程序已开启 西门子工业边缘

要对Siemens Industrial Edge设备上的 AWS IoT SiteWise Edge 应用程序进行故障排除,您可以通过Siemens Industrial Edge Management或Siemens Industrial Edge设备 (IED) 门户访问该应用程序的日志。有关更多信息,请参阅 Siemens 文档中的下载日志

我的数据无法显示在 AWS IoT SiteWise

  • 确保您的Databus用户没有问题,并且的复选标记图标Databus_Configuration为绿色而不是灰色。

  • 您当前运行的 Siemens Industrial Edge Management 版本可能不包含 Secure Storage 功能。请升级您的 Siemens 操作系统版本。有关更多信息,请参阅 西门子安全存储 还有 AWS IoT SiteWise 边缘应用程序

我在日志中看到 “配置文件缺少 AWS_REGION”

如果您在 Siemens 日志中看到 Config file missing AWS_REGION,则该配置文件的 JSON 已损坏。您将需要创建一个新的配置文件。按照 为创建网关 西门子工业边缘 中的步骤创建新的配置文件。

我在 Edge 网关配置上看到 “不同步” 错误消息

如果您在部署完成后在Siemens Industrial Edge网关上看到Out of sync错误消息,则表示 IoT SiteWise 发布商组件与您的网关不同步。IoT SiteWise 发布者组件在Siemens Industrial Edge网关的后台运行,以提供 MQTT 主题功能。我们将Siemens Industrial Edge网关升级为使用功能命名空间iotsitewise:publisher:3而不iotsitewise:publisher:2是. 您可以更新到最新版本的发布者来解决此问题。

升级到 IoT SiteWise 发布商的最新版本
  1. 导航至 AWS IoT SiteWise 控制台

  2. 在导航窗格中,选择 Edge 网关

  3. 选择要编辑的Siemens Industrial Edge网关。

  4. Edge 功能部分中,选择查看软件版本

  5. 在 “发布者” 下拉菜单下选择 IoT SiteWise 发布商的最新版本。

  6. 选择完成

对 Edge 的开源集成进行故障排除

本节为您在将开源工具与 SiteWise Edge 集成时可能遇到的常见问题提供解决方案。

注意

Node-RED®、InfluxDB® 和 Grafana® 不是 Edge 的供应商或供应商。 SiteWise

连接问题

Node-RED 无法连接到 MQTT 代理

验证 MQTT 代理是否正在运行并在指定端口上访问。检查您的网络配置并确保代理地址正确。

要验证 MQTT 代理状态,请运行:

docker ps | grep emqx
InfluxDB 连接错误

确保您的身份验证令牌有效,并且您指定了正确的组织和存储桶名称。检查InfluxDB是否正在运行并且可以访问。

要验证 InfluxDB 状态,请运行:

curl -I http://localhost:8086
Grafana 无法连接到 InfluxDB

验证 Grafana 中的 InfluxDB 数据源配置是否正确,包括网址、身份验证令牌、组织和存储桶。

数据流问题

中未出现任何数据 AWS IoT SiteWise

检查 Node-RED 流程中的属性别名是否与预期格式相匹配。验证 MQTT 主题结构是否正确,并且 SiteWise Edge 网关已正确配置为从 MQTT 代理接收数据。

InfluxDB 中不存储 SiteWise Edge 数据

验证 Node-RED 保留流的配置是否正确,以及InfluxDB写入器节点的存储桶和测量设置是否正确。检查 Node-RED 调试输出中是否存在任何错误。

数据格式错误

确保您的数据转换功能能够正确地在不同格式之间转换数据。使用调 Node-RED 试节点检查流程每个阶段的数据。

性能问题

高 CPU 或内存使用率

监控资源使用情况并根据需要调整组件的配置。考虑降低数据收集频率或实施数据过滤以减少处理负荷。

要监控资源使用情况,请运行:

docker stats
Grafana 仪表板加载速度慢

优化您的InfluxDB查询,并考虑为仪表板面板添加时间范围限制。使用适当的聚合函数减少显示的数据点的数量。

记录和诊断

要解决问题,请检查每个组件的日志:

Node-RED 日志

在 Node-RED 控制台中查看日志或运行:

docker logs node-red
InfluxDB 日志

通过运行以下命令访问日志:

docker logs influxdb
Grafana 日志

通过运行以下命令查看日志:

docker logs grafana
SiteWise 边缘日志

检查 SiteWise Edge 网关日志中是否有 MQTT 连接和数据处理问题。有关更多信息,请参阅 对 SiteWise 边缘网关进行故障排除

问题排查 AWS IoT Greengrass 问题

要找到在上配置或部署 SiteWise Edge 网关的许多问题的解决方案 AWS IoT Greengrass,请参阅AWS IoT Greengrass 开发人员指南 AWS IoT Greengrass中的疑难解答