介绍

    
     ngx_req_status 用来展示 nginx 请求状态信息,类似于 apache 的 status, nginx 自带的模块只能显示连接数等等
信息,我们并不能知道到底有哪些请求、以及各 url 域名所消耗的带宽是多少。
 
ngx_req_status 提供了这些功能
  • 按域名、 url、 ip 等等统计信息
  • 统计总流量
  • 统计当前带宽\峰值带宽
  • 统计总请求数量
 
安装

 
# 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; 
} 
} 
}
 
指令

 
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
  • 展示数据
 
测试

 
 
如上有请求的信息,例如 req-status 这个页面,中流量是 146KB,当前带宽是 0,总请求数量是 47,最大并非连接数是 1.
 
转自: 运维时间
 
 
 
 
 
 
 

发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Nginx实现图片防盗链(referer指令)知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。