狀態頁
stub_status {on|off};
僅能用於location上下文;
location /status{
stub_status on;
allow 172.16.0.0/16;
deny all;
}
Active connections: 11921
server accepts handled requests
11989 11989 11991
Reading: 0 Writing: 7 Waiting: 42
active connections – 活躍的連接數量
server accepts handled requests — 總共處理了11989個連接 , 成功創建11989次握手, 總共處理了11991個請求
reading — 讀取客戶端的連接數.
writing — 響應數據到客戶端的數量
waiting — 開啓 keep-alive 的情況下,這個值等於 active – (reading+writing), 意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留連接.
nginx流量帶寬等請求狀態統計( ngx_req_status)
ngx_req_status用來展示nginx請求狀態信息,類似於apache的status,nginx自帶的模塊只能顯示連接數等等信息,我們並不能知道到底有哪些請求、以及各url域名所消耗的帶寬是多少。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
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