nginx访问日志 logstash 配置文件实例1

发布时间:2020-07-12 12:31:08 作者:ConfusedSnail
来源:网络 阅读:1018
日志格式:
log_format usgateway '$http_clientip\t$http_ServiceName\t$http_uid\t$http_sid\t[$time_local]'
                                     '\t$request\t$status\t$body_bytes_sent\t$connection_requests'
                                     '\t$remote_addr\t$http_referer\t$http_user_agent'
                                     '\t$request_body\t$request_time\t$msec';
日志实例:
10.10.45.152---[23/Jun/2017:17:37:42 +0800]POST /sg HTTP/1.14055765910.10.130.100-Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0){\x22mbrNetName\x22:\x22\xE9\x87\x91\xE6\x98\x9F\x22,\x22nameCn\x22:\x22\xE8\x8A\x92\xE6\x9E\x9C\xE7\xBD\x91\x22,\x22gender\x22:\x2211\x22,\x22birthday\x22:\x222010-10-01\x22,\x22mbrId\x22:\x2235954629\x22,\x22emailAddr\x22:\x22334740263@qq.com\x22,\x22mobileNo\x22:\x2215902074059\x22}0.0011498210662.427
logstash配置文件:
input {  
        file {  
                type => "uSG_gateway_access"  
                path => ["/usr/local/elk/elklog/nginxlog/log0/uSG_gateway_elk.log"]  
        }
} 
filter {
ruby {
init => "@kname = ['http_clientip','http_ServiceName','http_uid','http_sid','time_local','request','status','body_bytes_sent','connection_requests','remote_addr','http_referer','http_user_agent','request_body','request_time','msec']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('message').split(''))])
new_event.remove('@timestamp')
event.append(new_event)"
}
if [request] {
ruby {
init => "@kname = ['method','uri','verb']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('request').split(' '))])
new_event.remove('@timestamp')
event.append(new_event)
"
}
}
mutate {
convert => ["body_bytes_sent" , "integer", "content_length", "integer", "upstream_response_time", "float","request_time", "float"]
}
        grok {
match => [ "message", "%{IPORHOST:clientip}%{USER}%{USER}%{USER}\[%{HTTPDATE:timestamp}\]"]
}
date {
match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
locale => "en"
}
        geoip {
source => "clientip"
    }
useragent {
    source => "http_user_agent"
    target => "useragent"
  }
}
output { 
elasticsearch {
hosts => "10.10.45.200:8201"
        index => "logstash-gateway-frontend-%{+YYYY.MM.dd}"
}
}
注意:日志分隔符为table键。
推荐阅读:
  1. 如何使用logstash同步nginx日志到数据库
  2. ELK+syslog+nginx访问日志收集+分词处理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

logstash og

上一篇:Ubuntu 14.04.2 + Vmware 9.0扩展磁盘分区

下一篇:自己改写的asp.net MVC EF Respoistory 仓储模式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》