亚马逊AWS官方博客

IoT 数据摄入和可视化的 7 种模式 – 如何确定最适合您使用场景的模式

无论您是刚刚开始物联网(IoT)之旅,还是已经拥有数百万台互联的 IoT 设备,您可能都在寻求方法以最大限度地利用从 IoT 数据中提取的价值。IoT 设备数据所报告的遥测数据、元数据、状态以及命令和响应中包含了丰富的信息。但是,要想获得尽可能提升运营效率和交付业务成果所需的洞察,拥有正确的报告和可视化解决方案是关键所在。

没有哪一种解决方案能够普遍适用于所有使用场景,因此像  AWS Well-Architected 这样的框架可以帮助您从管理、性能、成本和运营角度选择最适合的解决方案。您可能正在寻找一种能够实时交付数据的报告和可视化解决方案。或者,您可能需要一个能够完全自定义的解决方案,向您提供执行搜索来获取洞察的功能。在这篇博文中,我们将介绍 AWS 上的几种不同 IoT 报告和可视化解决方案。我们将查看 7 种可以实时、近乎实时以及按计划提供报告的不同架构模式。此外,我们还将向您介绍每个解决方案使用场景的数据点、刷新间隔、数据摄入流程、架构和复杂性。

架构模式

下图显示整合了所有架构模式的视图,每种模式的详细信息将在后面的章节中介绍。

模式 1:AWS 流管理器

概览:

借助 AWS IoT Greengrass 流管理器,您可以更轻松、更可靠地将大量 IoT 数据传输到 AWS 云。流管理器在本地处理数据流,然后自动将其导出到 AWS 云。此功能与机器学习(ML, Machine Learning)推理等常见的边缘场景集成,首先在本地处理和分析数据,然后再将数据导出到 AWS 云或本地存储目标。流管理器设计用于具有间歇性连接或连接受限的环境。您可以定义使用的带宽、超时行为以及在核心连接或断开连接时如何处理流数据。

指标和分析:

流管理器支持导出到以下主要 AWS 目标。

  • AWS IoT SiteWise:借助 AWS IoT SiteWise,您可以大规模收集、组织和分析工业设备中的数据。
  • Amazon Kinesis Data Streams:Kinesis Data Streams 通常用于聚合大量数据并将其加载到数据仓库或 MapReduce 集群中。
  • AWS IoT Analytics:借助 AWS IoT Analytics,您可以对数据执行高级分析,以帮助制定业务决策并改进机器学习模型。
  • Amazon S3 对象:您可以使用 Amazon S3 存储和检索大量数据。

报告:

报告因使用的 AWS 服务而异。例如,AWS IoT SiteWise 模式的重点是用于实时监控的 AWS IoT SiteWise Monitor,而 Kinesis Data Firehose 模式的重点是使用 QuickSight 进行报告。

这种模式的优势在于

  • 对于不需要 AWS IoT Core 提供的机群管理或监控功能的系统,或者不需要先在边缘修改数据、然后再将数据路由到其他服务的系统,这会是一个非常经济高效的解决方案。
  • 支持自定义嵌入式离线管理和缓冲优化。您的 IoT 应用程序可以针对每个流定义存储类型、大小和数据保留策略,控制流管理器处理和导出流的方式。

模式 2:AWS IoT SiteWise(+ AWS IoT SiteWise Monitor)

概览:

设备上安装的 AWS IoT Greengrass 软件提供了开源的边缘运行时和云服务,可帮助您构建、部署和管理智能设备软件。使用 AWS IoT SiteWise 组件,您可以集成到 Greengrass 中,将本地设备和仪器数据发送到 AWS 云上的 AWS IoT SiteWise 中的资产属性。通过 AWS IoT SiteWise Edge 软件,您可以轻松地在本地收集、组织、处理和监控设备数据。

指标和分析:

AWS IoT SiteWise 支持设备和流程的计算性能指标。这些指标可以帮助确定各种类型的浪费,例如设备问题、生产差距和质量缺陷。AWS IoT SiteWise 数据可在 AWS IoT Core 中使用,并且可以通过适用于 AWS IoT Core 的规则,供 AWS IoT Analytics 或 Amazon Kinesis 等其他分析服务使用。

报告:

AWS IoT SiteWise Monitor 可以从已使用 AWS IoT SiteWise 摄入和建模的资产,自动发现和可视化其中的数据。它提供了一个完全托管式 Web 应用程序,可以开箱即用,无需编写代码。

AWS IoT SiteWise for Grafana 插件允许 Grafana 控制面板监控 AWS IoT SiteWise 存储在 AWS 云中的数据。

这种模式的优势在于

  • 改善制造运营:监控来自生产线、装配机器人和工厂设备的性能指标,发现改进机会并采取行动。
  • 优化资产维护:使用历史数据和近实时数据进行远程资产监控,预防并更快地检测和解决设备问题。
  • 查看资产数据的实时趋势图表(无代码、完全托管式 Web 应用程序)

