2014-09-01 62 views
2

我們正在設置幾個相關應用程序的日誌,以便將日誌事件導入Elasticsearch(通過Logstash)。創建Kibana儀表板可以直觀地顯示每個應用程序的日誌索引,但由於應用程序是相關的,並且它們的活動屬於同一管道,因此建立儀表板可以顯示從不同應用程序收集的聚合信息,這將非常棒。這樣的儀表板對跟蹤故障和性能問題特別有用。眼下如何彙總來自多個Elasticsearch索引的Kibana信息?

我可以看到實現儀表盤彙總方式主要有三種:

  1. 保持獨立的應用程序日誌,並配置Kibana儀表板,將消耗來自不同應用程序的信息。恐怕這可能是一項具有挑戰性的任務,我甚至不確定基巴納是否完全支持它。
  2. 修改應用程序日誌記錄,以便它們都記錄到相同的索引。我不喜歡的是,日誌事件結構必須在不同應用程序之間統一起來,而且它們是由不同語言的不同人員構建的。我失去了對集中控制日誌等低級細節的信心。
  3. 保持現在的應用程序日誌和相應的Elastichsearch索引,但設置了一個包含聚合信息的新索引。 This article描述瞭如何配置Elasticsearch以將其日誌轉儲到Logstash,Logstash然後將它們插回Elasticsearch進行搜索。乍一看,這種方法可能看起來令人驚訝:爲什麼您需要再次將日誌數據重新插入到同一個數據庫中?這是另一個索引,它增加了開銷,使用了更多的空間等等。但它提供了以適合聚合的Kibana儀表板的方式設置索引的機會。

我不知道是否有人經歷過類似的困境,可以分享他們的經驗。

+0

我還沒有嘗試過這個,我不知道它是否可以工作,所以把它看作是值得的...你可以嘗試設置一個別名,指向你希望作爲一個單獨查看的不同索引索引,然後告訴kibana使用它作爲你的索引。 – Alcanzar 2014-09-02 13:59:30

+0

@Alcanzar,謝謝你的提示。這很有趣,我會研究它,儘管我懷疑我們需要重新整理被聚合的數據。 – 2014-09-02 14:10:03

+0

這不就是一個部落嗎? – 2015-02-19 19:54:55

回答

3

如果您不打算使用時間戳指數,我相信您可以將默認索引設置爲_all

使用菜單,轉到配置,單擊索引選項卡,並將時間戳設置爲「無」,並將默認索引設置爲_all。該JSON模式最終會包含這樣的:

"index": { 
    "interval": "none", 
    "pattern": "[logstash-]YYYY.MM.DD", 
    "default": "_all", 
    "warm_fields": false 
    }, 

如果需要時間戳的指標,你就需要選擇選擇恰當的間隔,並輸入一個逗號分隔的索引列表,每個以正確的格式指定。

+0

是的,那麼我可以彙總來自所有索引的數據。但問題是由不同的應用程序生成的索引會以不同的方式引用特定的東西,所以我將不得不爲所有應用程序使用公共約定或從這些索引構建另一個索引。我想弄清楚什麼是最好的。 – 2014-09-03 07:03:40

+0

啊,我明白了。我會繼續設定慣例,而不是將事物移植到新索引。 – bpeirce 2014-09-03 16:57:54

1

我們面臨同樣的問題,但以不同的視角。

我需要從Kibana中的2個索引獲取數據。我們的數據結構在兩個指數中都是相同的。

所以,我手動添加第二個索引(部分設置 - >對象):

{ 
    "index": [ 
    "index_one", 
    "index_two" 
    ], 
... 
} 

它幫助我從那些我需要索引獲取數據。

相關問題