将物联网设备监控作为产品可靠性改进工具

原文链接:IoT device monitoring as a product reliability improvement tool 由Jean-Luc Aufranc撰写。
本文共计5747字,预计阅读11分

备注:这是 Toradex 软件产品经理 Renato Kiss 的客座文章,以温度监控为例,解释了 IoT 设备监控如何与 Fluent Bit 等开源软件工具一起使用以提高产品可靠性。

人们的生活和工作已经离不开联网的设备。它们存在于家庭、办公室、工业中……基本上,在每一个企业中,联网设备都发挥着至关重要的作用。

2030物联网市场预计年大约有 241 亿台设备和收入超过 1.5 万亿美元的收益,物联网将基于消费者和商业应用而持续增长。而硬件将占具该价值的三分之一左右,其中大部分分布在服务中,包括系统的连接性。

作为这一增长的一部分,物联网业务将增加更多服务,一些专家估计,到 2030 年,包括物联网产品和服务在内的经济潜力可释放至少 5.5 万亿美元至 12.6 万亿美元的价值。这种经济潜力包括物联网产品和服务的客户和消费者所获得的价值。物联网可以创造的总价值中约有 65% 将来自于以工厂和生产环境为主导的 B2B 应用程序。当然,B2C 也在快速增长,这得益于家庭内部物联网解决方案的广泛采用。

设备监控作为一项服务,将是公司提供的服务的一小部分。然而,这对于客户通过使用物联网设备创造的价值却至关重要。设备监控可以帮助客户监控和改进流程、获取安全警告、了解系统的资源使用情况、检查环境数据,以及帮助客户从某一个点上部署的几乎无限数量的应用程序中获取的数据中提取最大价值。

什么是设备监控?

简单来说,设备监控就是获取和检查与电子设备的健康、性能或资源相关的数据。在物联网中,设备监控术语最好称为远程设备监控,但为了简化起见,在物联网市场中,通常会省略“远程”一词,在本文中,也将会省略“远程”一词。

严格意义上的设备监控并不是什么新鲜事物。本地设备监控是全球每条生产线的一部分。数十年来,已在工厂机器中收集数据以改进流程和机器使用。维护人员可以测量温度、风扇速度、噪音和任何相关数据,以与之前或预定义的值范围进行比较。那么,如果它不是一项新业务,为什么要围绕物联网设备监控进行炒作呢?主要原因是其可以远程进行,更重要的是,不需要任何外部设备或人员在本地监控设备或产品。设备可以自行完成这些,并通过互联网将所有相关数据发送到数据聚合中心,这些数据可以在其中进行处理、显示和/或存储。

在部署到现场时,设备可以分组。将类似的设备分组,可以极大地帮助设备管理和监控。设备监控本质上与设备群监控相关。一种是指特定于设备的数据和变量,另一种涉及分组设备的总体数据和统计数据。

使用设备监控的一些优点可以从这个上下文中获得:你不需要每个站点上的人员或设备来检查所需的参数。但这只是最基本的优点!

设备监控的优势

如今的物联网连接的设备在工业加工生产过程中至关重要。它们非常智能,有时会控制部分生产过程甚至整个过程。故障不仅会危及设备,还会危及整个业务链。监控物联网设备不仅很炫酷,而且是至关重要。设备监控允许在客户发现之前检测可能的问题。

设备监控已经可以在产品开发阶段增加很多价值。它可以在产品仍在开发和试运行时提供有价值的反馈。

项目完成后,设备监控到位,数百到万台设备可以部署到现场,只需单击鼠标,即可远程检查所有关键资源。日志、指标、警告和报告可以从地理位置较远的站点获取并相互比较,以提高产品质量、纠正软件错误、在崩溃发生之前采取行动,或者只是为下一个产品设计改进数据库。

如果没有易于使用且可靠的设备监控系统,就不可能从部署在现场甚至工厂或业务单位内部的所有设备访问所有必要的数据。

为产品增加价值

在很多情况下,设备监控可能是可靠和不可靠系统之间的区别。

