Nginx的stub_status模块的作用及配置文件修改

nginx中的stub_status模块主要用于查看Nginx的一些状态信息.

本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:

复制代码 代码如下:

./configure –with-http_stub_status_module

一、查看已安装的 Nginx 是否包含 stub_status 模块

复制代码 代码如下:

#/usr/local/nginx/sbin/nginx -V

如果包含 stub_status 模块,那么就可以进行下面的步骤了:

二、修改 Nginx 配置文件

复制代码 代码如下:

server {
#添加如下配置
location /nginx-status {
stub_status on;
access_log off;

#加入访问限制
allow 60.195.252.106;
allow 60.195.249.83;
deny all;
}
}

三、重启 Nginx

复制代码 代码如下:

#/usr/local/nginx/sbin/nginx -s reload
四、查看status页面
curl http://127.0.0.1/nginx-status
五、相关数据说明

Active connections: 对后端发起的活动连接数.
Server accepts handled requests: Nginx总共处理了38810620个连接,成功创建38810620次握手(证明中间没有失败的),总共处理了298655730个请求.
Reading: Nginx 读取到客户端的Header信息数.
Writing: Nginx 返回给客户端的Header信息数.
Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接.
所以,在访问效率高,请求很快被处理完毕的情况下,Waiting数比较多是正常的.如果reading +writing数较多,则说明并发访问量非常大,正在处理过程中.

=====================================================

第三方的模块实现,获取的信息更加详细一些

介绍

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

复制代码

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 /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/req-status
如下图

nginx

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/

=================================分割线====================================

GITHUB 项目地址 https://github.com/zls0424/ngx_req_status

统计信息页面. 支持以下参数:    

c: 统计信息重置(clean_up)    例如 http://yourname.com/req-status?c

说明:无
l: 数字使用原始格式显示(long_num) 例如 http://yourname.com/req-status?l

说明:显示数据以byte 为单位
f: 完整数据(last_traffic,last_traffic_start,last_traffic_update)(full_info) 例如 http://yourname.com/req-status?f

说明:

last_traffic:最近一次访问已经记录的流量?

last_traffic_start:最近一次访问的起始流量?

last_traffic_update:?

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值