日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

發(fā)布時(shí)間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

本文就架構(gòu),功能,產(chǎn)品線,概念等方面就ElasticSearch和Splunk做了一下全方位的對(duì)比,希望能夠大家在制定大數(shù)據(jù)搜索方案的時(shí)候有所幫助。

簡(jiǎn)介

ElasticSearch (1)(2)是一個(gè)基于Lucene的開(kāi)源搜索服務(wù)。它提供了一個(gè)分布式多用戶(hù)能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開(kāi)發(fā)的,并作為Apache許可條款下的開(kāi)放源碼發(fā)布,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。設(shè)計(jì)用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。

ELK是ElasticSearch,Logstash,Kibana的縮寫(xiě),分別提供搜索,數(shù)據(jù)接入和可視化功能,構(gòu)成了Elastic的應(yīng)用棧。

Splunk?是大數(shù)據(jù)領(lǐng)域第一家在納斯達(dá)克上市公司,Splunk提供一個(gè)機(jī)器數(shù)據(jù)的引擎。使用 Splunk 可收集、索引和利用所有應(yīng)用程序、服務(wù)器和設(shè)備(物理、虛擬和云中)生成的快速移動(dòng)型計(jì)算機(jī)數(shù)據(jù) 。從一個(gè)位置搜索并分析所有實(shí)時(shí)和歷史數(shù)據(jù)。 使用 Splunk?處理計(jì)算機(jī)數(shù)據(jù),可讓您在幾分鐘內(nèi)(而不是幾個(gè)小時(shí)或幾天)解決問(wèn)題和調(diào)查安全事件。監(jiān)視您的端對(duì)端基礎(chǔ)結(jié)構(gòu),避免服務(wù)性能降低或中斷。以較低成本滿(mǎn)足合規(guī)性要求。關(guān)聯(lián)并分析跨越多個(gè)系統(tǒng)的復(fù)雜事件。獲取新層次的運(yùn)營(yíng)可見(jiàn)性以及 IT 和業(yè)務(wù)智能。

根據(jù)最新的數(shù)據(jù)庫(kù)引擎排名顯示,Elastic,Solr和Splunk分別占據(jù)了數(shù)據(jù)庫(kù)搜索引擎的前三位。

從趨勢(shì)上來(lái)看,Elastic和Splunk上升明顯,Elastic更是表現(xiàn)出了非常強(qiáng)勁的勢(shì)頭。

基本概念

Elastic

  • 準(zhǔn)實(shí)時(shí)(NRT)
    Elasticsearch是一個(gè)準(zhǔn)實(shí)時(shí)性的搜索平臺(tái),從數(shù)據(jù)索引到數(shù)據(jù)可以被搜索存在一定的時(shí)延。
  • 索引(Index)
    索引是有共同特性的文檔的集合,索引有自己的名字,可以對(duì)索引執(zhí)行搜索,更新,刪除等操作。
  • 類(lèi)型(Type)
    每個(gè)索引可以包含一個(gè)或者多個(gè)類(lèi)型,類(lèi)型可以看作一個(gè)索引數(shù)據(jù)的邏輯分組,通常我們會(huì)把擁有相同字段的文檔定義為同一個(gè)類(lèi)型。
  • 文檔(Document)
    文檔是索引信息的基本單元。Elastic中文檔表現(xiàn)為JSON對(duì)象,文檔物理存貯在索引中,并需要被制定一個(gè)類(lèi)型。因?yàn)楸憩F(xiàn)為JSON, 很自然的,文檔是由一個(gè)個(gè)的字段(Feilds)組成,每個(gè)字段是一個(gè)名值對(duì)(Name Value Pair)
  • 評(píng)分(score)
    Elastic是基于Lucene構(gòu)建的,所以搜索的結(jié)果會(huì)有一個(gè)打分。來(lái)評(píng)價(jià)搜索結(jié)果和查詢(xún)的相關(guān)性。

下圖是一個(gè)Elastic的搜索在Kibana中看到的例子,原始的數(shù)據(jù)是一個(gè)簡(jiǎn)單的日志文件:

我們通過(guò)logstash索引到Elasticsearch后,就可以搜索了。

