Nginx状态监控以及日志分析详解

Nginx状态监控以及日志分析详解,第1张

Nginx状态监控以及日志分析详解

本文的重点是向大家详细介绍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查询状态监控信息。

  • 活动连接数:手机客户端话题今天的活动线程数(包括等待的手机客户端连接数)相当于TCP连接状态下的Established和SYN_ACK。
  • accepts:acceptedmobileclientconnections的数量表示工作进程已经接受的连接。
  • 已处理:已解析的连接数。
  • Requests:移动客户端的http请求数。
  • 读数:目前已经加载的http请求的数量(加载到第一个http请求中)
  • 写入:今天提前准备响应的线程数(加载到http响应的第一部分)
  • 等待:今天剩余的空个手机客户端请求等待的次数。等待时间是读写之间的距离
  • 收集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

  • $remote_addr:移动客户端的详细ip地址。
  • $remote_user:用于记录远程控制手机客户端的客户名称。
  • $time_local:用于记录浏览时间和时区。
  • $request:用于记录请求及其请求方法的url
  • $status:响应状态代码
  • $body_bytes_sent:推送到移动客户端的文档主要内容的字节数。
  • $http_referrer:它可以记录客户浏览回了哪个连接。
  • $http_user_agent:关于客户使用的计算机浏览器的信息。
  • $http_x_forwarded_for:可以记录手机客户端的ip,根据服务器代理记录手机客户端的详细IP地址。
  • $request_time:指从客户请求的第一个字节到推送响应数据信息的时间,即$request_time包括移动客户端请求的数据信息被接受的时间,后端开发程序进程响应的时间,以及推送响应数据信息到移动客户端的时间。
  • $upstream_response_time:从上游和下游网络服务器接收响应所用的时间
  • 常见解析指令

    1.基于浏览IP的UV统计分析

    awk'{print$1}'paycenteraccess.log|sort-n|uniq|wc-l

    2.查看最常浏览的IP(前10名)

    awk'{print$1}'/var/log/nginx/access.log|sort-n|uniq-c|sort-rn|head-n10

    3.查询某段时间内的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-l

    4.查询浏览过100次以上的IP。

    awk'{print$1}'/var/log/nginx/access.log|sort-n|uniq-c|awk'{if($1>100)print$0}'|sort-rn

    5.查询特定ip的url和浏览频率。

    grep"39.105.67.140"/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-n-k1-r

    6.基于浏览URL的PV统计分析

    cat/var/log/nginx/access.log|awk'{print$7}'|wc-l

    7.检查最常浏览的URL(前10个)

    awk'{print$7}'/var/log/nginx/access.log|sort|uniq-c|sort-rn|head-n10

    8.查询最常浏览的网址([Clear/api/appid])(前10名)

    grep-v'/api/appid'/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-rn|head-n10

    9.查询访问过100次以上的网页。

    cat/var/log/nginx/access.log|cut-d''-f7|sort|uniq-c|awk'{if($1>100)print$0}'|less

    10.查询最近的1000条记录,以及浏览次数最多的网页。

    tail-1000/var/log/nginx/access.log|awk'{print$7}'|sort|uniq-c|sort-nr|less

    11.统计分析每小时的请求数和前10名的时间点(精确到小时)

    awk'{print$4}'/var/log/nginx/access.log|cut-c14-15|sort|uniq-c|sort-nr|head-n10

    12.统计分析每个点的需求数量和top10的时间点(精确到分钟)

    awk'{print$4}'/var/log/nginx/access.log|cut-c14-18|sort|uniq-c|sort-nr|head-n10

    13.统计分析每秒请求数和top10的时间点(精确到秒)

    awk'{print$4}'/var/log/nginx/access.log|cut-c14-21|sort|uniq-c|sort-nr|head-n10

    14.搜索特定时间范围内的日志。

    awk'$4>="[25/Mar/2020:01:00:00"&&$4<="[25/Mar/2020:08:00:00"'/var/log/nginx/access.log

    15.列出传输时间超过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-10

    16.列举/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-10

    17.获取所需时间、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状态监控和日志分析的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://www.outofmemory.cn/zz/774472.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存