亚马逊AWS官方博客
IoT 数据摄入和可视化的 7 种模式 – 如何确定最适合您使用场景的模式
无论您是刚刚开始物联网(IoT)之旅,还是已经拥有数百万台互联的 IoT 设备,您可能都在寻求方法以最大限度地利用从 IoT 数据中提取的价值。IoT 设备数据所报告的遥测数据、元数据、状态以及命令和响应中包含了丰富的信息。但是,要想获得尽可能提升运营效率和交付业务成果所需的洞察,拥有正确的报告和可视化解决方案是关键所在。
架构模式
下图显示整合了所有架构模式的视图,每种模式的详细信息将在后面的章节中介绍。
模式 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 Lambda、Amazon DynamoDB、AWS 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 数据报告和可视化解决方案的不同架构模式。我们讨论了每种模式如何满足不同的需求和要求。无论您是需要实时报告、实时分析还是历史趋势报告,请选择符合您业务需求的解决方案。