Splunk

  • 實(shí)時(shí)性
    Splunk同樣是準(zhǔn)實(shí)時(shí)的,Splunk的實(shí)時(shí)搜索(Realtime Search)可以提供不間斷的搜索結(jié)果的數(shù)據(jù)流。
  • 事件(Event)
    對(duì)應(yīng)于Elastic的文檔,Splunk的數(shù)據(jù)索引的基本單元是事件,每一個(gè)事件包含了一組值,字段,時(shí)間戳。Splunk的事件可以是一段文本,一個(gè)配置文件,一段日志或者JSON對(duì)象。
  • 字段(Fields)
    字段是可以被搜索的名值對(duì),不同的事件可能擁有不同的字段。Splunk支持索引時(shí)(index time)和搜索時(shí)(search time)的字段抽取(fields extraction)
  • 索引(Indexes)
    類(lèi)似Elastic的索引,所有的事件物理存儲(chǔ)在索引上,可以把索引理解為一個(gè)數(shù)據(jù)庫(kù)的表。
  • 知識(shí)對(duì)象(Knowledge Object)
    Splunk的知識(shí)對(duì)象提供對(duì)數(shù)據(jù)進(jìn)一步的解釋,分類(lèi),增強(qiáng)等功能,包括:字段(fields),字段抽取(fields extraction),事件類(lèi)型(event type),事務(wù)(transaction),查找(lookups),標(biāo)簽(tags),別名(aliases),數(shù)據(jù)模型(data model)等等。

下圖是一個(gè)Splunk的搜索在Splunk客戶(hù)端看到的和前一個(gè)例子同樣的日志數(shù)據(jù)的搜索結(jié)果。

從基本概念上來(lái)看,Elasticsearch和Splunk基本一致。從例子中我們可以看到很多的共性,事件/文檔,時(shí)間戳,字段,搜索,時(shí)間軸圖等等。其中有幾個(gè)主要的差別:

  • Elastic不支持搜索時(shí)的字段抽取,也就是說(shuō)Elastic的文檔中的所有字段在索引時(shí)已經(jīng)固定了,而Splunk支持在搜索時(shí),動(dòng)態(tài)的抽取新的字段
  • Elastic的搜索是基于評(píng)分機(jī)制的,搜索的結(jié)果有一個(gè)打分,而Splunk沒(méi)有對(duì)搜索結(jié)果評(píng)分
  • Splunk的知識(shí)對(duì)象可以提供對(duì)數(shù)據(jù)更高級(jí),更靈活的管理能力。

用戶(hù)接口

ElasticSearch提供REST API來(lái)進(jìn)行

  • 集群的管理,監(jiān)控,健康檢查
  • 索引的管理(CURD)
  • 搜索的執(zhí)行,包括排序,分頁(yè),過(guò)濾,腳本,聚合等等高級(jí)的搜索功能。

Elasticsearch 本身并沒(méi)有提供任何UI的功能,搜索可以用Kibana,但是沒(méi)有管理UI還是讓人不爽的,好在開(kāi)源的好處就是會(huì)有很多的開(kāi)發(fā)者來(lái)構(gòu)建缺失的功能:

  • ElasticHQ
  • cerebro?(推薦,界面干凈,我喜歡)
  • dejavu

另一選擇就是安裝X-Pack,這個(gè)是要收費(fèi)的。

Splunk作為企業(yè)軟件,管理及訪問(wèn)接口比較豐富,除了REST API 和命令行接口,Splunk的UI非常友好易用,基本上所有的功能都能通過(guò)集成的UI來(lái)使用。同時(shí)提供以下接口

  • REST API
  • Splunk UI
  • CLI

功能

數(shù)據(jù)接入和獲取

Elastic棧使用Logstash和Beats來(lái)進(jìn)行數(shù)據(jù)的消化和獲取。

Logstash用jruby實(shí)現(xiàn),有點(diǎn)像一個(gè)數(shù)據(jù)管道,把輸入的數(shù)據(jù)進(jìn)行處理,變形,過(guò)濾,然后輸出到其它地方。Logstash 設(shè)計(jì)了自己的 DSL,包括有區(qū)域,注釋,數(shù)據(jù)類(lèi)型(布爾值,字符串,數(shù)值,數(shù)組,哈希),條件判斷,字段引用等。

Logstash的數(shù)據(jù)管道包含三個(gè)步驟,Input,Filter和Output,每一步都可以通過(guò)plugin來(lái)擴(kuò)展。另外Input和Output還支持配置Codecs,完成對(duì)輸入輸出數(shù)據(jù)的編解碼工作。

