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

Posted Aiapple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx流量带宽请求状态统计(ngx_req_status)相关的知识,希望对你有一定的参考价值。

介绍

    
     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.
 
转自:运维时间
 
 
 
 
 
 
 

以上是关于Nginx流量带宽请求状态统计(ngx_req_status)的主要内容,如果未能解决你的问题,请参考以下文章

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

nginx模块

用GoAccess分析Nginx的日志

ELK对nginx日志进行流量监控

linux下如何使用vnstat查看服务器带宽流量统计

linux下如何使用vnstat查看服务器带宽流量统计