nginx流量带宽等请求状态统计( ngx_req_status)
介绍
ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status提供了这些功能.
功能特性
- 按域名、url、ip等等统计信息
- 统计总流量
- 统计当前带宽\峰值带宽
- 统计总请求数量
1. 安装
1
2
3
4
5
6
7
8
9
10
|
# 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. 配置
1
2
3
4
5
6
7
8
9
10
11
12
|
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
如下图

req_status
如上有请求的信息,例如req-status这个页面,中流量是146KB,当前带宽是0,总请求数量是47,最大并非连接数是1.
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)
网站:运维生存时间 网址: http://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/
成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!