【问题标题】:How to configure logstash filter for log4j messages?如何为 log4j 消息配置 logstash 过滤器?
【发布时间】:2016-07-04 15:35:57
【问题描述】:

我有一个 mylog.log 文件,其中包含以下内容。

2014-07-02 20:52:39 DEBUG HelloExample:19 - This is debug : ishan
2014-07-02 20:52:39 INFO  HelloExample:23 - This is info : ishan
2014-07-02 20:52:39 WARN  HelloExample:26 - This is warn : ishan
2014-07-02 20:52:39 ERROR HelloExample:27 - This is error : ishan
2014-07-02 20:52:39 FATAL HelloExample:28 - This is fatal : ishan

我有以下用于 logstash 的 conf 文件

input {
  file {
    path => "/home/ishan/sf_shared/log4jlogs/1-7-2016.txt"
    start_position => "beginning"
    codec => multiline {
      pattern => "(^d+serror)|(^.+Exception: .+)|(^s+at .+)|(^s+... d+ more)|(^s*Caused by:.+)"
      what => "previous"
    }
  }
}
output {
  elasticsearch => ["127.0.0.1:9200"]
  stdout { codec => rubydebug }
}

所以,当我使用以下命令运行 logstash /opt/logstash/bin/logstash -f log4j.conf

但它没有在控制台上显示任何内容。 那么,如何在控制台上显示呢?还添加它后如何检查 ES?以及需要什么样的过滤器来解析以下json格式的信息?

{
  "severity": DEBUG
  "class": HelloExample
  "message":This is debug : ishan
}

提前致谢。

【问题讨论】:

  • 你可以使用 grok 作为你的模式。您的多行似乎没有必要,因为您已经只有 1 行日志?此外,^d 不注释日期。研究探索正确的模式

标签: elasticsearch log4j logstash


【解决方案1】:

您需要研究 grok 模式。检查此link。 这应该适合你:

input {
  file {
    path => "/home/ishan/sf_shared/log4jlogs/1-7-2016.txt"
    start_position => "beginning"
  }
}
filter {
    grok {
        match => {
            "message" => '%{YEAR}[-]%{MONTHNUM}[-]%{MONTHDAY} %{TIME} %{LOGLEVEL:severity} %{GREEDYDATA:class}%{INT} - %{GREEDYDATA:mess}'
        }   
    }
}
output {
  elasticsearch => ["127.0.0.1:9200"]
  stdout { codec => rubydebug }
}

【讨论】:

  • 我试图用这个启动logstash并得到以下错误Unknown setting 'log' for grok {:level=>:error}
  • @IshanBhatt 立即查看。
  • Grok {:level=>:error} 的未知设置“消息”
  • 它显示设置:默认管道工人:1 Logstash 启动已完成如何检查进入的内容?它没有在控制台上显示任何内容。我可以在elasticsearch中查看吗??
  • 但是即使在将 stdout 放在上面之后,如果您在控制台上看不到任何内容,您也可以检查 logstash.log 是否有错误...或者您的 inout 文件可能是空的
猜你喜欢
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多