偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Fluentd到Fluent Bit遷移指南

開發(fā) 項目管理
本文介紹了從 Fluentd 遷移到 Fluent Bit 的原因、區(qū)別、方法和注意事項。遷移能帶來更高的性能、更好的遙測支持和更靈活的配置。建議逐步遷移,并考慮采用遙測管道架構(gòu)。

本文介紹了從 Fluentd 遷移到 Fluent Bit 的原因、區(qū)別、方法和注意事項。遷移能帶來更高的性能、更好的遙測支持和更靈活的配置。建議逐步遷移,并考慮采用遙測管道架構(gòu)。

譯自:A Guide To Migrating From Fluentd To Fluent Bit[1]

作者:Anurag Gupta

編者注:本文是系列文章的一部分。另請閱讀基于 Manning 圖書的節(jié)選,“使用 Kubernetes 的 Fluent Bit[2]”:

Fluentd 創(chuàng)建于 14 年前,至今仍是企業(yè)中部署最廣泛的日志收集技術(shù)之一。Fluentd 的分布式插件架構(gòu)和高度寬松的許可使其成為云原生計算基金會 (CNCF)[3]的理想選擇,現(xiàn)已成為畢業(yè)項目。然而,企業(yè)現(xiàn)在正被遙測數(shù)據(jù)淹沒,需要具有更高性能、對不斷發(fā)展的模式和格式的更多原生支持以及更高的處理靈活性的解決方案。Fluent Bit 應(yīng)運而生。

Fluent Bit[4] 最初在 Fluent 生態(tài)系統(tǒng)[5] 中作為一個子項目發(fā)展,后來從 Fluentd 擴(kuò)展到支持所有遙測類型——日志、指標(biāo)和追蹤。Fluent Bit 現(xiàn)在是兩者中更受歡迎的一個,擁有超過 150 億的部署,并被 Amazon[6]、Google[7]、Oracle[8] 和 Microsoft[9] 等公司使用。Fluent Bit 還與 OpenTelemetry[10] 信號、格式和協(xié)議完全一致,這確保了用戶能夠隨著遙測數(shù)據(jù)的增長和發(fā)展而繼續(xù)處理這些數(shù)據(jù)。

作為這些項目的維護(hù)者,我們最常被問到的問題包括:

  • ? 我們?nèi)绾芜w移?
  • ? 我們應(yīng)該注意什么?
  • ? 遷移能給我們帶來什么商業(yè)價值?

本文旨在通過示例回答這些問題。我們希望讓從 Fluentd 遷移到 Fluent Bit[11] 成為一個簡單的決定。

為什么要遷移?

以下是用戶從 Fluentd 切換到 Fluent Bit 的一些原因:

  1. 1. 在您已使用的相同資源上獲得更高的性能
  2. 2. 完全支持 OpenTelemetry 的日志、指標(biāo)和追蹤,以及 Prometheus 對指標(biāo)的支持
  3. 3. 更簡單的配置和路由到多個位置的能力
  4. 4. 更快地添加自定義處理規(guī)則
  5. 5. 集成監(jiān)控以更好地了解性能和數(shù)據(jù)流

Fluentd 與 Fluent Bit:有什么區(qū)別

背景

要了解項目之間的所有差異,重要的是要了解每個項目的背景以及它所構(gòu)建的時代。對于 Fluentd,主要語言是 Ruby,最初旨在幫助用戶將數(shù)據(jù)推送到 Hadoop 等大數(shù)據(jù)平臺。該項目遵循分布式架構(gòu),插件在安裝和部署主二進(jìn)制文件后安裝。

另一方面,F(xiàn)luent Bit 是用 C 編寫的,專注于在較小的系統(tǒng)(容器、嵌入式 Linux)中的超高性能。該項目借鑒了 Fluentd 的插件,而是選擇完全嵌入式插件,這些插件是核心二進(jìn)制文件的一部分。

性能

從 Fluentd 切換到 Fluent Bit 的明顯區(qū)別和主要價值在于性能。使用 Fluent Bit,您可以使用相同的資源處理的日志量可能比原來高 10 到 40 倍,具體取決于您使用的插件。Fluent Bit 從一開始就被編寫為具有超高性能,專注于盡可能快地傳輸數(shù)據(jù)以進(jìn)行數(shù)據(jù)分析。后來,人們發(fā)現(xiàn)性能足夠高效,可以在不影響使代理盡可能快的使命的情況下添加更多的邊緣處理。

路由

