【最佳实践】使用Logtail采集MQTT协议数据

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: MQTT是一个为IoT设计的消息协议,是一种轻量级的基于Pub/Sub模式的通信协议,支持物联网设备与服务器之间的双向通信。广泛应用于自动驾驶、智能家居、制造业、电信等领域。本文主要介绍如何使用日志服务Logtail作为订阅方来采集基于MQTT协议的消息。并将消息内容采集到日志服务的Logstore。

目标读者

IoT系统开发运维工程师、MQTT协议应用工程师

使用场景

MQTT是一个为IoT设计的消息协议,是一种轻量级的基于Pub/Sub模式的通信协议,支持物联网设备与服务器之间的双向通信。广泛应用于自动驾驶、智能家居、制造业、电信等领域。

本文主要介绍如何使用日志服务Logtail作为订阅方来采集基于MQTT协议的消息。并将消息内容采集到日志服务的Logstore。

相关概念

Logtail

Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC、其他云厂商等服务器上的日志。本文介绍Logtail的功能、优势、使用限制及配置流程等信息。

MQTT

全称:Message Queuing Telemetry Transport,是一种轻量级高效的传输协议,主要应用于物联网设备的数据传输等。具有双向通信、高度Scale、支持Qos、支持不稳定网络等特点。

传输方式主要基于Pub/Sub架构。在Pub和Sub中间需要有支持MQTT的Broker

方案架构

本方案是Logtail作为MQTT协议的订阅方,连接到MQTT Broker进行消息的订阅,并将订阅到的消息采集到日志服务的Logstore中,从而进行后续的消息查询分析、可视化等。

方案优势

将Logtail作为MQTT的订阅方,只需要进行简单的配置,即可消费设备发来的消息,数据采集到日志服务Logstore后,可以借助日志服务一站式查询分析、数据加工、可视化、告警等。相对于自研系统或者其他开源系统具有便捷、高性能、一站式的优势。

方案实施

前提条件

  • 已部署好MQTT Broker
  • 有一台可以连通MQTT Broker的机器上已安装Logtail
  • 开通阿里云日志服务

操作步骤

步骤一:创建Project、Logstore

  1. 登录日志服务控制台,在Project列表页面,选择已有的Project或者创建新的Project。
  2. 日志库标签页,选择已有Logstore或者单击+图标创建新的Logstore。

步骤二:创建/选择机器组

  1. 在数据接入-> Logtail配置,点击+,接入数据

  1. 快速数据接入页面,选择自定义数据插件。
  2. 创建/选择机器组。
  • 如果您已有可用的机器组,请单击使用现有机器组
  • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。在ECS机器页签中,通过手动选择实例方式选择目标ECS实例,单击立即执行安装完成后,单击确认安装完毕
  • 创建机器组页面,输入名称,单击下一步。日志服务支持创建IP地址机器组和用户自定义标识机器组

步骤三:创建MQTT采集配置

本文假定已有MQTT Broker配置的服务器地址、用户名、密码,如果测试需要可以在阿里云微消息队列MQTT版进行创建Broker,具体可以参考链接

配置如下:其中参数根据Broker环境进行配置

{

   "inputs": [

       {

           "detail": {

               "Topics": [

                   "topic name 1",

                   "topic name 2",

               ],

               "Qos": 1,

               "Server": "tcp://mqtt-cn-xxxxxx-internal-vpc.mqtt.aliyuncs.com:1883",

               "Username": "fill in username",

               "ClientID": "fill in clientId",

               "Password": "fill in password"

           },

           "type": "service_mqtt"

       }

   ]

}

点击下一步,开始查询日志。

步骤四:查询采集后的日志

  1. 登录日志服务控制台
  2. 选择目标Project和Logstore,点开logstore菜单,选择放大镜按钮,查询分析,即可查询采集到的日志。

如果消息格式为JSON格式,可以将Logstore索引中的content设置为JSON类型。

