【Nginx】监控

来源:互联网 发布:在淘宝上面卖什么好 编辑:程序博客网 时间:2024/06/12 23:00

Nginx stub_status模块监控

nignx编译进去监控模块 –with-http_stub_status_module
配置里如下增加:

server {        listen  8080;        server_name 192.168.1.10;        location /server-status {            stub_status on;            access_log   off;            allow  10.10.0.0/16;            deny all;           }}

在浏览器里打开http://192.168.1.10:8080/server-status

这里写图片描述

解析:
Active connections //当前 Nginx 正处理的活动连接数。
server accepts handled requests //总共处理了2652317885 个连接 , 成功创建 2652317885 次握手,与第一个差值为请求丢失数,总共处理了2616494355个请求。
Reading //nginx 读取到客户端的 Header 信息数。
Writing //nginx 返回给客户端的 Header 信息数。
Waiting //开启 keep-alive 的情况下,这个值等于 active - (reading + writing)意思就是 Nginx 已经处理
完正在等候下一次请求指令的驻留连接

通过命令查看

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' LAST_ACK 2SYN_RECV 23ESTABLISHED 337FIN_WAIT1 16SYN_SENT 1TIME_WAIT 147174

解析:
CLOSED //无连接是活动的或正在进行
LISTEN //服务器在等待进入呼叫
SYN_RECV //一个连接请求已经到达,等待确认
SYN_SENT //应用已经开始,打开一个连接
ESTABLISHED //正常数据传输状态/当前并发连接数
FIN_WAIT1 //应用说它已经完成
FIN_WAIT2 //另一边已同意释放
ITMED_WAIT //等待所有分组死掉
CLOSING //两边同时尝试关闭
TIME_WAIT //另一边已初始化一个释放
LAST_ACK //等待所有分组死掉

日志查看

//请求总数less access.log | wc -l65124702//平均每秒请求数less access.log | awk '{sec=substr($4,2,20);reqs++;reqsBySec[sec]++;} END{print reqs/length(reqsBySec)}'//峰值每秒请求数less access.log | awk '{sec=substr($4,2,20);requests[sec]++;} END{for(s in request){print("%s%s\n", requests[s],s)}}' | sort -nr | head -n 3 

对应日志格式

这里写图片描述

示例:

这里写图片描述

原创粉丝点击