模式 3:AWS IoT Core + AWS IoT Analytics + Amazon QuickSight

概览:

AWS IoT Core 可让互联设备轻松安全地与云应用程序及其他设备进行交互。借助 AWS IoT Core,您的应用程序可以随时跟踪所有设备并与之通信,即使它们处于离线状态也是如此。从设备收集的数据可以通过 MQTT 消息发送到 AWS IoT Core,也可使用 IoT 规则将数据提取到 AWS IoT Analytics,这有助于分析数据。

指标和分析:

AWS IoT Analytics 可自动执行分析 IoT 设备中数据所需的步骤。AWS IoT Analytics 可筛选、转换和扩充 IoT 数据,然后将其存储在时间序列数据存储中,以便进行分析。您可以将服务设置为仅从设备收集所需的数据,应用数学变换来处理数据,并在存储数据之前使用设备特定的元数据(例如设备类型和位置)扩充数据。然后,您可以使用内置的 SQL 查询引擎运行查询来分析数据,或者执行更复杂的分析和机器学习推理。

报告:

AWS IoT Analytics 通过与 Jupyter Notebook 集成,实现了高级数据探索功能。AWS IoT Analytics 还通过与 Amazon QuickSight 的集成实现数据可视化。Amazon QuickSight 在以下区域可用。

这种模式的优势在于

  • 易用:AWS IoT Analytics 与 AWS IoT Core 完美集成,可帮助收集、处理、存储、分析 IoT 数据并在其上进行构建。它是完全无服务器和低代码的(可以使用 Lambda 进行扩展)
  • 预测性维护:AWS IoT Analytics 提供预构建的模板,帮助您轻松构建强大的预测性维护模型并将其应用于您的机群
  • 执行全面的分析:AWS IoT Analytics 可以通过 AWS IoT Registry 和其他公用数据源,使用上下文元数据来自动扩充 IoT 设备数据,这样您就可以根据时间、位置、温度、海拔和其他环境条件等因素执行分析
  • 自动检测异常:通过 AWS IoT Analytics,您可以使用 Amazon SageMaker 自动执行异常检测工作流,从而通过 ML 工作流获取见解。您可以在此处阅读有关将容器化 Jupyter Notebooks 与 AWS IoT Analytics 配合使用的更多信息

模式 4:Amazon Timestream

概览:

在此模式下,您可以先将时间序列数据发布到 AWS IoT Core,通过内置的 IoT 规则将数据推送到 Amazon Timestream,然后使用各种控制面板选项对数据进行可视化。

指标和分析:

Amazon Timestream 的 IoT 规则将数据从 MQTT 消息写入 Amazon Timestream 数据库。然后,您可以使用 Amazon QuickSight 等工具查询和可视化数据。有关详细信息,请参阅 Timestream 规则操作

Timestream 提示:如果要优化数据库上的写入操作数,请采用此处列出的批量写入方法。

报告:

在使用 Amazon QuickSight 之外,您还可以使用 Amazon Managed Grafana 作为控制面板和提示工具。有关详细信息,请参阅 Timestream-Grafana 集成

这种模式的优势在于

  • 在您希望对设备数据执行分析函数时,例如平滑、近似和插值(通过 Amazon Timestream 提供的内置支持),此模式非常有用。例如,智能家居设备制造商可以使用 Amazon Timestream 收集来自设备传感器的运动或温度数据,进行插值处理以识别没有运动的时间范围,并提醒使用者采取诸如调低热量等措施来节省能源。

模式 5:AWS IoT Core + Amazon Kinesis + Amazon QuickSight

概览:

在这种模式下,您首先将数据发布到与 Amazon Kinesis 集成的 AWS IoT Core,以便实时收集、处理和分析大量数据。数据可以通过使用 Amazon QuickSight 来可视化。

指标和分析:

借助 Amazon Kinesis Data Analytics,您可以从流数据中获得切实可行的洞察。借助适用于 Apache Flink 的 Amazon Kinesis Data Analytics,客户可以使用 Java、Scala 或 SQL 来处理和分析流数据。该服务使您能够针对流式传输来源编写和运行代码,以执行时间序列分析、向实时控制面板馈送数据和创建实时指标。

报告:

对于报告,您可以将 Amazon QuickSight 用于批量控制面板和计划控制面板。如果使用场景需要更实时的控制面板功能,则可以使用 Amazon OpenSearch 结合 OpenSearch 控制面板的模式

这种模式的优势在于

  • 如果您的应用程序涉及高带宽流数据点,则此模式提供了分析高带宽和实时流数据的能力,以便您获得切实可行的洞察。

模式 6:Amazon OpenSearch Service + OpenSearch Service 控制面板/Amazon Managed Grafana

概览:

