2012-12-11 115 views
5

我正在構建一個日誌查看實用程序,它將處理日誌TB中的實時搜索。我決定將日誌存儲在Solr中,並將其用作搜索引擎。我將在項目中使用Django作爲框架。爲了與Django一起使用Solr,我看到有乾草堆。現在我的架構會是這樣的。Django,Haystack,Solr,MongoDB體系結構決策

   Store Index   Search    Show 
Log Stream ----------------> Solr --------> Haystack ------> Django 

我的日誌是普通的linux服務器日誌,比如網絡,操作系統,錯誤等等。系統日誌正在發送日誌。我將允許基於所有日誌行進行過濾。我將允許列排序,爲前:IP列,日期列等

實例日誌:

Dec 11 13:24:03 2012 [firewall] R0 SRC=192.168.9.11 DST=192.168.11.29 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=36904 DPT=161 LEN=63 

我想問的是它更好地使用MongoDB的存儲,過濾和日誌中搜索或Solr會做得更好。 Elasticsearch也進入我的腦海。在這種情況下你會選擇什麼。

在此先感謝。

+0

爲什麼你需要MongoDB? Solr正在爲您存儲日誌。 –

+0

例如這裏:http://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data 他們使用hdfs來存儲我用MongoDB替換它的日誌。 Solr只是索引。 – denizeren

+0

看來我不需要MongoDB,如這裏所示http://graylog2.org/about只有搜索引擎就足夠了。 – denizeren

回答

3

爲什麼重新發明輪子?有Logstash,有一個驚人的接口:Kibana。你可以使用rsyslog來提供它。但是,如果您確實需要/需要重新實現日誌服務器,Logstash會使用ElasticSearch。我會和它一起去的。

+0

它是我的高級項目,所以我必須這樣做:) – denizeren