从开发阶段开始,原型设备可以部署到真实条件下并始终进行监控。每个日志问题都可以与物理或环境因素相关联。例如,某些内核严重错误可能与 CPU 使用率、已用内存甚至温度或电压直接相关。发送正确的指标可以让用户全面了解设备的过去。

可以尽早选择处于高压力条件下的设备进行预防性维护,或者更频繁、更密切地进行监控。

在新软件更新期间,重要的是在部署后监控资源,以检查主要设备数量的意外变化,以防止现场出现未经测试或竞态情况。发现问题可以与软件更新活动一起完成 – 当软件更新可以按顺序批量完成时。例如,从 10% 的设备量开始,并密切监控更新的设备。使用真实的指标和日志,可以更精确地处理应用程序的所有可能的崩溃、故障或不当行为,并且可以高度自信地发布补丁,以确保“真正的问题”已得到解决。无需根据模拟的实验室条件进行猜测。

在产品的生命周期中,可以先发制人或管理某些条件,以使产品能够持续使用并延长可用时间。这对于与 24/7 关键服务相关的设备尤其重要。维护计划应该仔细协调,并且可以避免停机。对于此类设备,即使发生故障,设备监控也可以减少解决问题所需的时间。有了正确的数据和解决方案,就很容易解释失败的原因,并准备更多的方案来缓解这种失败。在所有情况下,设备监控都会降低总体成本并减轻压力。

日志和指标的一些可能用法

  • 检测 RAM、Flash、CPU 使用率等计算资源的异常变化
  • 监控应用程序或操作系统的资源使用或可用性变化,例如缓存内存、应用程序保留内存、网络带宽
  • 检测某些功能或任务的意外延迟或响应时间增加
  • 测量环境和传感器,如电压、功耗、温度
  • 检测内存泄漏,即使需要很长时间才能发现内存使用在增加
  • 检查服务或应用程序容器是否未运行
  • 测量电池循环和使用充放电率

监测数据允许采取行动和计划

  • 在影响系统之前修复系统内存泄漏
  • 了解和解决突然重启或产品挂起的情况
  • 更换电池或向客户发送一些广告以购买新电池
  • 在发生灾难性故障之前减少召回或计划召回
  • 检测设备是否使用了太多带宽,或者你的互联网提供商是否没有提供你注册的数据计划
  • 在设备故障之前检测问题并采取预防措施以避免服务案例
  • 动态计算预期寿命
  • 检测特定设备的行为是否与相同类型的其他设备不同
  • 当产品出现故障时获取统计信息。使用真实数据创建产品生命历史。

物联网设备监控如何工作?

为了将数据从嵌入式设备发送到互联网,需要使用运行带有监控代理的操作系统的设备、用于接收和显示数据的 Web 平台以及它们之间的互联网连接。

嵌入式系统设备监控中产生的数据分为三种类型:

  • 指标:是一个数值,我们可以随着时间的推移定期测量和报告,例如内存使用情况、CPU 温度或来自用户应用程序的自定义数据
  • 日志:只是系统产品各个部分的日志输出,包括 docker 容器日志、内核日志和来自 journald 的应用程序日志。
  • 警报:是设备想要实时引发的特殊事件或错误,因为它们需要关注或补救,例如当关键应用程序无法启动或设备存储空间不足时

在本文中,将使用基于 i.MX 的Toradex 模块计算机(也称为 System on Module)来运行 TorizonCore。

Toradex Apalis iMX8模块
Toradex Apalis iMX8模块

TorizonCore是一个易于使用的开源的工业嵌入式 Linux 发行版。它配备了具有汽车级安全性的远程空中 (OTA) 更新客户端和设备监控代理。它开箱即用,TorizonCore 将报告一些基本的系统信息,但你也可以创建和发送自己的自定义指标来构建仪表板,以显示对你最重要的任何数据。

TorizonCore 使用一个监控代理,它可以收集所有三种类型的数据:指标、日志和警报,并将其发送到Torizon 平台或独立地发送到其他外部服务,如 AWS、Microsoft Azure 和 GCP(查看其在线文档学习如何使用)。这里选择的监控代理是 Fluent Bit。

