当前位置: 首页 > news >正文

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似

利用 TDengine Enterprise 和 TDengine Cloud 的数据接入功能,我们现在能够将 MQTT、InfluxDB 中的数据通过规则无缝转换至 TDengine 中,在降低成本的同时,也为用户的数据转换工作提供了极大的便捷性。由于该功能在实现及使用上与 Logstash 类似,本文将结合 Logstash 为大家进行解读。

偏向于日志收集整理的 Logstash

Logstash 是一个开源的实时数据收集处理引擎,通常作为 ETL 工具使用,它可以根据转换规则将数据从多种数据源中采集并转换数据,然后发送到指定的存储中。其通常与 ElasticSearch(ES)、Kibana、Beats 共同使用,形成免费开源工具组合 Elastic Stack(又称 ELK Stack),适用于数据的采集、扩充、存储、分析和可视化等工作。

Logstash 可以由 Beats、Kafka、DataSource 等数据源将数据转换写入 ES、MySQL 等数据库中进行存储:

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似 - TDengine Database 时序数据库

数据流转总体分为三部分:Input、Filter、Output,这三部分的定义覆盖了数据整个的生命周期。Input 和 Output 支持编解码器,使用编解码器,可以在数据进入或退出管道时进行编码或解码,而不必使用单独的过滤器。原始数据在 Input 中被转换为 Event,在 Output 中 Event 被转换为目标式数据,在配置文件中可以对 Event 中的属性进行增删改查。

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似 - TDengine Database 时序数据库

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似 - TDengine Database 时序数据库

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似 - TDengine Database 时序数据库

其中,Filter 是 Logstash 功能强大的主要原因,它可以对 Logstash Event 进行丰富的处理,比如解析数据、删除字段、类型转换等等,常见的有如以下几个:

  • date 日期解析
  • grok 正则匹配解析
    • 正则表达式:
      • Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
      • RegExr: Learn, Build, & Test RegEx
    • Grok
      • kibana – grokdebugger
      • https://github.com/elastic/logstash/tree/v1.4.2/patterns
      • GitHub - logstash-plugins/logstash-patterns-core
      • Grok Debugger | Autocomplete and Live Match Highlghting
  • dissect 分割符解析
  • mutate 可以对事件中的数据进行修改,包括 rename、update、replace、convert、split、gsub、uppercase、lowercase、strip、remove_field、join、merge 等功能。
  • json 按照 json 解析字段内容到指定字段中
  • geoip 增加地理位置数据
  • ruby 利用 ruby 代码来动态修改 Logstash Event
filter {grok => {match => {"message" => "%{SERVICE:service}"}pattern_definitions => {"SERVICE" => "[a-z0-9]{10,11}"}}
}

Logstash 在实时数据处理方面有一定的能力,也有一定的流行性,但并不是所有场景下都适用 Logstash。针对多种数据源的收集,TDengine 打造了自己的数据接入功能。

TDengine:针对多种数据源的收集

如果你使用 Elasticsearch 和 Kibana 来构建日志管理、数据分析和可视化解决方案,Logstash 可能是一个不错的选择,因为它与 Elasticsearch 的集成非常紧密。但 Logstash 并不适用于处理大规模时序数据,它在处理大量数据时会消耗大量的系统资源,包括内存和 CPU,在数据量很大的情况下甚至会导致出现性能问题,它的可扩展性在处理大规模数据时也可能受到限制。而且如果你最初接触 Logstash,那你会需要付出较高的学习成本,因为 Logstash 在处理数据的各个阶段(输入、过滤、输出)需要正确配置,错误的配置可能会导致数据丢失或格式错误。

这也是 TDengine 打造自己的数据接入功能的一些主要原因,如果你正在使用 TDengine,那这一功能一定能帮助你更便捷、更低成本地进行数据转换工作。

目前利用 TDengine 数据接入功能,你可以轻松从 MQTT、InfluxDB 等服务器获取数据,并高效地写入 TDengine 数据库中,实现数据的顺畅集成和分析。这一功能负责整个过程的自动化数据接入,最大限度地减少了手动操作的工作量。同时它还具备以下特点:

  • 支持 JSON 格式:充分利用 JSON 的灵活性,使用户能够以 JSON 格式进行数据摄取和存储。机构可以有效地构建和管理数据,从复杂数据结构中挖掘有价值的见解。
  • 支持 JSON path 提取字段:TDengine 支持 JSON path 提取,在处理 JSON 数据时更加轻松。通过精确选择和捕获所需的数据元素,用户可以专注于数据集的核心内容,最大化分析效率。
  • 简单配置:提供了易于使用的配置文件,您可以在其中指定 TDengine 的超级表、子表、列和标签,轻松定制数据接入流程以满足特定需求。

