远程采集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,搭建一个在线教育视频课程分享网站。
相关文章
|
19天前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
|
21天前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
|
24天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
30 5
|
2月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
61 1
|
2月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
73 3
|
2月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
56 1
|
3月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
56 2
|
2月前
|
人工智能 安全 物联网

热门文章

最新文章