介绍

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

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

 

如上有请求的信息,例如 req-status 这个页面,中流量是 146KB,当前带宽是 0,总请求数量是 47,最大并非连接数是 1.
 
转自:运维时间
 
 
 
 
 
 
 
posted on 2017-08-15 21:54  Aiapple  阅读(1806)  评论(0编辑  收藏  举报