另外 TDengine 的数据接入后还可以进行数据清洗和转换,用户可以根据业务需要设计相应的数据清洗和转换规则,实现完整的数据 ETL 流程。借助上述创新功能,实时数据可以实现与高性能的 TDengine 数据库的无缝结合,实时分析、预防性维护和数据驱动决策也拥有了无限可能。

配置方法很简单,你只需要登录到 TDengine 企业版或 TDengine Cloud 的 Web 管理界面,选择 Data in 并添加 MQTT 作为数据源,简单配置一下 InfluxDB/MQTT 数据对应到 TDengine 库、超级表、子表的解析规则即可。具体配置方案可见《TDengine 推出重磅功能,让 MQTT 无缝数据接入更加简单》《TDengine 数据接入功能支持 InfluxDB 啦!》

TDengine 3.0 企业版和 TDengine Cloud 凭借简洁易用的命令行操作,为用户提供了高效、可靠的数据接入方法。无论你是想要从 InfluxDB/MQTT 迁移数据,还是想将多个数据源的数据集中到 TDengine 中,TDengine 3.0 企业版和 TDengine Cloud 都能够满足你的需求。

如果你对这一数据接入功能感兴趣或正面临数据接入难题,可以添加小T vx:tdengine,和 TDengine 的资深研发直接进行沟通。


了解更多 TDengine Database的具体细节,可在GitHub上查看相关源代码。

相关文章:

从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似

利用 TDengine Enterprise 和 TDengine Cloud 的数据接入功能,我们现在能够将 MQTT、InfluxDB 中的数据通过规则无缝转换至 TDengine 中,在降低成本的同时,也为用户的数据转换工作提供了极大的便捷性。由于该功能在实现及使用上与 Logstash 类…...

友元c++

#include <iostream> #include <string> using namespace std; class Lovers//爱人关系,基类 { public: Lovers(string theName);// void kiss(Lovers *lover); void ask(Lovers *lover, string something); protected: string name; friend cla…...

java: 错误: 不支持发行版本 6

文章目录 背景一、问题二、问题排查三、最终解决方案 背景 我本地安装的jdk版本是jdk 17&#xff0c;在项目父工程中配置的版本是8版本&#xff0c;每次我启动项目时都会报错。 一、问题 二、问题排查 首先我排查了父工程pom.xml中的配置&#xff0c;配置的是8版本&#xff0…...

qml刷新C++中的QImage图像

第一步&#xff1a;重写QQuickImageProvider类 #include <QQuickImageProvider>class CQuickImagePainter : public QQuickImageProvider { public:CQuickImagePainter();QImage requestImage(const QString&id, QSize *, const QSize &);QPixmap requestPixm…...

IJCAI 2024 International Joint Conference on Artificial Intelligence

目录 1、 重要1.1 官网&#xff1a;1.2 提交网址&#xff1a;1.3 模板 &#xff08;latex & word&#xff09; 2、 Call for Papers2.1 Important Dates2.2 Details 3、 注意事项4 New in 20245 Simplified procedure for resubmission information6、 Submission Process …...

使用Python Flask搭建Web问答应用程序并发布到公网远程访问

使用Python Flask搭建web问答应用程序框架&#xff0c;并发布到公网上访问 文章目录 使用Python Flask搭建web问答应用程序框架&#xff0c;并发布到公网上访问前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程…...

android 13.0 app应用安装白名单

1.概述 在13.0系统rom定制化开发中,客户需求要实现应用安装白名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个 控制app安装的功能,这需要从app安装流程入手就可以实现功能 PMS就是负责管理app安装的,功能就添加在这里就可以了,接下来看具体实现这个功能…...

SSL证书HTTPS保护服务

SSL证书属于数字证书的其中一种&#xff0c;广泛用于https协议&#xff0c;从而可以让数据传输在加密前提下完成&#xff0c;确保HTTPS网络安全是申请SSL证书必要工作。 SSL证书是主要用于https是一种加密协议&#xff0c;仔细观察网站地址会发现目前主流的网址前面都会有http…...