Logstash支持的常見(jiàn)的Input包含F(xiàn)ile,syslog,beats等。Filter中主要完成數(shù)據(jù)的變形處理,可以增刪改字段,加標(biāo)簽,等等。作為一個(gè)開(kāi)源軟件,Output不僅僅支持ElasticSearch,還可以和許多其它軟件集成和目標(biāo),Output可以是文件,graphite,數(shù)據(jù)庫(kù),Nagios,S3,Hadoop等。

在實(shí)際運(yùn)用中,logstash 進(jìn)程會(huì)被分為兩個(gè)不同的角色。運(yùn)行在應(yīng)用服務(wù)器上的,盡量減輕運(yùn)行壓力,只做讀取和轉(zhuǎn)發(fā),這個(gè)角色叫做 shipper;運(yùn)行在獨(dú)立服務(wù)器上,完成數(shù)據(jù)解析處理,負(fù)責(zé)寫(xiě)入 Elasticsearch 的角色,叫 indexer。

logstash 作為無(wú)狀態(tài)的軟件,配合消息隊(duì)列系統(tǒng),可以很輕松的做到線性擴(kuò)展

Beats是 Elastic?從 packetbeat 發(fā)展出來(lái)的數(shù)據(jù)收集器系統(tǒng)。beat 收集器可以直接寫(xiě)入 Elasticsearch,也可以傳輸給 Logstash。其中抽象出來(lái)的 libbeat,提供了統(tǒng)一的數(shù)據(jù)發(fā)送方法,輸入配置解析,日志記錄框架等功能。

開(kāi)源社區(qū)已經(jīng)貢獻(xiàn)了許多的beats種類(lèi)。

因?yàn)锽eats是使用Golang編寫(xiě)的,效率上很不錯(cuò)。

Splunk使用Farwarder和Add-ons來(lái)進(jìn)行數(shù)據(jù)的消化和獲取。

Splunk內(nèi)置了對(duì)文件,syslog,網(wǎng)絡(luò)端口等input的處理。當(dāng)配置某個(gè)節(jié)點(diǎn)為Forwarder的時(shí)候,Splunk Forwarder可以作為一個(gè)數(shù)據(jù)通道把數(shù)據(jù)發(fā)送到配置好的indexer去。這時(shí)候,它就類(lèi)似logstash。這里一個(gè)主要的區(qū)別就是對(duì)數(shù)據(jù)字段的抽取,Elastic必須在logstash中通過(guò)filter配置或者擴(kuò)展來(lái)做,也就是我們所說(shuō)的Index time抽取,抽取后不能改變。Splunk支持Index time的抽取,但是更多時(shí)候,Splunk 在index time并不抽取而是等到搜索是在決定如何抽取字段。

對(duì)于特定領(lǐng)域的數(shù)據(jù)獲取,Splunk是用Add-on的形式。Splunk 的App市場(chǎng)上有超過(guò)600個(gè)不同種類(lèi)的Add-on。

用戶(hù)可以通過(guò)特定的Add-on或者自己開(kāi)發(fā)Add-on來(lái)獲取特定的數(shù)據(jù)。

對(duì)于大數(shù)據(jù)的數(shù)據(jù)采集,大家也可以參考我的另一篇博客。

數(shù)據(jù)管理和存儲(chǔ)

ElasticSearch的數(shù)據(jù)存貯模型來(lái)自于Lucene,基本原理是實(shí)用了倒排表。大家可以參考這篇文章。

Splunk的核心同樣是倒排表,推薦大家看這篇去年Splunk Conf上的介紹,Behind the Magnifying Glass: How Search Works

Splunk的Event存在許多Buckets中,多個(gè)Buckets構(gòu)成邏輯分組的索引分布在Indexer上。

每個(gè)Bucket中都是倒排表的結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),原始數(shù)據(jù)通過(guò)gzip壓縮。

搜索時(shí),利用Bloom filter定位數(shù)據(jù)所在的bucket。

在對(duì)數(shù)據(jù)的存儲(chǔ)管理上,Elastic 和Splunk都是利用了倒排表。Splunk對(duì)數(shù)據(jù)進(jìn)行壓縮,所以存儲(chǔ)空間的占用要少很多,尤其考慮到大部分?jǐn)?shù)據(jù)是文本,壓縮比很高的,當(dāng)然這會(huì)損失一部分性能用于數(shù)據(jù)的解壓。

