状态页

stub_status {on|off};

仅能用于location上下文;

location /status{

stub_status on;

allow  172.16.0.0/16;

deny all;

}

wKioL1bVBsCyymGdAAASmBb-0uQ562.png

Active connections: 11921
server accepts handled requests
 11989 11989 11991
Reading: 0 Writing: 7 Waiting: 42

active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.


nginx流量带宽等请求状态统计( ngx_req_status)

ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status提供了这些功能.

功能特性

§ 按域名、url、ip等等统计信息

§ 统计总流量

§ 统计当前带宽\峰值带宽

§ 统计总请求数量

1. 安装


# cd /usr/local/src/

# wget "http://nginx.org/download/nginx-1.4.2.tar.gz"

# tar -xzvf nginx-1.4.2.tar.gz

# wget https://github.com/zls0424/ngx_req_status/archive/master.zip -O ngx_req_status.zip

# unzip ngx_req_status.zip

# cd nginx-1.4.2/

# patch -p1 < ../ngx_req_status-master/write_filter.patch

# ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../ngx_req_status-master

# make -j2

# make install

 

 

http {

 req_status_zone server_name $server_name 256k;

 req_status_zone server_addr $server_addr 256k;

 req_status_zone server_url  $server_name$uri 256k;

 req_status server_name server_addr server_url;

 server {

 server_name test.ttlsa.com;

 location /ttlsa-req-status {

 req_status_show on;

 }

 }

 

4. 指令

req_status_zone
语法: req_status_zone name string size
默认值: None
配置块: http
定义请求状态ZONE,请求按照string分组来排列,例如:
req_status_zone server_url  $server_name$uri 256k;
域名+uri将会形成一条数据,可以看到所有url的带宽,流量,访问数

req_status
语法: req_status zone1[ zone2]
默认值: None
配置块: http, server, location
在location中启用请求状态,你可以指定更多zones。

req_status_show
语法: req_status_show on
默认值: None
配置块: location
展示数据

5. 测试访问

http://test.ttlsa.com/ttlsa-req-status