Fluent Bit是一个开源日志处理器和转发器,它允许设备从不同的硬件和软件来源收集任何数据,如指标和日志,用过滤器处理它们,并将它们发送到多个目的地。Fluent Bit 专注于嵌入式设备,它是用C 语言实现的轻量级Fluentd(一个实时开源的数据收集器)。

Fluent Bit 可用于日志的获取、处理和转发。数据在管道中处理,使用 3 种插件类型:

  • 输入:用于收集和解析来自各种来源的信息的插件。
  • 过滤器:允许在数据传递到目的地之前修改数据的插件。
  • 输出:允许定义数据目的地的插件。

在 TorizonCore 中,Fluent Bit 数据通过设备数据代理发送。设备数据代理专注于设备安全性和数据机密性,是 Aktualizr-Torizon 更新客户端中提供的一项功能,用于将小块设备信息发送到 Torizon 平台。

代理打开一个本地 TCP 端口并在其上等待 JSON 格式的数据。代理在单独的线程上运行,并且只接受来自 localhost 的连接。接收到的数据将通过 libaktualizr 的SendDeviceData() API 发送到 Torizon 平台。

更重要的是,从 5.4.0 版开始,TorizonCore 中的监控功能就支持开箱即用了。

TorizonCore Block Diagram Platform Services

Torizon是一个安全平台,可为设备提供远程服务。该平台提供了一组功能来维护和管理物联网设备群。从 OTA 和离线更新到设备群和设备监控,Torizon 平台是一个不断改进的系统,并提供 Web 界面来支持大多数客户的需求。

配置和监控设备

第一步是获得功能强大的 SoM 和载板。在本例中,我们使用了 Apalis iMX6 SoM 以及 Ixora 载板。

接下来,我们将使用预装的 Toradex Easy Installer,并刷入 TorizonCore 的最新镜像。最简单的方法是遵循快速入门指南

安装 TorizonCore 后,你可以使用串口终端或 ssh 登录开发板,开发和配置 Fluent Bit。它在 TorizonCore 5.4.0 或更高版本中集成并启用。


默认情况下,Fluent Bit 配置为监控 CPU、内存、温度和 docker 守护程序,并将信息发送到 Torizon 平台。

以下配置文件 (/etc/fluent-bit/fluent-bit.conf) 用于 Fluent Bit 每 5 分钟(300 秒)通过代理向 Torizon 平台发送 CPU、内存、温度和 Docker 守护程序状态。你可以通过重新定义 interval_sec 参数来更改发包间隔。


使用 Fluent Bit,你可以发送自定义指标。它是使用不同的方法完成的。我们将新的自定义字段添加到 /etc/fluent-bit/fluent-bit.conf 的输入部分作为示例:


并使用接受原始 JSON 作为输入的输入插件(例如HTTP 输入插件),并将其嵌套在带有Nest 过滤器插件的自定义键下,并将以下内容添加到 /etc/fluent-bit/fluent-bit.conf


你必须在 Torizon 平台中配置你的设备。更多信息你可以在开发者网页的配置新设备中找到。

这样设备就可以在产测或装配的时候进行预配置。一旦设备到达最终位置,就可以更容易连接它们,而不需要让某人手动进行配置。这对于部署最终产品或将其交付给最终客户非常重要。

利用Torizon平台进行物联网设备监控
利用Torizon平台进行物联网设备监控
利用Torizon平台进行物联网设备的定制指标监控
利用Torizon平台进行物联网设备的定制指标监控

温度监测示例

为了说明一个实际用途,我们创建了一个模拟环境来查看设备的行为方式以及设备测量如何帮助追踪和检测潜在问题。

温度对于任何电子系统都至关重要。它会对系统产生负面影响,并导致一些明显、容易察觉和可检测的问题,例如系统重启或热关机。但是,温度过高可能会导致许多其他问题,包括慢性和急性的。

  • 缩短产品寿命
  • 减少 MTBF
  • 增加运动部件的噪音
  • 降低某些塑料或其他部件的硬度
  • 增加或减少机械间隙(弯曲或产生空隙,损害整体外观和质量)
  • 报废