數(shù)據(jù)分析和處理

對(duì)數(shù)據(jù)的處理分析,ElasticSearch主要使用 Search API來(lái)實(shí)現(xiàn)。而Splunk則提供了非常強(qiáng)大的SPL,相比起ES的Search API,Splunk的SPL要好用很多,可以說(shuō)SPL就是非結(jié)構(gòu)化數(shù)據(jù)的SQL。無(wú)論是利用SPL來(lái)開(kāi)發(fā)分析應(yīng)用,還是直接在Splunk UI上用SPL來(lái)處理數(shù)據(jù),SPL都非常易用。開(kāi)源社區(qū)也在試圖為Elastic增加類(lèi)似SPL的DSL來(lái)改善數(shù)據(jù)處理的易用性。例如:

  • https://github.com/chenryn/ESPL

?從這篇反饋可以看出,ES的search還有許多的不足。

作為對(duì)此的響應(yīng),Elastic推出了painless script,該功能還處于實(shí)驗(yàn)階段。

數(shù)據(jù)展現(xiàn)和可視化

Kibana是一個(gè)針對(duì)Elasticsearch的開(kāi)源分析及可視化平臺(tái),用來(lái)搜索、查看交互存儲(chǔ)在Elasticsearch索引中的數(shù)據(jù)。使用Kibana,可以通過(guò)各種圖表進(jìn)行高級(jí)數(shù)據(jù)分析及展示。

Splunk集成了非常方便的數(shù)據(jù)可視化和儀表盤(pán)功能,對(duì)于SPL的結(jié)果,可以非常方便的通過(guò)UI的簡(jiǎn)單設(shè)置進(jìn)行可視化的分析,導(dǎo)出到儀表盤(pán)。

下圖的比較來(lái)自https://www.itcentralstation.com/products/comparisons/kibana_vs_splunk

在數(shù)據(jù)可視化的領(lǐng)域的排名,Splunk僅僅落后于Tableau而已

擴(kuò)展性

從擴(kuò)展性的角度來(lái)看,兩個(gè)平臺(tái)都擁有非常好的擴(kuò)展性。

Elastic棧作為一個(gè)開(kāi)源棧,很容易通過(guò)Plugin的方式擴(kuò)展。包括:

  • ElasticSearch Plugin?
  • Kibana Plugin
  • Logstash Plugin
  • Beats Platform

Splunk提供一系列的擴(kuò)展點(diǎn)支持應(yīng)用和Add-on的開(kāi)發(fā), 在http://dev.splunk.com/可以找到更多的信息和文檔。包括:

  • Web Framework
  • SDK
  • Modular Input
  • ... ...

比起Elastic的Plugin,Splunk的擴(kuò)展概念上比較復(fù)雜,開(kāi)發(fā)一個(gè)App或者Add-on的門(mén)檻都要相對(duì)高一些。做為一個(gè)數(shù)據(jù)平臺(tái),Splunk應(yīng)該在擴(kuò)展性上有所改進(jìn),使得擴(kuò)展變的更為容易和簡(jiǎn)單。

架構(gòu)

Elastic Stack

如上圖所示,ELK是一套棧,Logstash提供數(shù)據(jù)的消化和獲取,Elasticsearch對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),索引和搜索,而Kibana提供數(shù)據(jù)可視化和報(bào)表的功能。

Splunk

Splunk的架構(gòu)主要有三個(gè)角色:

  • Indexer
    Indexer提供數(shù)據(jù)的存儲(chǔ),索引,類(lèi)似Elasticsearch的作用
  • Search Head
    Search Head負(fù)責(zé)搜素,客戶(hù)接入,從功能上看,一部分是Kibana,因?yàn)镾plunk的UI是運(yùn)行在Search Head上的,提供所有的客戶(hù)端和可視化的功能,還有一部分,是提供分布式的搜索功能,包含對(duì)搜索的分發(fā)到Indexer和搜索結(jié)果的合并,這一部分功能對(duì)應(yīng)在Elasticsearch上。
  • Forwarder
    Splunk的Forwarder負(fù)責(zé)數(shù)據(jù)接入,類(lèi)似Logstash

