簡體   English   中英

是否可以為 Elasticsearch 維護從 FileBeat 到 LogStash 的索引名稱?

[英]Is it possible to maintain the index name from FileBeat to LogStash for Elasticsearch?

我對 ELK 真的很陌生,我已經設置了一個 ELK 堆棧,FileBeat 將日志發送到 LogStash 進行一些處理,然后輸出到 Elasticsearch。

我想知道是否可以將 filebeat.yml 中設置的索引名稱一直保持到 Elasticsearch。 我想要它的原因是因為我想要生成日志的不同類型的應用服務器的多個索引。 如果我在logstash.conf 中省略了索引,則它是默認值; 但如果我指定一些東西,顯然這會生效。 我只是想讓它使用 FileBeat 中設置的內容。

或者有什么方法可以配置多個輸出部分,其中可以評估日志類型,以便我可以適當地命名它們?

文件節拍.yml

# Optional index name. The default index name is set to filebeat in all lowercase.
  index: "something-%{+yyyy.MM.dd}"

日志文件

output {
  elasticsearch { 
    hosts => ["somehost:12345"]
    index => "my_filebeat_index_name_would_be_preferred-%{+yyyy-MM-dd}"
  }
}

我想繼續使用 LogStash,因為我有自定義 GROK 模式等,而不是直接使用 Elastic。 任何幫助將不勝感激。

謝謝。

您可以在 filebeat.yml 中指定的索引名稱僅適用於 elasticsearch 輸出,因為 filebeat 直接連接到您的集群。 但是,如果您使用 Logstash 作為您的文件節拍目標,這是不可能的。

問:或者有什么方法可以配置多個輸出部分,在這些部分可以評估日志類型,以便我可以適當地命名它們?

是的,這在 Logstash 管道中是絕對可能的(並且有些常見)。 因此,首先您需要為日志設置某些標准/標記,以便讓 Logstash 選擇正確的 elasticsearch 輸出(以及正確的索引)。 您可以通過標簽實現這一點。 因此,例如所有類別 A 的日志/事件都獲得標簽“tag_A”(您可以在特定日志輸入中或一般在 filebeat.yml 中為每個日志源單獨設置它們)。

下一步是在 logstash 管道中實現標簽值的評估。 你會這樣做:

output{
  if "tag_A" in [tags]{
    elasticsearch {
      hosts => ["somehost:12345"]
      index => "index-A-%{+yyyy-MM-dd}"
    }
  }
  else if "tag_B" in [tags]{
    elasticsearch {
      hosts => ["somehost:12345"]
      index => "index-B-%{+yyyy-MM-dd}"
    }
  }
}

這種 if-else 結構使您可以將數據索引到各種索引中。

我希望我能幫助你。

編輯:

您的評估不僅限於標簽。 您可以評估文檔中包含的任何字段,例如文件名、主機名等。

您可能想看看這個參考( https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html )關於如何在 Logstash 中訪問字段值、執行條件等配置。

編輯2:

更復雜的方法是向包含確切目標索引名稱的文檔添加一個字段(通過日志輸入或 filebeat.yml 中的字段選項)。 使用這種方法,不再需要在 Logstash 管道中進行評估,因為您可以從字段值動態設置索引設置的值。

假設您標記此字段destination_index那么您可以實現如下輸出插件:

output{
  if [destination_index]{   #optional check for field's existance in document
    elasticsearch {
      hosts => ["somehost:12345"]
      index => "%{[destination_index]}-%{+yyyy-MM-dd}"
    }
  }
}

暫無
暫無

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

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