Elasticsearch數(shù)據(jù)采集和處理--Logstash VS Ingest Node

參考地址:

Should I use Logstash or Elasticsearch ingest nodes?

1杖狼、背景

Logstash是Elastic Stack的重要組成部分(即ELK中的L),在該架構(gòu)中負(fù)責(zé)數(shù)據(jù)采集妖爷,處理蝶涩,輸出等功能,支持多種數(shù)據(jù)輸入,數(shù)據(jù)處理子寓,數(shù)據(jù)輸出方式暗挑,并且具有可擴(kuò)展性好,功能強(qiáng)大等優(yōu)點(diǎn)斜友。典型的采用Logstash進(jìn)行數(shù)據(jù)采集和處理的Elastic Stack架構(gòu)如下圖:

Logstash數(shù)據(jù)采集和處理

而Ingest Node是在Elasticsearch5.0之后引入的特性炸裆,用于在文檔實(shí)際索引動(dòng)作執(zhí)行前對(duì)文檔進(jìn)行預(yù)處理,在數(shù)據(jù)處理層面上與Logstash有許多功能重疊之處鲜屏。引入Ingest Node后的Elastic Stack數(shù)據(jù)采集和處理架構(gòu)如下:

IngestNode數(shù)據(jù)采集和處理

Ignest Node的出現(xiàn)為Elastic Stack 數(shù)據(jù)的采集和處理提供了一種新的方式烹看,在許多場(chǎng)景下用戶(hù)可以在不使用Logstash的情況下,完成數(shù)據(jù)的采集和處理洛史,簡(jiǎn)化了系統(tǒng)架構(gòu)惯殊。那么Logstash和Ignest Node有何異同?在實(shí)際使用中該如何選擇呢也殖?

2土思、Logstash與Ignest Node的比較

2.1 數(shù)據(jù)輸入和輸出

Ingest Node:作為Elasticsearch索引文檔過(guò)程的一部分,僅能使用Elasticsearch支持的方式來(lái)輸入忆嗜,如Restful接口等己儒,處理過(guò)后的數(shù)據(jù)也只能索引入Elasicsearch中,而不能輸出到其他地方捆毫。

Logstash:支持多種數(shù)據(jù)源闪湾,包括各種Beats,Mysql,kafka等,不僅可以作為服務(wù)端接收Client通過(guò)TCP绩卤,UDP,HTTP等方式推送過(guò)來(lái)的數(shù)據(jù)途样,也可以主動(dòng)從數(shù)據(jù)庫(kù),消息隊(duì)列等處拉取數(shù)據(jù)。數(shù)據(jù)輸出功能也非常強(qiáng)大濒憋,可以輸出到消息隊(duì)列何暇,對(duì)象存儲(chǔ),HDFS等。

2.2 數(shù)據(jù)緩沖

Ingest Node:Elasticsearch本身并沒(méi)有提供數(shù)據(jù)緩沖策略凛驮,數(shù)據(jù)輸入端需要自行解決ES拒絕寫(xiě)入請(qǐng)求的情況裆站。而Ingest Node作為ES索引文檔的一部分也沒(méi)有數(shù)據(jù)緩沖策略。

Logstash:提供隊(duì)列機(jī)制辐烂,可以防止數(shù)據(jù)丟失和承受一定的負(fù)載尖刺遏插。另外捂贿,還支持多種隊(duì)列纠修,可以根據(jù)業(yè)務(wù)實(shí)際情況選擇合適的隊(duì)列。

2.3 數(shù)據(jù)處理

Ingest Node:支持超過(guò)20多種processors厂僧,這些processors覆蓋了Logstash的常用場(chǎng)景扣草。限制是只能在單個(gè)數(shù)據(jù)的上下文執(zhí)行,另外不能調(diào)用外部的系統(tǒng),如文件辰妙,數(shù)據(jù)庫(kù)等

Logstash:支持大量的processors鹰祸,用戶(hù)甚至可以自己的需要編寫(xiě)plugins,也可以調(diào)用包括磁盤(pán)文件密浑,數(shù)據(jù)庫(kù)蛙婴,ES等外部資源。另外Logstash支持根據(jù)條件過(guò)濾和丟棄數(shù)據(jù)尔破。