Fluent Bit 的其他部分是從 Fluentd 遇到的挑戰(zhàn)演變而來的,例如緩沖和路由。對于 Fluentd,多路由是事后才考慮的,用戶需要“復(fù)制”數(shù)據(jù)流以將數(shù)據(jù)路由到多個點。這使得配置管理成為一場噩夢,此外還基本上復(fù)制了路由數(shù)據(jù)的資源需求。

在 Fluent Bit 中,緩沖區(qū)存儲一次,這允許多個插件“訂閱”數(shù)據(jù)流。這確保了數(shù)據(jù)存儲一次并訂閱多次,從而允許進(jìn)行多路由,而無需在性能和配置疲勞之間進(jìn)行權(quán)衡。

遙測信號焦點

雖然 Fluentd 最初是一個數(shù)據(jù)傳輸器,但它后來發(fā)展成為一個日志記錄代理,用于 Kubernetes[12] 等項目和 Splunk 等公司。另一方面,F(xiàn)luent Bit 最初是一個嵌入式指標(biāo)收集器,日志文件隨后才進(jìn)入。隨著 Fluent Bit 的采用開始超過 Fluentd 的功能,添加了 OpenTelemetry 日志/指標(biāo)/追蹤、Prometheus Scrape 和 Remote Write 支持、eBPF 和分析支持等功能。

今天,F(xiàn)luent Bit 與 OpenTelemetry 模式、格式和協(xié)議保持一致,旨在成為一種輕量級實現(xiàn),具有高度的性能。

自定義處理

Fluentd 和 Fluent Bit 具有許多相同的處理器名稱,但在自定義處理方面,選項卻大不相同:

  • ? 對于 Fluentd,選項是 enable_ruby,它允許在配置中使用自定義 Ruby 腳本來執(zhí)行操作。這對于小型任務(wù)可以有效地工作;但是,隨著邏輯變得越來越復(fù)雜,它會帶來很大的懲罰,從而增加了更多的性能瓶頸。
  • ? 對于 Fluent Bit,自定義處理是用 Lua 語言完成的,這提供了極大的靈活性。但是,與 Fluentd 不同,F(xiàn)luent Bit 的 Lua 處理器性能非常出色,可以大規(guī)模使用(100+ TB/天)。

自定義插件

這兩個項目都允許自定義插件來幫助您連接到源或目標(biāo)。對于 Fluentd,這些自定義插件是“Ruby Gems”,您可以下載并將其安裝到現(xiàn)有或新的安裝或部署中。對于 Fluent Bit,自定義插件是用 Go 編寫和編譯的。還有一些新的舉措,允許您用您想要的任何語言編寫自定義插件,并將它們編譯成 WebAssembly。

我們從 Fluentd 的分布式插件架構(gòu)中吸取的一個教訓(xùn)是,插件的數(shù)量可能會呈指數(shù)級增長。然而,通常所需的高質(zhì)量和維護(hù)使得許多插件被放棄且不受支持。對于 Fluent Bit,插件都集成到源代碼本身中,這確保了與每個版本的兼容性。自定義插件仍然獨立于主存儲庫。但是,我們正在尋找方法,允許它們也共享主 GitHub 存儲庫中本機(jī) C 插件的相同優(yōu)勢。

監(jiān)控

了解數(shù)據(jù)如何在您的環(huán)境中傳輸通常是部署 Fluentd 或 Fluent Bit 的用戶提出的首要請求。對于 Fluentd,啟用這些設(shè)置可能需要通過“monitor_agent”或使用第三方 Prometheus 導(dǎo)出器插件進(jìn)行復(fù)雜的配置。這些監(jiān)控插件也增加了 Fluentd 的維護(hù)開銷,這會影響性能。

Fluent Bit 將監(jiān)控作為其核心功能的一部分,并且可以通過本機(jī)插件(fluentbit_metrics)檢索,或者可以在 HTTP 端口上進(jìn)行抓取。Fluent Bit 的指標(biāo)也比 Fluentd 的包含更多信息,這使您可以了解字節(jié)、記錄、存儲和連接信息。

如何開始從 Fluentd 遷移到 Fluent Bit

我們要回答的下一個問題是:如何開始?

第一個重要步驟是了解 Fluentd 的部署方式、環(huán)境中發(fā)生的處理以及數(shù)據(jù)流向何處。

您無需擔(dān)心什么:

1. 架構(gòu)支持: 兩個應(yīng)用程序都支持 x86 和 ARM。

