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

凉白开 Nginx757,0696字数 1479阅读4分55秒阅读模式

介绍

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

功能特性文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-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

2. 配置

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的带宽,流量,访问数文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

req_status
语法: req_status zone1[ zone2]
默认值: None
配置块: http, server, location
在location中启用请求状态,你可以指定更多zones。文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

req_status_show
语法: req_status_show on
默认值: None
配置块: location
展示数据文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

5. 测试访问

http://test.ttlsa.com/ttlsa-req-status
如下图文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

nginx

req_status

如上有请求的信息,例如req-status这个页面,中流量是146KB,当前带宽是0,总请求数量是47,最大并非连接数是1.文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

6. 兼容性

以下版本都兼容
1.4.2 我测试的
1.3.x (last tested: 1.3.5)
1.2.x
1.1.x
1.0.x (last tested: 1.0.2)文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

网站:运维生存时间   网址: https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/

文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 12/02/2014 01:25:28
  • 转载请务必保留本文链接:https://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/
  • nginx
  • nginx带宽
  • nginx插件
  • ngx_req_status
  • req_status
  • req_status_show
  • req_status_zone
评论  7  访客  6
    • onew
      onew 9

      要清除记录,重新记录怎么处理?

        • onew
          onew 9

          @ onew 就是要每月统计,怎么弄呢?

        • Aceslup
          Aceslup 9

          晚些再测试。感谢分析。

          • hh
            hh 9

            https://github.com/jie123108/ngx_req_stat

            • 阿土土H2F
              阿土土H2F 1

              comment” />

              • 李惟
                李惟 1

                太需要了,谢谢

              评论已关闭!