除了以上的三個(gè)主要的角色,Splunk的架構(gòu)中還有:Deployment Server,License Server,Master Cluster Node,Deployer等。

Splunk和ELK的基本架構(gòu)非常類(lèi)似,但是ELK的架構(gòu)更為簡(jiǎn)單和清楚,Logstash負(fù)責(zé)數(shù)據(jù)接入,Kibana負(fù)責(zé)數(shù)據(jù)展現(xiàn),所有的復(fù)雜性在Elasticsearch中。Splunk的架構(gòu)更為復(fù)雜一些,角色的類(lèi)型也更多一些。

如果裝單機(jī)版本,Splunk更容易,因?yàn)樗械墓δ芤淮涡跃脱b好了,而ELK則必須分別安裝E/L/K,從這一點(diǎn)上來(lái)看,Splunk有一定的優(yōu)勢(shì)。

分布集群和擴(kuò)展性

ElasticSearch

ElasticSearch是為分布式設(shè)計(jì)的,有很好的擴(kuò)展性,在一個(gè)典型的分布式配置中,每一個(gè)節(jié)點(diǎn)(node)可以配制成不同的角色,如上圖所示:

  • Client Node,負(fù)責(zé)API和數(shù)據(jù)的訪問(wèn)的節(jié)點(diǎn),不存儲(chǔ)/處理數(shù)據(jù)
  • Data Node,負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和索引
  • Master Node, 管理節(jié)點(diǎn),負(fù)責(zé)Cluster中的節(jié)點(diǎn)的協(xié)調(diào),不存儲(chǔ)數(shù)據(jù)。

每一種角色可以通過(guò)ElasticSearch的配置文件或者環(huán)境變量來(lái)配置。每一種角色都可以很方便的Scale,因?yàn)镋lastic采用了對(duì)等性的設(shè)計(jì),也就是所有的角色是平等的,(Master Node會(huì)進(jìn)行Leader Election,其中有一個(gè)是領(lǐng)導(dǎo)者)這樣的設(shè)計(jì)使得在集群環(huán)境的伸縮性非常好,尤其是在容器環(huán)境,例如Docker Swarm或者Kubernetes中使用。

參考:

  • https://elk-docker.readthedocs.io/#elasticsearch-cluster
  • https://github.com/pires/kubernetes-elasticsearch-cluster

Splunk

Splunk作為企業(yè)級(jí)的分布式機(jī)器數(shù)據(jù)的平臺(tái),擁有強(qiáng)大的分布式配置,包括跨數(shù)據(jù)中心的集群配置。Splunk提供兩種集群,Indexer集群和Search Head集群。

Splunk?Indexer集群

如上圖所示,Splunk的indexer集群主要由三種角色:

  • Master Node,Master Node負(fù)責(zé)管理和協(xié)調(diào)整個(gè)的集群,類(lèi)似ES的Master。但是只有一個(gè)節(jié)點(diǎn),不支持多Master(最新版本6.6)。Master Node負(fù)責(zé)
    • 協(xié)調(diào)Peer Node之間的數(shù)據(jù)復(fù)制
    • 告訴Search Head數(shù)據(jù)在哪里
    • Peer Node的配置管理
    • Peer Node故障時(shí)的故障恢復(fù)
  • Peer Nodes,負(fù)責(zé)數(shù)據(jù)索引,類(lèi)似ES的Data Node,Peer Node負(fù)責(zé)
    • 存儲(chǔ)索引數(shù)據(jù)
    • 發(fā)送/接收復(fù)制數(shù)據(jù)到其他Peer節(jié)點(diǎn)
    • 響應(yīng)搜索請(qǐng)求
  • Search Head,負(fù)責(zé)數(shù)據(jù)的搜索和客戶(hù)端API訪問(wèn),類(lèi)似ES的Client Node,但不完全相同。Search Head負(fù)責(zé)發(fā)送搜索請(qǐng)求到Peer Nodes,并對(duì)搜索的結(jié)果進(jìn)行合并。

有人會(huì)問(wèn),那Master是不是集群中的單點(diǎn)故障?What if Master node goes down?Splunk的回答是否。即使Master 節(jié)點(diǎn)出現(xiàn)故障,Peer Nodes仍然可以正常工作,除非,同時(shí)有Peer Node出現(xiàn)故障。

  • http://docs.splunk.com/Documentation/Splunk/6.6.1/Indexer/Whathappenswhenamasternodegoesdown
  • https://answers.splunk.com/answers/129446/why-does-master-node-continue-to-be-single-point-of-failure-in-clustering.html

