Logstash使用grok插件解析Nginx日志
2018-09-07 17:47
597 查看
logstash-filter-mutate 插件是Logstash 另一个重要插件,它提供了丰富的基础类型数据处理能力,包括类型转换,字符串处理和字段处理等
可以设置的转换类型包括:"integer","float" 和 "string"。示例如下:
filter {
mutate {
convert => ["request_time", "float"]
}
}
注意:mutate 除了转换简单的字符值,还支持对数组类型的字段进行转换,即将 ["1","2"] 转换成 [1,2]。但不支持对哈希类型的字段做类似处理。
对已有索引进行修改并且平滑过渡:
mutate { convert => [ "request_time", "float" ] add_field => [ "response_time", "%{request_time}" ] remove_field => [ "request_time" ] }
--------------------------------------------------------------------------------
在线grok表达式解析地址:http://grokdebug.herokuapp.com/
根据已经生成的日志记录逐个参数进行调试即可。
需要注意的是当日志可能出现“-”时,必须在NGINXACCESS中指定,例如: (?:%{NUMBER:serverelapsed}|-)
需要修改的文件位置:/usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns
如果找不到的话,grep -rw NGINXACCESS /usr/local/logstash
默认的参数为:
NGUSERNAME [a-zA-Z\.\@\-\+_%]+ NGUSER %{NGUSERNAME} NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent} %{QS:xforwardedfor} %{IPORHOST:host} %{BASE10NUM:request_duration}
我这边设置的是:
#nginx 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}
或者在/usr/local/logstash主目录下新建一个目录:patterns,并在该目录下新建一个grok的表达式解析文件nginx,内容同上,也可以实现相同的目的。
相关文章推荐
- Logstash收集nginx日志之使用grok过滤插件解析日志
- logstash 使用grok正则解析日志
- Logstash笔记(三)----Filter插件及grok的正则表达式来解析日志
- logstash 使用grok正则解析日志
- logstash使用grok正则解析日志和kibana遇到的问题
- logstash使用grok正则解析日志
- logstash+grok+json+elasticsearch解析复杂日志数据(二)
- 使用Logstash收集Nginx日志
- Logstash使用grok解析IIS日志
- 使用Logstash filter grok过滤日志文件
- 使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)
- 使用Logstash的grok过滤日志文件
- ELK日志处理之使用Grok解析日志
- logstash过滤器filter grok多种日志匹配使用心得
- logstash,nginx日志,grok pattern调试
- logstash对nginx日志进行解析
- 使用goaccess解析nginx日志
- 使用mmnormalize解析nginx-error日志
- logstash+grok+json+elasticsearch解析复杂日志数据(一)
- 使用Logstash分析纪录Nginx服务器访问及错误日志