参考

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
5月前
|
数据采集 传感器 监控
Modbus 与 MQTT 协议兼容:MyEMS 的泛在能源数据采集技术实现
MyEMS深度融合Modbus与MQTT协议,破解能源数据采集中协议碎片化、网络异构、数据孤岛等难题。通过Modbus接入95%以上工业设备,实现现场数据精准“拉取”;依托MQTT构建高效物联网传输通道,支持多源数据主动“推送”与云端集成。边缘侧采集规整,中心侧汇聚分析,形成统一、可靠、低延迟的数据流。该架构兼具高兼容性、强扩展性与低运维成本,广泛应用于工业园区、商业楼宇及集团型企业,支撑实时监控、AI分析与跨系统融合,打造泛在互联的能源数据底座,助力企业实现全面智慧能源管理。
417 6
|
数据可视化 关系型数据库 MySQL
嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议数据可视化
通过本文的介绍,我们详细讲解了如何结合嵌入式C++、STM32、MySQL、GPS、InfluxDB和MQTT协议,实现数据的采集、传输、存储和可视化。这种架构在物联网项目中非常常见,可以有效地处理和展示实时数据。希望本文能帮助您更好地理解和应用这些技术,构建高效、可靠的数据处理和可视化系统。
722 82
|
8月前
|
监控 安全 Java
Java 开发中基于 Spring Boot 3.2 框架集成 MQTT 5.0 协议实现消息推送与订阅功能的技术方案解析
本文介绍基于Spring Boot 3.2集成MQTT 5.0的消息推送与订阅技术方案,涵盖核心技术栈选型(Spring Boot、Eclipse Paho、HiveMQ)、项目搭建与配置、消息发布与订阅服务实现,以及在智能家居控制系统中的应用实例。同时,详细探讨了安全增强(TLS/SSL)、性能优化(异步处理与背压控制)、测试监控及生产环境部署方案,为构建高可用、高性能的消息通信系统提供全面指导。附资源下载链接:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
1697 0
|
消息中间件 Java 测试技术
消息队列 MQ使用问题之数据流出规则是否支持平台的云RabbitMQ
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
EMQ
|
传感器 人工智能 安全
EMQX 与 MQTT: AI 大模型时代的分布式数据中枢
在以数据为核心的 AI 时代,基于 MQTT 协议的消息服务器 EMQX 能帮助企业更好的利用人工智能和机器学习模型,是智能化系统中核心的数据基础软件。
EMQ
826 267
|
数据采集 传感器 监控
多协议网关BL110钡铼6路RS485转MQTT协议云网关
BL110钡铼6路RS485转MQTT协议云网关是一款高性能、易配置的工业级设备,适用于各种需要远程监控和数据采集的物联网应用场景。通过将传统RS485设备的数据转换为MQTT协议并上传至云平台,实现了设备的远程管理和智能控制,极大地提升了系统的管理效率和响应速度。
511 2
|
消息中间件 测试技术
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
299 2
|
网络协议 物联网 网络性能优化
物联网协议比较 MQTT CoAP RESTful/HTTP XMPP
【10月更文挑战第18天】本文介绍了物联网领域中四种主要的通信协议:MQTT、CoAP、RESTful/HTTP和XMPP,分别从其特点、应用场景及优缺点进行了详细对比,并提供了简单的示例代码。适合开发者根据具体需求选择合适的协议。
613 5
|
消息中间件 数据采集 数据库
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
250 1
|
消息中间件 监控 物联网
MQTT协议对接及RabbitMQ的使用记录
通过合理对接MQTT协议并利用RabbitMQ的强大功能,可以构建一个高效、可靠的消息通信系统。无论是物联网设备间的通信还是微服务架构下的服务间消息传递,MQTT和RabbitMQ的组合都提供了一个强有力的解决方案。在实际应用中,应根据具体需求和环境进行适当的配置和优化,以发挥出这两个技术的最大效能。
1191 0