在此模式下,您可先将数据发布到 AWS IoT Core,通过内置的 IoT 规则将数据推送到 Amazon OpenSearch Service,然后使用各种控制面板选项对数据进行可视化。

指标和分析:

OpenSearch IoT 规则操作将数据从 MQTT 消息写入 Amazon OpenSearch Service 域。然后,您可以使用 OpenSearch 控制面板等工具在 OpenSearch Service 中查询和可视化数据。有关详细信息,请参阅 OpenSearch 规则操作

报告:

在使用 Amazon QuickSight 控制面板之外,您还可以使用 Amazon Managed Grafana 作为控制面板选项。借助 Amazon Managed Grafana,您可以在 Grafana 工作区控制台中,使用 AWS 数据源配置选项将 Amazon OpenSearch Service 添加为数据源。有关如何完成此设置的更多信息,请参阅 OpenSearch 的 Grafana 插件

这种模式的优势在于

  • 在您希望监控设备运行状况或设备指标时,此模式提供的功能可以搜索底层数据、执行自定义配置和获取实时控制面板应用程序。

模式 7:AWS IoT Core + AWS Lambda + Amazon DynamoDB + Amazon QuickSight/自定义控制面板

概览:

在这种模式下,您可以使用 AWS LambdaAmazon DynamoDBAWS AppSync 以及所选的自定义控制面板,通过 AWS IoT Core 对 IoT 设备直接发送的实时遥测数据进行可视化。

面向 AWS IoT Core 的 IoT 规则将 MQTT 消息发送到 AWS Lambda 函数。Lambda 函数可以格式化消息,然后执行 AWS AppSync GraphQL 变更。变更调用将消息保存在 Amazon DynamoDB 表中,并将消息实时广播到自定义控制面板。自定义控制面板订阅到接收更新消息的 AWS AppSync 订阅。您可以在此处详细了解该模式。

指标和分析:

IoT 数据将存储在 Amazon DynamoDB 表中。为了执行高级分析,您需要将数据导出到分析平台中。要做到这一点,您可以构建将数据传输到 Amazon S3 中的数据管道,然后使用 Amazon Athena 运行高级分析。有关详细信息,请参阅有关执行高级分析和可视化的 Amazon Athena 博文

报告:

您可以使用 AWS Amplify 轻松地创建和启动自定义控制面板及移动应用程序。自定义控制面板可以通过 AWS Amplify Framework(例如 iOS、Android、React Native、Flutter、React 和 Vue)与 AWS AppSync 进行通信。

这种模式的优势在于

  • 对于需要通过自定义实时控制面板更改 IoT 数据后立即将数据交付给终端用户的使用场景,此模式非常合适。用户可以使用自定义和可配置的前端客户端访问数据
  • 这种模式也非常适合帮助使用者实时监控家用电器的移动应用程序(只能按需激活)

注意事项和警告

  • 没有万能的模式 — 本文中提到的所有架构模式都侧重于其最适用的途径;但是,每个使用场景各不相同,因此,大多数模式可以进行调整,通过添加其他相关服务来增加更多功能或克服任何不足之处。如果这些模式均不符合您的要求,请查看凭证提供商模式,以授权直接调用并与 AWS 服务(包括 AWS IoT 服务)集成
  • 成本:每种模式都有其自身的成本模型,可能会因设备数量和应用程序中的数据量存在巨大差异。在选择模式时,请务必考虑这些因素。
  • 区域特定的服务:并非每项服务均在所有区域提供,因此在选择模式之前请先评估服务

结论

在这篇文章中,我们回顾了在 AWS 上构建 IoT 数据报告和可视化解决方案的不同架构模式。我们讨论了每种模式如何满足不同的需求和要求。无论您是需要实时报告、实时分析还是历史趋势报告,请选择符合您业务需求的解决方案。

开启 AWS IoT 服务之旅

本篇作者

Umesh Kalaspurkar

Umesh Kalaspurkar 是在纽约工作的 AWS 解决方案构架师。他拥有 20 多年的数字创新和转型项目设计及交付经验,工作涉及大型企业和初创企业。他积极主动地帮助客户确定和克服挑战。在工作之外,Umesh 是一位称职的父亲,喜欢滑雪和旅行。

Ameer Hakme

Ameer Hakme 是一位在宾夕法尼亚州工作的 AWS 解决方案构架师。他与东北地区的独立软件供应商合作,帮助他们在 AWS 云上设计和构建可扩展的现代化平台。在空余时间,他喜欢骑摩托车和与家人一起休闲。

Ravikant Gupta

Ravi Gupta 是 Amazon Web Services 的一名企业解决方案构架师。他是一位充满激情的技术爱好者,喜欢与客户合作,帮助他们构建创新的解决方案。他关注的核心领域是 IoT 和机器学习。闲暇时间,Ravi 喜欢与家人在一起和摄影。