2.4 配置和使用

Ingest Node:通過(guò)ES接口創(chuàng)建Pipeline, 并存入Elasticsearch中街图,無(wú)監(jiān)控和可視化管理界面

Logstash:主要通過(guò)配置文件來(lái)定義Pipeline,支持條件控制流和多pipeline,并提供有監(jiān)控和可視化Pipeline管理功能懒构,對(duì)于性能調(diào)優(yōu)和問(wèn)題定位非常有幫助餐济。Kibana中的Logstash pipeline管理界面如下圖:

[圖片上傳失敗...(image-a61b5f-1574901926119)]

3、分析

(1)輸入方面胆剧,雖然Logstash支持更多的輸入方式絮姆,但是Ingest Node也可以通過(guò)與Beats,甚至Logstash配合來(lái)解決不同數(shù)據(jù)源的輸入問(wèn)題。

(2)輸出方面秩霍,由于Ingest Node 作為Elasticsearch索引文檔過(guò)程的一部分篙悯,因此除非對(duì)源碼進(jìn)行改造,否則無(wú)法將數(shù)據(jù)導(dǎo)出到其他地方前域。因此如果有將處理過(guò)后的數(shù)據(jù)導(dǎo)出到其他地方的需求辕近,建議使用Logstash。

(3)數(shù)據(jù)緩沖方面匿垄,Ingest Node 可以通過(guò)在文檔輸入前接入Kafka等消息隊(duì)列來(lái)解決移宅。另外在實(shí)際使用中,即使Logstash自身有隊(duì)列機(jī)制椿疗,一般也會(huì)在Logstash前增加Kafka來(lái)更好的緩沖數(shù)據(jù)傳輸壓力漏峰。

(4)數(shù)據(jù)處理方面,IgnestNode支持Logstash的大多數(shù)常用場(chǎng)景届榄,如果在使用前可以明確所有使用場(chǎng)景浅乔,確定Ignest Node可以滿(mǎn)足需求,可以使用IgnestNode铝条,如果IgnestNode不能滿(mǎn)足要求靖苇,則需要采用Logstash。

(5)配置和使用方面班缰,在這方面Logstash有明顯優(yōu)勢(shì)贤壁,靈活的配置方式,可視化監(jiān)控和pipeline管理埠忘,在復(fù)雜系統(tǒng)中有著重要的幫助作用脾拆。

(6)性能和架構(gòu)方面馒索,Ignest作為Elasticsearch集群的一部分,當(dāng)數(shù)據(jù)處理邏輯相對(duì)簡(jiǎn)單時(shí)名船,可以簡(jiǎn)化數(shù)據(jù)采集和處理架構(gòu)绰上。但是當(dāng)數(shù)據(jù)處理相對(duì)邏輯復(fù)雜時(shí),Ingest Node數(shù)據(jù)處理過(guò)程可能影響節(jié)點(diǎn)的性能渠驼。這時(shí)一般采用專(zhuān)用Ingest Node的方式解決蜈块,而引入專(zhuān)用Ingest Node會(huì)使Elasticsearch集群的結(jié)構(gòu)變得復(fù)雜,這與Ingest Node簡(jiǎn)化數(shù)據(jù)采集和處理架構(gòu)的優(yōu)勢(shì)背道而馳迷扇。而Logstash是處于Elasticsearch前的專(zhuān)用數(shù)據(jù)采集和處理模塊疯趟,當(dāng)性能出現(xiàn)瓶頸時(shí)可以通過(guò)橫向擴(kuò)展的方式來(lái)提高處理能力,在架構(gòu)上更為清晰谋梭。

(7)Ingest Node與Logstash的聯(lián)用信峻,Ingest Node是Elasticsearch集群的一部分,而Logstash處于Elasticsearch的前端瓮床,在結(jié)構(gòu)上兩者完全可以配合使用盹舞。PS:Ignest Node一個(gè)用法是為數(shù)據(jù)添加時(shí)間戳,以便更精確地記錄文檔索引時(shí)間隘庄,在耗時(shí)計(jì)算時(shí)有一定用處踢步。Ingest Node與Logstash聯(lián)用的Elastic Stack架構(gòu)圖如下:

