远程采集IoT设备运行日志的最佳实践

简介: 借助IoT技术的力量,在办公室动动手指,轻松获取远端IoT设备运行日志

1.背景

当物联网设备分布在全球各地运行时,我们为了排查特定环境下的问题,常常有想要获取设备端运行日志的需求。我们派一位工作人员出差去设备现场,成本往往很高。此时借助IoT技术的力量,在云端动动手指,轻松获取远端设备日志是最理想的方案。

2.架构方案

image.png
云端获取设备端运行日志的完整交互过程:

  1. 后台业务服务器调用Pub 接口,向指定设备下发采集运行日志的指令

    1. Topic为 xxx/xxx/user/report/log
    2. Payload 包含访问OSS的STS Token,bucket,目标路径key
  2. IoT平台Publish消息给指定设备
  3. 设备接收指令后,把运行日志上传到OSS目标路径
  4. 设备Publish上报日志采集执行结果

    1. Topic为 xxx/xxx/user/log/information
    2. Payload 包含文件存放bucket,路径key
  5. 业务服务器收到设备返回的数据
  6. 业务服务器到OSS获取设备运行日志文件

3.开发实践

为了实现上述理想,我们需要前期投入在服务端和设备端的研发工作。

3.1 服务端

  • 在服务端部署生成访问OSS的临时STS Token的业务逻辑
  • 编写下行指令的Pub逻辑
  • 配置规则引擎,接收设备响应结果的业务逻辑
  • 访问OSS资源文件的业务逻辑

3.2 设备端

  • 设备输出运行日志到本地文件
  • 订阅日志采集指令的Topic
  • 上传本地文件到指定OSS路径的逻辑
  • 上报日志采集执行结果的逻辑

4.总结

至此,我们可以悠闲的坐在办公室,享受咖啡和空调了。

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
5月前
|
分布式计算 监控 Spark
Spark 任务运行时日志分析
Spark 任务运行时日志分析
53 0
|
5月前
|
监控 流计算
Flink 运行时日志分析
Flink 运行时日志分析
99 0
|
5月前
|
传感器 物联网 网络架构
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
42 2
|
3月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
11天前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks中设置了一个任务节点的调度时间,并将其发布到生产环境,但到了指定时间(例如17:30)却没有产生运行实例和相关日志如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
29 0
|
10天前
|
SQL DataWorks 安全
DataWorks产品使用合集之DataWorks资源里python运行时候,查看中途打印日志如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 0
|
15天前
|
运维 监控 Java
实战总结|系统日志规范及最佳实践
打印日志是一门艺术,日志信息是开发人员排查线上问题最主要的手段之一,但规范打日志被开发同学经常所忽视。日志就像保险,平时正常的时候用不上,但是一旦出问题就都想看有没有保险可以用。一条良好的日志,是我们向外部证明的材料。
|
18天前
|
新零售 JSON 物联网
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)
|
22天前
|
JavaScript 前端开发 开发者
使用`console.log()`查看运行结果非常简单
【4月更文挑战第18天】使用`console.log()`查看运行结果非常简单
14 1
|
2月前
|
SQL 资源调度 Oracle
Flink CDC产品常见问题之sql运行中查看日志任务失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。