(一)ELK介绍:
Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案
Logstash:负责日志的收集,处理和储存
Elasticsearch:负责日志检索和分析
Kibana:负责日志的可视化
工作流程:
nginx日志格式分析
log_format main '$host $remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent $upstream_response_time "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$uid_got" "$uid_set" "$http_x_tencent_ua" "$upstream_addr"';
解析nginx日志格式
$host 客户端请求的时输入域名或IP
$remote_addr 客户端的IP
$remote_user 客户的名称
[$time_local] 发送请求时的本地时间
$request 请求的url和使用http协议版本
$status 对于此次请求返回的状态
$body_bytes_sent 此次请求得到的字节数(不包含头部)
$upstream_response_time upstream 响应这次请求的时间
$http_referer 请求的页面是从哪个页面跳转过来的
$http_user_agent 客户端使用的浏览器类型
$http_x_forwarded_for 使用代理后,能够记录真实用户的IP地址
$uid_got 收到的客户端的cookie标识
$uid_set 发送给客户端的cookie标识
$http_x_tencent_ua
$upstream_addr 真实处理这次请求的主机ip
关于nginx中logstash中grok规则
%{IP:ServerHost} %{IP:agencyip} - - \[(?<localTime>.*)\] \"(?<verb>\w{3,4}) (?<site>.*?(?=\s)) (?<httpprotcol>.*?)\" (?<statuscode>\d{3}) (?<bytes>\d&#