logstash实战filter插件之grok(收集apache日志)

Posted minseo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logstash实战filter插件之grok(收集apache日志)相关的知识,希望对你有一定的参考价值。

有些日志(比如apache)不像nginx那样支持json可以使用grok插件

grok利用正则表达式就行匹配拆分

预定义的位置在

/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns

apache的在文件grok-patterns 

查看官方文档

https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html

 

vim /etc/logstash/conf.d/grok.conf

input{
    stdin{}
}

filter {
  grok {
    match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
  }
}


output{
   stdout{
        codec => rubydebug
   }
}

  启动

/opt/logstash/bin/logstash -f grok.conf

标准输入文本 55.3.244.1 GET /index.html 15824 0.043

输出

 

PS:grok非常影响性能,不灵活,可以使用logstash - redis - python -es

 

vim apache_grok.conf

input{
    stdin{}
}


filter{
    grok{
     match => { "message" => "%{HTTPD_COMBINEDLOG}" }
   }
}

output{
    stdout{
        codec => rubydebug
    }
}

  

运行输出

/opt/logstash/bin/logstash -f apache_grok.conf

 

以上是关于logstash实战filter插件之grok(收集apache日志)的主要内容,如果未能解决你的问题,请参考以下文章

使用Logstash filter grok过滤日志文件

使用Logstash filter grok过滤日志文件

Logstash收集nginx日志之使用grok过滤插件解析日志

Logstash收集nginx日志之使用grok过滤插件解析日志

Elastic Stack Logstash基础用法

Logstash语法常用案例解析