簡體   English   中英

如何在多個Elasticsearch索引中聚合Kibana信息?

[英]How to aggregate in Kibana information from multiple Elasticsearch indexes?

我們正在從幾個相關應用程序設置日志,以便將日志事件導入Elasticsearch(通過Logstash)。 可以直接創建Kibana儀表板來顯示每個應用程序的日志索引,但由於應用程序是相關的,並且其活動屬於同一個管道,因此構建一個顯示從不同應用程序收集的聚合信息的儀表板會很棒。 這樣的儀表板對於跟蹤故障和性能問題特別有用。

現在我可以看到實現聚合儀表板的三種主要方法:

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

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

我相信如果你不打算使用帶時間戳的索引,你可以將默認索引設置為_all

使用菜單,轉到“配置”,單擊“索引”選項卡,然后將“時間戳”設置為“無”,將“默認索引”設置為_all JSON模式最終將包含以下內容:

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

如果需要帶時間戳的索引,則需要選擇適當的間隔並輸入以逗號分隔的索引列表,每個索引都以正確的格式指定。

我們面臨同樣的問題,但從不同的角度來看。

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

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

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

它幫助我從我需要的那些指數中獲取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM