elasticsearch 是否可以通过logstash中的前一个值更改字段,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok" /> elasticsearch 是否可以通过logstash中的前一个值更改字段,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok" />

elasticsearch 是否可以通过logstash中的前一个值更改字段

elasticsearch 是否可以通过logstash中的前一个值更改字段,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok,我正在互联网上搜索一种方法,将一个变量放入logstash,如果一个术语对应于一个模式,则使用或修改该值 以下是我的数据源示例: 2017-04-12 15:49:57,641|OK|file1|98||| 2017-04-12 15:49:58,929|OK|file2|1387|null|msg_fils| 2017-04-12 15:49:58,931|OK|file3|2|msg_pere|msg_fils| 2017-04-12 15:50:17,666|OK|

我正在互联网上搜索一种方法,将一个变量放入logstash,如果一个术语对应于一个模式,则使用或修改该值

以下是我的数据源示例:

   2017-04-12 15:49:57,641|OK|file1|98|||
   2017-04-12 15:49:58,929|OK|file2|1387|null|msg_fils|
   2017-04-12 15:49:58,931|OK|file3|2|msg_pere|msg_fils|
   2017-04-12 15:50:17,666|OK|file1|25|||
   2017-04-12 15:50:17,929|OK|file2|1387|null|msg_fils|
我正在使用这个grok代码来解析我的源代码

grok {
    match => {"message" =>  '%{TIMESTAMP_ISO8601:msgdates:date}\|%{WORD:verb}\|%{DATA:component}\|%{NUMBER:temps:int}\|%{DATA:msg_pere}\|%{DATA:msg_fils}\|'}
}
但事实上,我想用包含file1的行的前一个值修改第一个字段

你能告诉我这是否可能吗


谢谢

我找到了解决问题的方法。我要和你分享解决我问题的方法。 我使用的插件名为logstash filter memory,可以通过以下命令安装:

logstash插件安装logstash过滤器记忆

所以我的过滤器是这样的:

grok {
    match => {"message" =>  '%{TIMESTAMP_ISO8601:msgdates:date}\|%{WORD:verb}\|%{DATA:component}\|%{NUMBER:temps:int}\|%{DATA:msg_pere}\|%{DATA:msg_fils}\|'}
}
if [component] =~  "file1" {
    mutate {
        add_field => [ "msg_id", "%{msgdates}" ]
    }
    memorize {
        fields => [ "msg_id" ]
        default => { "msg_id" => "NOTFOUND" } 
    }           }   
memorize {
    fields => [ "msg_id9" ]
}

我希望它能对其他人有用。

我已经找到了解决我问题的方法。我要和你分享解决我问题的方法。 我使用的插件名为logstash filter memory,可以通过以下命令安装:

logstash插件安装logstash过滤器记忆

所以我的过滤器是这样的:

grok {
    match => {"message" =>  '%{TIMESTAMP_ISO8601:msgdates:date}\|%{WORD:verb}\|%{DATA:component}\|%{NUMBER:temps:int}\|%{DATA:msg_pere}\|%{DATA:msg_fils}\|'}
}
if [component] =~  "file1" {
    mutate {
        add_field => [ "msg_id", "%{msgdates}" ]
    }
    memorize {
        fields => [ "msg_id" ]
        default => { "msg_id" => "NOTFOUND" } 
    }           }   
memorize {
    fields => [ "msg_id9" ]
}
我希望它能对其他人有用