Ingest Node與Logstash聯(lián)用

4、結(jié)論和建議

通過(guò)上面的比較和分析不難發(fā)現(xiàn)丑掺,Ignest Node 在功能上基本為 Logstash 的子集获印, 在數(shù)據(jù)處理邏輯簡(jiǎn)單,沒(méi)有其他額外輸出端的時(shí)候街州,可以簡(jiǎn)化系統(tǒng)架構(gòu)兼丰,實(shí)現(xiàn)快速部署。但是當(dāng)處理邏輯復(fù)雜唆缴,多輸入源和多輸出源的場(chǎng)景下鳍征,Logstash的功能強(qiáng)大和靈活更為合適。

在實(shí)際使用中可以根據(jù)自己的業(yè)務(wù)特點(diǎn)來(lái)選擇Ingest Node或Logstash面徽。

(1)如果是將Elastic Stack使用在特定場(chǎng)景下艳丛,且數(shù)據(jù)處理邏輯相對(duì)簡(jiǎn)單,可以考察Ignest Node是否滿(mǎn)足需求趟紊,優(yōu)先使用Ignest Node實(shí)現(xiàn)系統(tǒng)的快速部署氮双。

(2)當(dāng)需要搭建的是一個(gè)通用的Elastic Stack平臺(tái),需要支持多種輸入源霎匈,輸出源戴差,數(shù)據(jù)處理邏輯也相對(duì)復(fù)雜時(shí),建議采用Logstash, 利用Logstash的功能強(qiáng)大唧躲,靈活造挽,可擴(kuò)展等特性,保證系統(tǒng)的功能性和穩(wěn)定性弄痹。

(3)如果在系統(tǒng)搭建初期饭入,需求不明確,由于Ignest Node和Logstash可以聯(lián)用肛真,因此可以先使用Ingest Node來(lái)搭建系統(tǒng)谐丢,當(dāng)功能無(wú)法滿(mǎn)足時(shí),再在Elasticsearch前面增加Logstash蚓让。

Ingest Node和Logstash雖然在功能上有很多重疊乾忱,但是仍有各自的特點(diǎn),在實(shí)際的業(yè)務(wù)場(chǎng)景中历极,可以根據(jù)業(yè)務(wù)需要靈活選擇窄瘟。

歡迎關(guān)注公眾號(hào)Elastic慕容,和我一起進(jìn)入Elastic的奇妙世界吧

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末趟卸,一起剝皮案震驚了整個(gè)濱河市蹄葱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锄列,老刑警劉巖图云,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異邻邮,居然都是意外死亡竣况,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)筒严,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)丹泉,“玉大人,你說(shuō)我怎么就攤上這事鸭蛙∴值В” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵规惰,是天一觀(guān)的道長(zhǎng)睬塌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)歇万,這世上最難降的妖魔是什么揩晴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮贪磺,結(jié)果婚禮上硫兰,老公的妹妹穿的比我還像新娘。我一直安慰自己寒锚,他們只是感情好劫映,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布违孝。 她就那樣靜靜地躺著,像睡著了一般泳赋。 火紅的嫁衣襯著肌膚如雪雌桑。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天祖今,我揣著相機(jī)與錄音校坑,去河邊找鬼。 笑死千诬,一個(gè)胖子當(dāng)著我的面吹牛耍目,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播徐绑,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼邪驮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了傲茄?” 一聲冷哼從身側(cè)響起耕捞,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎烫幕,沒(méi)想到半個(gè)月后俺抽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡较曼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年磷斧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捷犹。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弛饭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萍歉,到底是詐尸還是另有隱情侣颂,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布枪孩,位于F島的核電站憔晒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蔑舞。R本人自食惡果不足惜拒担,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望攻询。 院中可真熱鬧从撼,春花似錦、人聲如沸钧栖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至掏婶,卻和暖如春啃奴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背气堕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留畔咧,地道東北人茎芭。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像誓沸,于是被迫代替她去往敵國(guó)和親梅桩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容