2. 平臺支持: Fluent Bit 支持與 Fluentd 今天相同的平臺,甚至更多。舊系統(tǒng)可能有所不同;但是,重要的是要注意,這些系統(tǒng)在任何 OSS 項目中都沒有維護(hù)。

3. 正則表達(dá)式: 如果您使用 Onigmo 解析器庫構(gòu)建了一個大型正則表達(dá)式庫,您可以放心地知道 Fluent Bit 支持它。

部署

作為代理部署(Linux 或 Windows 包)

當(dāng) Fluentd 作為代理部署在 Linux 或 Windows 上時,其主要功能是收集本地日志文件或 Windows 事件日志,并將它們路由到特定目標(biāo)。值得慶幸的是,F(xiàn)luent Bit 的本地收集能力與 Fluentd 的能力相同,包括在失敗時恢復(fù)、存儲上次收集的日志行和本地緩沖的能力。

在 Kubernetes 中作為 DaemonSet 部署

如果 Fluentd 在您的 Kubernetes 集群中作為 DaemonSet 運行,您應(yīng)該首先檢查正在運行的鏡像。由于 Fluentd 具有分布式插件,因此 DaemonSet 鏡像可能包含特定的插件,這確保您可以直接從讀取 Kubernetes 日志到最終目標(biāo)。此示例[13] 包含 OpenSearch 和 Kafka 作為插件,因此您應(yīng)該驗證您使用的鏡像是否具有與 Fluent Bit 相同的插件。Fluent Bit 還支持對所有日志進(jìn)行 Kubernetes 富集,提供有關(guān)命名空間、pod、標(biāo)簽等的數(shù)據(jù)。

作為聚合器/收集器部署

如果您的 Fluentd 部署用于從 syslog、網(wǎng)絡(luò)設(shè)備或 HTTP 請求收集日志,您可以首先驗證 Fluent Bit 是否具有相同的功能。例如,F(xiàn)luent Bit 具有 syslog、TCP、HTTP 和 UDP 插件,可以覆蓋大多數(shù)這些用例。此外,F(xiàn)luent Bit 還可以接收 OpenTelemetry HTTP1/gRPC、Prometheus Remote Write、HTTP gzip 和 Splunk HTTP Event Collector (HEC) 作為額外的入站信號。

添加遙測管道

從 Fluentd 遷移到 Fluent Bit 時,我們還建議考慮在代理和目標(biāo)之間添加遙測管道。這允許您將更大的處理邏輯塊在 Fluentd 代理中向下游移動。

數(shù)據(jù)源(輸入)、[14]和路由數(shù)據(jù)(處理)以及數(shù)據(jù)目的地(輸出)。數(shù)據(jù)源(輸入)、[14]和路由數(shù)據(jù)(處理)以及數(shù)據(jù)目的地(輸出)。

配置

Fluentd 和 Fluent Bit 之間的配置語法差異很大。雖然兩者最近都開始更多地支持 YAML,但大多數(shù)舊的 Fluentd 配置仍然會使用類似于 XML 的特定于域的配置語言編寫。

一些一般說明:

  1. 1. 考慮一次驗證一個插件,然后擴(kuò)展到單個路由(例如,將系統(tǒng)日志路由到 OpenSearch)。
  2. 2. 緩沖和線程設(shè)置在 Fluent Bit 中并不重要。
  3. 3. 安全設(shè)置應(yīng)該相似。

如有疑問,聯(lián)系 Fluent 社區(qū)[15] 有助于解決一些更細(xì)粒度的設(shè)置。

自定義插件

遷移時,重要的是確保 Fluent Bit 支持所有插件(源和目標(biāo))。您還應(yīng)該檢查它是否支持有關(guān)身份驗證、授權(quán)或訪問的特定設(shè)置。這將是一個手動過程,可能需要一些時間。但是,這也將使您有機(jī)會重新審視您過去對特定數(shù)據(jù)格式或插件設(shè)置所做的決定。

自定義處理邏輯

如果您在 Fluentd 中有標(biāo)簽、過濾器或其他處理邏輯,重要的是要注意您嘗試實現(xiàn)的功能。雖然看起來只是交換那些過濾器可能是最容易的,但您也應(yīng)該考慮將它們直接遷移到 Fluent Bit 處理器[16] 的方法。

如果您有相當(dāng)數(shù)量的自定義 Ruby,您可以使用大型語言模型 (LLM) 來幫助將其轉(zhuǎn)換為合適的 Lua。

每次遷移一部分

您不需要一次遷移所有功能。由于 Fluent Bit 輕量級且性能出色,因此您可以考慮讓每個代理處理不同部分的工作負(fù)載。隨著時間的推移,您可以按照上面的邏輯繼續(xù)遷移,而不必?fù)?dān)心日志收集中斷。

