本文的重点是向大家详细介绍Nginx状态监控和日志分析的相关信息。原文根据示例代码非常详细,对大家学习或应用Nginx有一定的参考价值。有需要的话大家一起学习吧。
1。Nginx状态监控
NGX呈现了一个嵌入式的状态信息监控网页,可以用来监控NGX的整体浏览状态,这个角色由ngx_http_stub_status_module控制模块来完成。
使用nginx-v2>:&;1|grep-owith-http_stub_status_module指令检查Nginx今天是否有状态函数。如果输出ngx_http_stub_status_module,则表明它是这样的。如果没有,可以在编译程序时添加这个控制模块。
默认情况下,状态是关闭的,每个人都必须打开它,并使用特定的uri来浏览数据信息。
server{ listen80; server_namedefault_server; location/status{ stub_statuson; allow114.247.125.227; } }允许配置只允许特定Ip浏览nginx状态功能,如果去掉则无限制。
重启Nginx后,电脑浏览器浏览http://{IP}/status查询状态监控信息。
收集Nginx数据信息后,可以用专门的监控工具进行监控。
2。日志分析
NGX的默认日志文件格式可以在/etc/Nginx/nginx.conf中找到。
log_formatmain'$remote_addr-$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"$request_time$upstream_response_time';日志案例的副本
39.105.66.117-MP[11/Sep/2019:19:03:010800]"邮政/销售平台-网关/用户HTTP/1.1"200575"-"Apache-HTTPclient/4.5.5(Java/1.8.0_161)""-"0.0400.040
39.105.66.117-MP[11/Sep/2019:19
常见解析指令
1.基于浏览IP的UV统计分析
awk'{print$1}'paycenteraccess.log|sort-n|uniq|wc-l2.查看最常浏览的IP(前10名)
awk'{print$1}'/var/log/nginx/access.log|sort-n|uniq-c|sort-rn|head-n103.查询某段时间内的IP页面浏览量(1-8分)
awk'$4>="[25/Mar/2020:01:00:00"&&$4<="[25/Mar/2020:08:00:00"'/var/log/nginx/access.log|awk'{print$1}'|sort|uniq-c|sort-nr|wc-l4.查询浏览过100次以上的IP。
awk'{print$1}'/var/log/nginx/access.log|sort-n|uniq-c|awk'{if($1>100)print$0}'|sort-rn5.查询特定ip的url和浏览频率。
grep"39.105.67.140"/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-n-k1-r6.基于浏览URL的PV统计分析
cat/var/log/nginx/access.log|awk'{print$7}'|wc-l7.检查最常浏览的URL(前10个)
awk'{print$7}'/var/log/nginx/access.log|sort|uniq-c|sort-rn|head-n108.查询最常浏览的网址([Clear/api/appid])(前10名)
grep-v'/api/appid'/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-rn|head-n109.查询访问过100次以上的网页。
cat/var/log/nginx/access.log|cut-d''-f7|sort|uniq-c|awk'{if($1>100)print$0}'|less10.查询最近的1000条记录,以及浏览次数最多的网页。
tail-1000/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-nr|less11.统计分析每小时的请求数和前10名的时间点(精确到小时)
awk'{print$4}'/var/log/nginx/access.log|cut-c14-15|sort|uniq-c|sort-nr|head-n1012.统计分析每个点的需求数量和top10的时间点(精确到分钟)
awk'{print$4}'/var/log/nginx/access.log|cut-c14-18|sort|uniq-c|sort-nr|head-n1013.统计分析每秒请求数和top10的时间点(精确到秒)
awk'{print$4}'/var/log/nginx/access.log|cut-c14-21|sort|uniq-c|sort-nr|head-n1014.搜索特定时间范围内的日志。
awk'$4>="[25/Mar/2020:01:00:00"&&$4<="[25/Mar/2020:08:00:00"'/var/log/nginx/access.log15.列出传输时间超过0.6秒的URL,显示前10条信息。
cat/var/log/nginx/access.log|awk'(substr($NF,2,5)>0.6){print$4,$7,substr($NF,2,5)}'|awk-F'"''{print$1,$2,$3}'|sort-k3-rn|head-1016.列举/api/appid所需时间超过0.6秒的时间点。
cat/var/log/nginx/access.log|awk'(substr($NF,2,5)>0.6&&$7~/\/api\/appid/){print$4,$7,substr($NF,2,5)}'|awk-F'"''{print$1,$2,$3}'|sort-k3-rn|head-1017.获取所需时间、url和前10个最常用时间的时间。
cat/var/log/nginx/access.log|awk'{print$4,$7,substr($NF,2,5)}'|awk-F'"''{print$1,$2,$3}'|sort-k3-rn|head-10摘要
到目前为止,这篇关于Nginx状态监控和日志分析的文章已经在这里详细介绍过了。有关Nginx状态监控和日志分析的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)