Splunk Search Header 集群

Search Head集群是由一組Search Head組成,它們共享配置,搜索任務(wù)等狀態(tài)。該Cluster主要有以下角色:

  • Deployer, 負(fù)責(zé)分發(fā)狀態(tài)和應(yīng)用到peers
  • Cluster Member,其中有一個(gè)是Captain,負(fù)責(zé)協(xié)調(diào)。Cluster Memeber之間會(huì)互相通信,來(lái)保證狀態(tài)一致。Load Balancer是個(gè)可選項(xiàng),可以負(fù)責(zé)Search的接入。
  • Search Peers,負(fù)責(zé)數(shù)據(jù)索引的?Indexer Nodes

另外Splunk還曾經(jīng)提供過(guò)一個(gè)功能叫做Search Head Pooling,不過(guò)現(xiàn)在已經(jīng)Depecated了。

Indexer集群可以和Search Head集群一起配置,構(gòu)成一個(gè)分布式的Splunk配置。

相比較ES的相對(duì)比較簡(jiǎn)單的集群配置,Splunk的集群配置比較復(fù)雜,ES中所有每一個(gè)節(jié)點(diǎn)可以靈活的配置角色,并且可以相對(duì)比較容易的擴(kuò)展,利用例如Kubernetes的Pod的復(fù)制可以很容易的擴(kuò)展每一個(gè)角色。擴(kuò)展Splunk相對(duì)比較困難,要做到動(dòng)態(tài)的伸縮,需要比較復(fù)雜的配置。大家可以參考這里,在容器環(huán)境里配置一個(gè)Splunk的集群需要比較多的布置,例如在這個(gè)Master的配置中,用戶(hù)需要考慮:

  • 如何配置License
  • 修改缺省的用戶(hù)名口令
  • 為每一個(gè)Search Head配置Search Head Cluster
  • 等待Splunk進(jìn)程成功啟動(dòng)
  • 配置業(yè)務(wù)發(fā)現(xiàn)
  • 安裝應(yīng)用
  • ... ...

并且集群的擴(kuò)展很難直接利用容器編排平臺(tái)提供的擴(kuò)展接口,這一點(diǎn)Splunk還有很多提高的空間。

產(chǎn)品線

Elastic

Elastic的產(chǎn)品線除了大家熟悉的ELK(ElasticSearch,Logstash,Kikana),主要包含

  • Beats?Beats是一個(gè)開(kāi)源組件,提供一個(gè)代理,把本地抓到的數(shù)據(jù)傳送到ElasticSearch
  • Elastic Cloud, Elasti提供的云服務(wù)
  • X-Pack, Elastic的擴(kuò)展組件,提供安全,告警,監(jiān)控,機(jī)器學(xué)習(xí)和圖處理能力。主要功能需要付費(fèi)使用。

Splunk

Splunk的產(chǎn)品線包括

  • Splunk Enterprise?
  • Splunk Cloud, Splunk運(yùn)營(yíng)的云服務(wù),跑在AWS上
  • Splunk Light,Splunk Light版本,功能有所精簡(jiǎn),面向中小企業(yè)
  • Hunk, Splunk on Hadoop
  • Apps / Add-ons, ?Splunk提供大量的應(yīng)用和數(shù)據(jù)獲取的擴(kuò)展,可以參考?http://apps.splunk.com/
  • Splunk ITSI (IT Service Intelligence), Splunk為IT運(yùn)維專(zhuān)門(mén)開(kāi)發(fā)的產(chǎn)品
  • Splunk ES (Enterprise Security), Splunk為企業(yè)安全開(kāi)發(fā)的產(chǎn)品,這個(gè)是Splunk 公司的拳頭產(chǎn)品,連續(xù)被Gartner評(píng)為SIEM領(lǐng)域的領(lǐng)導(dǎo)者,挑戰(zhàn)了該行業(yè)的傳統(tǒng)巨鱷IBM,HP
  • Splunk UBA (User Behavior Analytic), UBA是Splunk在15年收購(gòu)的Caspidia帶來(lái)的基于機(jī)器學(xué)習(xí)的安全產(chǎn)品。