結(jié)論

雖然從 Fluentd 遷移到 Fluent Bit 似乎是一項艱巨的任務(wù),但您有很多關(guān)于如何攻擊以及在哪里集中精力以實現(xiàn)最大影響的選擇。當(dāng)然,遷移也是重新評估某些邏輯以進(jìn)行改進(jìn),甚至引入新的架構(gòu)模式(例如遙測管道)的好時機(jī)。

如果您正在尋找指導(dǎo)或協(xié)助幫助,請告訴我。我曾幫助許多人從 Fluentd 遷移到 Fluent Bit,甚至協(xié)助將某些部分現(xiàn)代化為遙測管道。

引用鏈接

[1] A Guide To Migrating From Fluentd To Fluent Bit:https://thenewstack.io/a-guide-to-migrating-from-fluentd-to-fluent-bit/

[2]使用 Kubernetes 的 Fluent Bit:https://chronosphere.io/resource/fluent-bit-with-kubernetes-manning/?utm_source=the+new+stack&utm_medium=referral&utm_cnotallow=inline-mention&utm_campaign=tns+platform

[3]云原生計算基金會 (CNCF):https://www.cncf.io/

[4]Fluent Bit:https://chronosphere.io/learn/fluent-bit-v4-0/?utm_source=TNs&utm_medium=sponsored+content&utm_cnotallow=inline-mention&utm_campaign=tns+platform

[5]Fluent 生態(tài)系統(tǒng):https://chronosphere.io/fluent-bit/?utm_source=TNs&utm_medium=sponsored+content

[6]Amazon:https://aws.amazon.com/?utm_cnotallow=inline+mention

[7]Google:https://cloud.google.com/?utm_cnotallow=inline+mention

[8]Oracle:https://developer.oracle.com/?utm_cnotallow=inline+mention

[9]Microsoft:https://news.microsoft.com/?utm_cnotallow=inline+mention

[10]OpenTelemetry:https://thenewstack.io/what-is-opentelemetry/

[11]Fluentd 遷移到 Fluent Bit:https://chronosphere.io/fluent-bit-academy/?utm_source=TNs&utm_medium=sponsored+content&utm_cnotallow=inline-mention&utm_campaign=tns+platform

[12]Kubernetes:https://chronosphere.io/resource/fluent-bit-with-kubernetes-manning/?utm_source=the+new+stack&utm_medium=referral&utm_cnotallow=inline-mention&utm_campaign=tns+platform

[13]此示例:https://hub.docker.com/r/fluent/fluentd-kubernetes-daemonset

[14]數(shù)據(jù)源(輸入)、轉(zhuǎn)換和路由數(shù)據(jù)(處理)以及數(shù)據(jù)目的地(輸出)。:https://cdn.thenewstack.io/media/2025/06/2535bb3a-image1a-1024x470.png

[15]Fluent 社區(qū):https://www.launchpass.com/fluent-all

[16]Fluent Bit 處理器:https://chronosphere.io/learn/explaining-the-fluent-bit-processor/

責(zé)任編輯:武曉燕 來源: 云云眾生S
相關(guān)推薦

2020-04-23 13:51:05

AI管理GUI

2023-04-28 09:02:24

智能客服人工智能Siri

2024-12-05 08:15:00

2023-04-21 15:54:46

AI開源

2024-11-07 15:40:00

2025-06-09 08:30:00

2025-04-21 08:13:58

ChatGPTAINLP

2023-01-14 14:59:05

達(dá)摩院

2025-03-07 10:36:21

DeepSeekAI對話應(yīng)用AI

2021-06-22 09:37:51

數(shù)字化

2021-07-01 15:56:42

深度學(xué)習(xí)人工智能互聯(lián)網(wǎng)

2021-01-15 09:50:06

鴻蒙HarmonyOSAI應(yīng)用

2024-01-08 13:33:00

數(shù)據(jù)訓(xùn)練

2025-03-24 12:42:52

2025-05-30 09:15:00

2018-06-12 10:16:55

百度多輪交互智能音箱

2009-02-26 16:32:58

SaaS開發(fā)SaaS應(yīng)用Open API

2025-06-17 17:16:51

LLMChatGPTAI

2024-11-25 15:30:00

語言模型數(shù)據(jù)

2022-11-25 13:02:28

螞蟻集團(tuán)
點贊
收藏

51CTO技術(shù)棧公眾號