【问题标题】:Logstash - How to filter different types logs file coming through filebeatLogstash - 如何过滤来自 filebeat 的不同类型的日志文件
【发布时间】:2018-03-06 09:42:10
【问题描述】:

我的远程主机 sample.log 和 example.log 上有两个日志文件,它们都包含不同的模式日志。如何轻松地为 Logstash 中的每种日志类型使用不同的过滤器?有人可以给我一个例子吗?我正在使用 filebeat 将这些日志发送到 Logstash。

我的 Logstash.conf 文件如下所示。

   input {
   beats {
   port => 5044
   client_inactivity_timeout => 599
   ssl => true
   ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
   ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
   }

谢谢, 查兰

【问题讨论】:

  • filebeat 发送的日志应该有一个带有文件名的字段(source)。然后在这个字段上使用conditionals
  • 如果可以,请给我一个例子

标签: logstash


【解决方案1】:

在您的过滤器中,您可以在尝试匹配您的模式之前检查字段的值。有一个 file 字段显示源文件:

filter {
    if [file] == "/var/log/sample.log" {
        grok {
            patterns_dir => [ "/etc/logstash/patterns" ]
            match => {
                "message" => "%{SOME_PATTERN}"
            }
            add_tag => [ "processed" ]
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-07
    • 2019-08-25
    • 2016-06-09
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    相关资源
    最近更新 更多