從產(chǎn)品線的角度來(lái)看,Splunk除了提供基本平臺(tái),在IT運(yùn)維和安全領(lǐng)域都有自己的拳頭產(chǎn)品。Elastic缺乏某個(gè)領(lǐng)域的應(yīng)用。

價(jià)格

價(jià)格是大家非常關(guān)心的一個(gè)因素

Elastic的基本組件都是開(kāi)源的,參看下表,X-pack中的一些高級(jí)功能需要付費(fèi)使用。包含安全,多集群,報(bào)表,監(jiān)控等等。

云服務(wù)的價(jià)格參考下圖,ES的云是按照所使用的資源來(lái)收費(fèi),從這里選取的區(qū)域可以看出,ES的云也是運(yùn)行在AWS上的。下圖中的配置每月需要花費(fèi)200美元左右。(不同區(qū)域的收費(fèi)不同)

同時(shí),除了Elastic自己,還有許多其他公司也提供Elastic Search的云服務(wù),例如Bonsai,Qbox.io等。

Splunk

Splunk Enterprise是按照數(shù)據(jù)每日的流量按年或者無(wú)限制事件付費(fèi),每天1GB的話,每年是2700美元,每個(gè)月也是差不多200塊。如果每天的數(shù)據(jù)量少于500M,可以使用Splunk提供的免費(fèi)License,只是不能用安全,分布式等高級(jí)功能,500M可以做很多事情了。

云服務(wù)的價(jià)格就要便宜多了,每天5GB,每年只要2430元,每個(gè)月不到200塊。當(dāng)然因?yàn)橛?jì)費(fèi)的方式不同,和Elastic的云就不好比較了。另外因?yàn)槭窃贏WS上,中國(guó)的用戶(hù),呵呵了。

總結(jié)

大數(shù)據(jù)的搜索平臺(tái)已經(jīng)成為了眾多企業(yè)的標(biāo)配,Elastic棧和Splunk是其中最為優(yōu)秀和流行的選擇。兩者都有各自的優(yōu)點(diǎn)和值得改進(jìn)的地方。希望本文能夠在你的大數(shù)據(jù)平臺(tái)的選型上,有所幫助。也希望大家來(lái)和我交流,共同成長(zhǎng)。

參考文檔

ELK

  • ElasticSearch 參考文檔https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
  • Github上收集的ElasticSearch相關(guān)開(kāi)源軟件列表?https://github.com/dzharii/awesome-elasticsearch
  • 知乎ElaticSearch專(zhuān)題?https://www.zhihu.com/topic/19899427/hot
  • 中文書(shū)?https://github.com/chenryn/ELKstack-guide-cn
  • 中文書(shū)?https://www.gitbook.com/book/wizardforcel/mastering-elasticsearch/details

Splunk

  • Splunk 文檔?https://docs.splunk.com/Documentation
  • Splunk電子書(shū)?https://www.splunk.com/web_assets/v5/book/Exploring_Splunk.pdf
  • Splunk 開(kāi)發(fā)文檔?http://dev.splunk.com/getstarted
  • Splunk 應(yīng)用市場(chǎng)?http://apps.splunk.com/
  • Splunk 快速參考?https://www.splunk.com/content/dam/splunk2/pdfs/solution-guides/splunk-quick-reference-guide.pdf

其它

  • https://www.upguard.com/articles/splunk-vs-elk
  • https://db-engines.com/en/system/Elasticsearch%3BSplunk
  • https://www.searchtechnologies.com/blog/log-analytics-tools-open-source-vs-commercial
  • http://www.learnsplunk.com/splunk-vs-elk-stack.html
  • https://www.slideshare.net/hepterida/splunk-vs-elk
  • http://blog.takipi.com/log-management-tools-face-off-splunk-vs-logstash-vs-sumo-logic/
  • http://blog.takipi.com/splunk-vs-elk-the-log-management-tools-decision-making-guide/
  • https://www.edureka.co/blog/splunk-vs-elk-vs-sumologic
  • https://www.youtube.com/watch?v=ElMZqeogc3w?(請(qǐng)自行翻墻)

轉(zhuǎn)載于:https://my.oschina.net/taogang/blog/983586

總結(jié)

以上是生活随笔為你收集整理的大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。