【发布时间】:2016-07-20 05:06:45
【问题描述】:
我正在使用 logstash 过滤器插件处理的文件中有多个日志消息。然后,过滤后的日志将被发送到 elasticsearch。
日志消息中有一个名为 addID 的字段。我想删除所有存在特定 addID 的日志消息。这些特定的 addIDS 存在于 ID.yml 文件中。
场景:如果日志消息的 addID 与 ID.yml 文件中存在的任何 addID 匹配,则应删除该日志消息。
谁能帮我实现这个目标?
下面是我的配置文件。
input {
file {
path => "/Users/jshaw/logs/access_logs.logs
ignore_older => 0
}
}
filter {
grok {
patterns_dir => ["/Users/jshaw/patterns"]
match => ["message", "%{TIMESTAMP:Timestamp}+{IP:ClientIP}+{URI:Uri}"]
}
kv{
field_split => "&?"
include_keys => [ "addID" ]
allow_duplicate_values => "false"
}
if [addID] in "/Users/jshaw/addID.yml" {
drop{}
}
}
output {
elasticsearch{
hosts => ["localhost:9200"]
}
}
【问题讨论】:
标签: elasticsearch logstash logstash-grok logstash-configuration