簡體   English   中英

根據 filebeat 配置中聲明的字段源進行 Logstash 過濾

[英]Logstash filter according to fields source declare in filebeat config

使用 fieldsd 的 Filebeat 日志配置

 input {


 beats
  {
 port => 5042

 }
 }



output {





    if [source] == "access"
{
        elasticsearch {
    hosts => ["16.113.56.102:9200"]
    index => "logstsh-access-nginxlogs-%{+YYYY.MM.dd}"
    }
}

else if [source] == "error"
 {

 elasticsearch {
    hosts => ["16.113.56.102:9200"]
    index => "logstsh-error-nginxlogs-%{+YYYY.MM.dd}"
    }


}       
}

我想使用字段源和在 filebeat 輸入中聲明的字段分離日志文件,因為從 kibana 端,日志的源是訪問/錯誤,但是,logstash 不會將日志傳遞給彈性搜索,我想知道這是聲明來源的正確方法嗎? 我嘗試在輸入部分使用絕對,它就像一個魅力,所以我認為問題出在輸入 filebeat 或 logstash 上。

首先,如果你不需要將數據發送到多個elasticsearch集群,我建議你使用一個output 例如:

output {
 elasticsearch {
    hosts => ["16.113.56.102:9200"]
    index => "logstash-%{source}-nginxlogs-%{+YYYY.MM.dd}"
    }
  }       
}

在 filebeat 中,您可以使用處理器將字段添加到每個文檔

processors:
  - add_fields:
      target: project
      fields:
        name: myproject
        id: '574734885120952459'

參考: https://www.elastic.co/guide/en/beats/filebeat/current/add-fields.html

注意:要了解是否因為 Logstash 問題,您可以使用以下方法。

為什么日志在我設計的elasticsearch logstash結構中沒有被索引?

暫無
暫無

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

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