簡體   English   中英

如何在彈性搜索中從logstash索引自定義字段?

[英]How to index Custom field from logstash in elastic search?

以下是我的logstash配置文件。

input {
  stdin{}
}  

filter {
  mutate {
    if(message =~ "*FF"){
    add_field => { "vname" => "olive" }
    }
    else{
    add_field => { "vname" => "popeye" }
    }
  }
}


output {
   stdout { codec => rubydebug }
   elasticsearch { 
            hosts => ["localhost:9200"]
            index => "servererrors"
        }
}

下圖顯示了我的kibana輸出。

http://i.stack.imgur.com/pJANQ.png

問題是我需要單獨過濾“橄欖”。 如您所見,對於主機字段,有一個過濾器已在其中過濾掉,但對於vname字段卻不可用。

篩選器不可用

以下是我對vname的映射文件響應

"vname": {
            "type": "string",
            "store": true
          },

我對模板和映射感到困惑。 請清楚解釋。

添加“ if”語句和grok插件。 您需要分別解析此事件。 如果您顯示事件,我可以幫助您進行過濾。

根據您最近的編輯,看起來您在語法上僅落后了一點:

filter {
    if [myField] == "myValue" {
        mutate {
            add_field => { ... }
        }
    }
    else {
        mutate {
            add_field => { ... }
        }
    }
}

暫無
暫無

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

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