【问题标题】:Grok pattern for simple syslog简单系统日志的 Grok 模式
【发布时间】:2019-12-04 12:13:52
【问题描述】:

我使用的是 7.2.0 和 filebeat 7.2.0 的 ELK 设置。 现在我在 filebeata 中启用了系统模块,并且我尝试在 Logstash 中使用简单的 grok,

input {
  beats {
    port => 5044
    ssl  => false
  }
}
filter {
  if [fileset][module] == "system" {
          grok {
        match => { "message" => "%{SYSLOGLINE}"}
}
}
output {
  elasticsearch {
    hosts => ["10.16.5.24:9200"]
    index => "rehatsystemlogs"
}
        stdout { codec => rubydebug }
}

示例日志:Nov 17 08:01:01 strproelk02 systemd: Removed slice User Slice of root.

现在,当我在 https://grokdebug.herokuapp.com/ 中检查 %{SYSLOGLINE} 以获取此示例日志时,我能够通过我的日志拆分获得正确的输出。

但是当我执行我的 logstash 时,单独的列不会在我的 ES 索引中拆分。

我哪里错了?

【问题讨论】:

    标签: logstash elastic-stack logstash-grok logstash-configuration


    【解决方案1】:

    缺少大括号,过滤器结束,

     input {
      beats {
        port => 5044
        ssl  => false
      }
    }
    filter {
          grok {
            match => { "message" => "%{SYSLOGLINE}"}
           }
        }
    output {
      elasticsearch {
        hosts => ["10.16.5.24:9200"]
        index => "rehatsystemlogsdata"
    }
            stdout { codec => rubydebug }
    }
    

    【讨论】:

    • 我更正了它,它仍然没有按预期拆分我的数据。请帮助我,为我的延迟回复道歉。
    • 请删除 if 条件并仅保留 grok 进行检查。
    • 它没有用,但是,自定义的 grok 对我有用。谢谢!
    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多