2014-07-11 28 views
-2

我們有一些Python的服務,其中許多使用Nginx的反向代理。現在,我們通過拖拽/var/log/nginx/access.log中的日誌來實時檢查請求。我想讓這些日誌在Web服務器上公開可讀,所以人們不必通過SSH連接到單個機器。A可實時儀表盤日誌

我們目前的基礎設施已經很流利(我聽說有一個類似於logstash的工具)將日誌發送到一個集中的統計服務器,該服務器安裝了Elasticsearch和kibana,並且認爲kibana將作爲查看我們的前端日誌。

我什麼都不知道這些服務。如果我想實時查看我們的日誌,這個堆棧甚至可行嗎? Elasticsearch可以提供只有短暫延遲的實時數據嗎? kibana是否有開箱即用的功能,用於在新的日誌數據進入時自動更新頁面(即,它是否與elasticsearch有套接字連接?或者我是否陷入了錯誤的工具集?

+0

您可以通過閱讀[各個組件的文檔](http://www.elasticsearch.org/overview/kibana/)來回答您的問題,我不確定發佈您的問題的意義這裏。 –

+0

我不同意。我閱讀了所有內容,但留下了大多數人用它來分析舊日誌數據的意義。 '實時'這個詞被拋出,但我沒有得到任何我期待的好例子。因此來到這裏,希望有經驗的人在我的確切情況下。 – user1427661

回答

1

Kibana is just這是一個彈性搜索界面,它直接與對話,因此它的數據實際爲,因爲您輸入的數據是elasticsearch。換句話說,它只與您的收藏家一樣好(在您的情況)。

它的工作原理有你定義它使用查詢到彈性搜索數據,然後你可以把它隨時搜索關鍵字,然後可視化數據的時間序列。

如果「實時」你的意思是你想要的圖形移動/動畫 - 這也是可能的(其被稱爲「流儀表盤」);但這不是kibana的真正力量 - 真正的力量是一個非常豐富的查詢引擎,深入到時間序列,做計算(y期的頂部x)。

如果所有你想要的是一個很好的視覺/移動的東西放置在牆上的電視 - 這可能與kibana,但請記住,你必須存儲在elasticsearch的一切,所以除非你打算做一些其他分析,你必須調整你的配置。例如,消息的TTL非常短,因此一旦它們可視化,它們就不再可用;或過濾器fluentd只發送你想要繪製的事件。否則,您將遇到磁盤空間問題。

如果這是所有你想要的,這將是一個更容易抓住一些javascript圖表庫和使用,在您的門戶網站。

1

我有「的access.log(或其他日誌) - logstash(或其他ES索引) - Kibana」管道設置了多項服務和日誌和它工作得很好。在我們的例子中,它有超過一秒的延遲,但這是因爲在日誌或ES索引器中緩衝,而不是因爲Kibana/ES本身。

您可以設置Kibana只顯示數據的最後X分鐘刷新一次Y秒,這給出了一個體面的實時感受 - 並期待在電視上不錯;)

記住Kibana有時可發出可能會導致ES羣集崩潰的非常糟糕的查詢(儘管這在最近的ES和Kibana版本中似乎有了很大的改進),所以不要依賴它作爲日誌的永久性數據存儲,並且不要共享ES羣集用於具有更強大高可用性需求的應用程序的Kibana。

正如Burhan Khalid指出的那樣,這種設置還使我們能夠深入細緻地研究特定模式,這非常有用(「此圖上的這個尖峯是什麼?」 - 放大,添加一對過濾器,看看幾個例子的日誌行,再次過濾 - 神祕解決了)。我認爲當我們發現奇怪的東西實際上是這個解決方案的最佳部分時,我們不必去挖掘其他地方去獲得更多細節。