快速认识什么是:Docker

Docker&#xff0c;一种可以将软件打包到容器中并在任何环境中可靠运行的工具。但什么是容器以及为什么需要容器呢&#xff1f;今天就来一起学快速入门一下Docker吧&#xff01;希望本文对您有所帮助。 假设您使用 Cobol 构建了一个在某种奇怪风格的 Linux 上运行的应用程序。您…...

c语言青蛙跳台阶

"青蛙跳台阶"问题是一个经典的动态规划问题&#xff0c;经常被用来解释动态规划的基本概念。问题的描述是&#xff1a;假设一只青蛙可以跳上1级或2级台阶&#xff0c;如果有n级台阶&#xff0c;那么青蛙有多少种跳法。 在C语言中&#xff0c;我们可以使用动态规划来…...

IntelliJ IDEA 2023.3 最新版如何试用?IntelliJ IDEA 2023.3 最新版试用方法

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

Java参数校验详解:使用@Valid注解和自定义注解进行参数验证

很多时候我们需要使用不少if、else等等逻辑判断及验证&#xff0c;这样在进行一些重复的参数校验会很麻烦&#xff0c;且以后要维护也会吃力。 而这样就可以使用javax.validation。验证&#xff08;Validation&#xff09;常见的验证操作包括验证数据的类型、格式、长度、范围、…...

多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现BWO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现BWO-CNN-B…...

C++ 中的引用

文章目录 C 引用的应用1. 修改函数中传递的参数2. 避免复制大型结构3. for 循环中修改所有对象4. for 循环中避免复制对象 References vs Pointers引用的限制使用引用的优点练习Quesition 1Question 2Question 3Question 4Question 5Question 6 如果一个变量被声明为引用&#…...

MQ-Det: Multi-modal Queried Object Detection in the Wild

首个支持视觉和文本查询的开放集目标检测方法 NeurIPS2023 文章&#xff1a;https://arxiv.org/abs/2305.18980 代码&#xff1a;https://github.com/YifanXu74/MQ-Det 主框图 摘要 这篇文章提出了MQ-Det&#xff0c;一种高效的架构和预训练策略&#xff0c;它利用文本描述的…...

HarmonyOS应用开发初体验

9月25日华为秋季全场景新品发布会上&#xff0c;余承东宣布&#xff0c;全面启动鸿蒙原生应用&#xff0c;HarmonyOS NEXT开发者预览版将在2024年第一季度面向开发者开放。 最近鸿蒙开发可谓是火得一塌糊涂&#xff0c;各大培训平台都开设了鸿蒙开发课程。美团发布了鸿蒙高级工…...

《C++新经典设计模式》之第4章 策略模式

《C新经典设计模式》之第4章 策略模式 策略模式.cpp 策略模式.cpp #include <iostream> #include <memory> using namespace std;// if或switch分支不稳定&#xff0c;经常改动时&#xff0c;考虑引入算法独立到策略类中去实现// 依赖倒置原则 // 高层组件不应该依…...

【方法】PowerPoint“只读方式”如何取消?

PPT设置了以“只读方式”打开&#xff0c;可以保护文件无法编辑更改&#xff0c;那后续不需要保护了&#xff0c;或者想要编辑文件&#xff0c;要如何取消“只读方式”呢&#xff1f; 首先&#xff0c;我们要看看PPT设置的是哪种“只读方式”。 如果PPT设置的是无密码“只读方…...

MySQL数据库概念与实践

MySQL数据库概念与实践 1. 概念 MySQL是一种常用的关系型数据库管理系统&#xff0c;具有丰富的功能和广泛的应用。在本篇博客中&#xff0c;我们将介绍MySQL数据库的一些重要概念和相关知识。 存储引擎 存储引擎是MySQL数据库用于存储、更新和查询数据的技术实现方法。MyS…...

【ArcGIS Pro微课1000例】0052:基于SQL Server创建企业级地理数据库案例

文章目录 环境搭建创建企业级数据库连接企业级数据库环境搭建 ArcGIS:ArcGIS Pro 3.0.1Server.ecp:版本为10.7SQL Server:版本为SQL Server Developer 2019创建企业级数据库 企业级地理数据库的创建需要通过工具箱来实现。工具位于:数据管理工具→地理数据库管理→创建企业…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...