從 Logstash 到 TDengine 資料接入功能,原來有這些“不一樣”
利用 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 等資料庫中進行儲存:
資料流轉總體分為三部分:Input、Filter、Output,這三部分的定義覆蓋了資料整個的生命週期。Input 和 Output 支援編解碼器,使用編解碼器,可以在資料進入或退出管道時進行編碼或解碼,而不必使用單獨的過濾器。原始資料在 Input 中被轉換為 Event,在 Output 中 Event 被轉換為目標式資料,在配置檔案中可以對 Event 中的屬性進行增刪改查。
其中,Filter 是 Logstash 功能強大的主要原因,它可以對 Logstash Event 進行豐富的處理,比如解析資料、刪除欄位、型別轉換等等,常見的有如以下幾個:
- date 日期解析
- grok 正則匹配解析
- 正規表示式:
- Debuggex: Online visual regex tester. JavaScript, Python, and PCRE.
- RegExr: Learn, Build, & Test RegEx
- Grok
- kibana – grokdebugger
- 正規表示式:
- 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 的資/深研發直接進行溝通。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014783/viewspace-2998819/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql從入門到精通原來是這樣做到了?!MySql
- 原來大資料 Hadoop 是這樣儲存資料的大資料Hadoop
- 關於 TDengine 3.0 資料訂閱,你需要知道這些
- 大資料解讀:原來你是這樣的Z世代!大資料
- 【恩墨學院】原來銀行都在用這些資料庫資料庫
- 有了資料分析,餐飲行業會有哪些不一樣?行業
- vue原來可以這樣上手Vue
- Vuex原來可以這樣上手Vue
- 原來有這樣的免費遠端辦公軟體
- Logstash : 從 SQL Server 讀取資料SQLServer
- 蘇州大學:從 PostgreSQL 到 TDengineSQL
- 原來你是這樣的FlutterFlutter
- 原來你是這樣的switch~
- 原來你是這樣的PromisePromise
- 原來你是這樣的GitGit
- 不一樣的方法論,從迪斯尼動畫學到的五大UX設計原則動畫UX
- 原來 GitHub 不僅能學程式碼,還有這些東西Github
- 原創|高逼格企業級MySQL資料庫備份方案,原來是這樣....MySql資料庫
- 想要流暢體驗 TDengine 3.0 資料訂閱功能?要點都在這裡
- 原來JavaScript是這樣執行的JavaScript
- 原來MSSQL還可以這樣調優SQL
- 原來Stable Diffusion是這樣工作的
- 訓練資料也外包?這家公司“承包”了不少註釋訓練資料,原來是這樣做的……
- 06 萬萬沒想到,Github還有這些功能Github
- 原來免費OA的工作流還有這樣的操作的
- undo用於將資料庫邏輯的恢復到原來的樣子資料庫
- 原來雲資料庫也是有思想的…資料庫
- 微信紅包和轉賬有哪些區別?原來還有這些不同!漲知識了
- IT老兵告訴你資料中臺和大資料平臺有啥不一樣?大資料
- JavaScript 中的原型原來是這樣的JavaScript原型
- 原來CNN是這樣提取影像特徵的。。。CNN特徵
- 原來你是這樣的http2......HTTP
- javascript棄坑之路之原來是這樣的thisJavaScript
- 從http到https你可以這樣做HTTP
- 從軟體工程師轉型到資料科學家 我是這樣走的軟體工程工程師資料科學
- 擁有這些Java這些技術可以漲工資嗎?Java
- 人工智慧資料標註這些年:從幕後到前臺丨曼孚科技人工智慧
- 實戰技巧,Vue原來還可以這樣寫Vue