企業(yè)無(wú)論是已經(jīng)使用了開(kāi)源日志收集工具,還是準(zhǔn)備選擇一款或多款工具,都有必要了解日志收集工具的關(guān)鍵要求。這些要求包括:高數(shù)據(jù)吞吐量、可靠性、可擴(kuò)展性、靈活性、安全性以及資源(CPU和內(nèi)存)消耗等。本文討論了市面上流行的幾款日志收集工具(包括 Logstash、Fluentd、Fluent Bit 和 Vector)及其主要特點(diǎn)。
1. Logstash
Logstash
是最受歡迎的日志收集工具之一,它是 ELK(Elasticsearch/Logstash/Kibana)架構(gòu)的一部分。
Logstash 的主要優(yōu)勢(shì):
● 處理結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
● 支持更高的數(shù)據(jù)安全性,能夠匿名化或排除敏感字段。
● 支持?jǐn)?shù)百個(gè)插件,包括輸入、過(guò)濾和輸出等插件。過(guò)濾器插件執(zhí)行日志處理,比如聚合和解析。
雖然 Logstash 是一款可靠的日志收集工具,在處理日志數(shù)據(jù)方面有諸多選項(xiàng),但如果內(nèi)存占用量小是個(gè)關(guān)鍵要求,本文介紹的其他日志收集工具可能更勝一籌。因?yàn)?Logstash 是用 Java 編寫的,所以需要 JVM 支持。如果企業(yè)打算從嵌入式設(shè)備和物聯(lián)網(wǎng)應(yīng)用程序收集日志,它不是最佳選擇。
2. Fluentd
Fluentd
是一款日志收集工具,內(nèi)存占用量小,可以處理各種日志源和目的地。許多受支持的插件允許連接到多種類型的日志源和目的地。與其他日志收集工具一樣,F(xiàn)luentd 的典型日志源包括應(yīng)用程序、基礎(chǔ)設(shè)施和消息隊(duì)列平臺(tái),而通常目的地是日志管理工具和存儲(chǔ)歸檔系統(tǒng)。
Fluentd 的主要優(yōu)勢(shì):
● 支持許多日志源和目的地。
● 靈活、可擴(kuò)展的解析選項(xiàng),支持多種輸入格式。
● 擁有龐大的生態(tài)系統(tǒng),包括成百上千個(gè)插件,以及用Ruby自行編寫插件的功能。
● 支持 Apache 許可證,版本2.0。
● 供應(yīng)商中立(CNCF項(xiàng)目)。
如果企業(yè)需要中立的供應(yīng)商,F(xiàn)luentd 是不錯(cuò)的選擇。它還經(jīng)常與 Kubernetes 和容器化環(huán)境一起使用。
3. Fluent Bit
Fluent Bit
不僅是一款日志收集工具,還可以用作數(shù)據(jù)流處理工具,并充當(dāng)將日志數(shù)據(jù)轉(zhuǎn)發(fā)到 Fluentd 的運(yùn)送工具。Fluent Bit 在 Kubernetes 集群等容器化環(huán)境中運(yùn)行順暢。Fluent Bit 可以擴(kuò)展并仍能節(jié)省資源,因?yàn)樗加玫目臻g很小。雖然 Fluent Bit 經(jīng)常用在 Kubernetes 環(huán)境中,但它也可以部署在裸機(jī)服務(wù)器、虛擬機(jī)和嵌入式設(shè)備上。
Fluent Bit的主要優(yōu)勢(shì):
● 輕量級(jí)設(shè)計(jì),內(nèi)存占用量極小(通常不到1MB)。
● 易于擴(kuò)展的架構(gòu)。
● 可插入式架構(gòu),有許多輸入、過(guò)濾器和輸出插件。
● 支持基于指標(biāo)和基于日志的有效負(fù)載。
● 支持通過(guò)安全的連接將日志發(fā)送到存儲(chǔ)后端。
● 使用 SQL,支持?jǐn)?shù)據(jù)流處理。
● 支持 Apache 許可證,版本2.0。
● 供應(yīng)商中立(CNCF項(xiàng)目)。
Fluent Bit 從眾多日志源收集日志和指標(biāo),并將它們發(fā)送到不同的目的地。Fluent Bit 真正大放異彩的地方在于嵌入式、邊緣及其他資源受限的環(huán)境,因?yàn)榫?jiǎn)的運(yùn)行時(shí)環(huán)境結(jié)合眾多的輸入/輸出選項(xiàng)至關(guān)重要。
4. Vector
Vector
是一款高性能的日志收集工具。與本文中的其他日志收集工具相比,這款產(chǎn)品比較新。
Vector 的主要優(yōu)勢(shì):
● 高效的內(nèi)存/CPU消耗和高數(shù)據(jù)吞吐量。
● 良好的可靠性,正確性和交付方面有保證。
● 包括自定義 DSL,以一種安全、高性能的方式動(dòng)態(tài)轉(zhuǎn)換數(shù)據(jù)。
● 支持基于指標(biāo)和日志的有效負(fù)載。
● 大量的輸入和輸出集成。
● 可以部署為代理或聚合器。
由于廣泛的部署選項(xiàng)、同時(shí)支持指標(biāo)和日志以及可用集成的數(shù)量,使 Vector 成為一種出色而靈活的選擇。由于 Vector 用 Rust 編寫,提供了內(nèi)存安全和效率保證,使其在其他現(xiàn)有工具中獨(dú)樹(shù)一幟。Vector 引入了單元測(cè)試框架,可以更輕松地維護(hù)復(fù)雜的日志收集工具拓?fù)洹?/p>
此外,Vector 的軟件組件竭力為傳送到目的地的日志和事件提供交付保證。Vector 的用戶還可以獲得 Vector 組件的代碼總體穩(wěn)定性方面的保證。無(wú)論在新環(huán)境中還是在舊環(huán)境中工作,它都值得認(rèn)真考慮。
結(jié) 語(yǔ)
很難判定哪一款工具主導(dǎo)市場(chǎng),企業(yè)選擇合適的日志收集工具取決于其特定需求和要求。比如說(shuō),如果企業(yè)在為需要資源消耗少的物聯(lián)網(wǎng)應(yīng)用程序?qū)ふ胰罩臼占ぞ撸敲醋詈檬褂?Vector 或 Fluent Bit,而不是 Logstash。如果企業(yè)看重供應(yīng)商的中立性,CNCF 支持的項(xiàng)目(比如 Fluentd 和 Fluent Bit)倒是不錯(cuò)的選擇。仔細(xì)檢查性能、資源消耗、支持眾多輸入和輸出格式的靈活性、可擴(kuò)展性、可靠性、供應(yīng)商鎖定和安全要求,可以幫助企業(yè)找到適合的日志收集工具。
鏈接:https://cloud.tencent.com/developer/article/2203090?areaSource=102001.16&traceId=UcMPrQSQJHV9ushXsHVE0
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6892瀏覽量
88828 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3251瀏覽量
42407 -
Fluent
+關(guān)注
關(guān)注
0文章
25瀏覽量
11650
原文標(biāo)題:Logstash、Fluentd、Fluent Bit 和 Vector,誰(shuí)才是開(kāi)源日志收集最強(qiáng)王者?
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論