通过简单的 CPU 测量,我们可以发现一些问题并及时采取行动,以防止未来因温度过高而导致的弊端。默认情况下,Torizon 平台中存在此措施,并且没有额外费用,因为它使用 i.MX 内部温度传感器。

在下图中,我们展示了在不同环境中测量 CPU 温度的设备监控数据。一块板在非气候环境下运行 Torizon。另一块板在同一个房间里,但在一个围墙里。室外温度范围从大约 20°C 到接近 31°C。

板 1(左)和板 2(右)的温度
板 1(左)和板 2(右)的温度

正如你在图表中看到的那样,这个简单的示例反映了一天中的温度波动。在受控温度的房间中,变化可以显示你的散热系统是否不稳定或尺寸不合适。在非气候室中,它将显示开发板边界的温度变化。

板 1 模拟正常条件下的产品使用情况,几乎没有 CPU 负载。所有通风孔均已打开,并且电路板按设计运行。板 2 与第一块板处于相同的温度条件下,但由于所有通风孔均已关闭,因此该板显示的 CPU 温度比预期高出约 10°C。这两个板可以代表设备群中的任何设备。板 2 可能是安装错误或位置错误的产品。它还可以模拟通风孔被书籍或家具等外部物体堵塞的产品。板 2 还可以描绘处于灰尘环境中的产品,孔洞被灰尘覆盖——在这种情况下,温度的升高将是恒定的,并且会达到相同的最大值。

如果板 2 需要使用完整的 CPU 性能,则会发生巨大的温度升高。根据产品的质量,它会影响产品的使用寿命。工作在更接近半导体结温(半导体的最高工作温度)的产品将比在更加温和温度范围内运行的其他产品使用寿命短。

通风孔阻塞时CPU全功率运行的温度变化
通风孔阻塞时CPU全功率运行的温度变化

在此示例中,如上面的指标图所示,CPU 开始时负载很小,然后变为全功率工作。温度按预期升高,但没有打开通风孔进行热交换,温度继续缓慢升高。大约在 21:20 时,外壳被拆除,温度开始下降。室温约为23°C。

i.MX 规范表明它可以在某些认证等级中支持此温度范围。请记住,电路板中的所有组件都会受到影响,因此使用合格的电路板很重要。

在实际产品中,经过更复杂的分析,操作系统会采取行动尝试降低功耗,但并非没有对系统造成影响。例如,DVFS 可以控制电压和频率,降低它们并降低功率和热量。但是,CPU 会变慢,任务需要更长的时间才能结束,所以在应用程序中应该考虑到这种影响。

在开发中的产品中,这些指标在某些情况下可能会使得开发人员向微处理器添加散热器、添加更多外壳孔、机箱风扇,甚至升级所用电路板的质量。

对于普通产品,可以带动预防性维护,清理灰尘,将阻塞物或产品移到更好的地方。

NXP产品生命周期估算
NXP产品生命周期估算

当设备运行时使用正确的合格部件、电压、频率和工作温度时,我们可以使用以上图表来统计设备的通电小时数。根据设备使用的等级,设备预期寿命可能会受到影响。在这种情况下,设备监控不仅可以帮助避免设备寿命缩短,还可以让我们了解到真实原因。

结论

随着物联网和联网的嵌入式设备的日益复杂,我们必须求助于新的工具和策略,以最大限度地提高我们的产品质量,并为市场提供有价值的产品。

无论是在产品的开发阶段还是在产品的生命周期中,设备监控都与这一趋势保持一致,设备监控是确保访问最佳和最准确数据以及识别和面对项目日常问题的关键服务之一。

如果使用得当,设备监控可以提高可靠性并大大降低维护成本和反应时间。它有助于产品在更长的时间内提供全部的功能。

最后,在产品中正确使用设备监控使我们能够始终为我们的项目和产品获得所需的资产:持续改进、使开发过程更具创新性、更好的上市时间、极大的客户满意度以及我们从 Covid流行病中所学到的那样,减少不必要的旅行。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论