繁体   English   中英

ELK-使用Logstash过滤数据

[英]ELK - Filtering data with Logstash

我正在尝试ELK堆栈,到目前为止效果很好。 我有一个小问题要解决。 我有一个来自filebeat的名为“ message”的字段。 在该字段内是一个字符串,其中包含用于记录的数据。 有时,该消息字段可能包含以下行:

successfully saved with IP address: [142.93.111.8] user: [testuser@some.com]

我想应用一个过滤器,因此logstash将其发送到Elastic Search:

successfully saved with IP address: [] user: [testuser@some.com]

这是我目前在Logstash配置中拥有的:

input {
beats {
    port => "5043"
    codec => json
    }
  }
  filter {

  if [message] =~ /IP address:/{
    mutate { add_tag => "whats happening" }
    }

}

output {
elasticsearch {
   hosts => [ "localhost:9200" ]
   }
 }

其他事情引起了我的注意。 ELK能够在Filebeat级别和Logstash级别上执行文本过滤。 哪种情况最常见? Filebeat筛选是否更合适?

我在我的情况下找到了正确的解决方案:

mutate {
  gsub => ["message", "address: \[(.*?)]", "address:[not indexable]"]
}

希望有人会发现它有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM