Logstash收集nginx日志之使用grok过滤插件解析日志
2018-06-12 11:50
543 查看
grok作为一个logstash的过滤插件,支持根据模式解析文本日志行,拆成字段。
- nginx日志的配置:
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
- logstash中grok的正则(添加在/usr/local/logstash-6.2.4/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns文件中)为:
WZ ([^ ]*)
NGINXACCESS %{IP:remote_ip} \- \- \[%{HTTPDATE:timestamp}\] "%{WORD:method} %{WZ:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:status} %{NUMBER:bytes} %{QS:referer} %{QS:agent} %{NUMBER:elapsed} %{NUMBER:serverelapsed} %{QS:xforward}
logstash的配置为:
input{ file{ path => "/usr/local/nginx/logs/access.log" type => "nginx" start_position => "beginning" } } filter { grok { match => { "message" => "%{NGINXACCESS}" } } } output{ if [type] == "nginx" { elasticsearch { hosts=> ["172.17.102.202:9200"] index=> "nginx" } } }
相关文章推荐
- Logstash使用grok插件解析Nginx日志
- 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
- 使用Logstash收集Nginx日志
- 使用logstash收集nginx访问日志
- Logstash笔记(三)----Filter插件及grok的正则表达式来解析日志
- logstash使用grok正则解析日志和kibana遇到的问题
- logstash 使用grok正则解析日志
- logstash 使用grok正则解析日志
- logstash使用grok正则解析日志
- 使用Logstash的grok过滤日志文件
- 使用Logstash filter grok过滤日志文件
- 解析Nginx中的日志模块及日志基本的初始化和过滤配置
- logstash通过rsyslog对nginx的日志收集和分析
- logstash+grok+json+elasticsearch解析复杂日志数据(二)
- 使用ELK(logstash,elasticsearch,kibana)+redis搭建nginx日志分析平台
- ELK收集Nginx日志,使用grok正则表达式(二)
- Logstash过滤插件grok简单测试
- nginx日志切割并使用flume-ng收集日志
- 使用mmnormalize解析nginx-error日志
- 使用goaccess解析nginx日志