您的位置:首页 > 理论基础 > 计算机网络

二十.stub_status模块功能(ngx_http_stub_status_module)

2014-12-22 16:56 751 查看
1.描述

增加对每请求的响应时间的统计:在stub status模块中增加了自Tengine启动以来所有请求的总响应时间(request_time),

单位为ms,可以用来统计一段时间的平均RT(response time):

Active connections: 1

server accepts handled requests request_time

1140 1140 1140 75806

Reading: 0 Writing: 1 Waiting: 0

在tsar中监控Tengine/Nginx可以使用我们开发的tsar模块。

2.安装tsar

$ wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate

$ unzip tsar.zip

$ cd tsar

$ make

$ sudo make install

3.安装tsardevel

$ make tsardevel

4.Tengine/Nginx module for tsar

这是一个tsar模块,它可以从Tengine/Nginx端采集数据.

下载源文件 (https://github.com/taobao/tsar-mod_nginx)

使用指南

1. 安装 tsar.

2. 使用tsar的模块开发工具tsardevel生成一个模块模板

tsardevel mod_ngx

3. 替换模板中的mod_ngx.c.

make

make install

4. 启动tsar.

tsar --nginx

5.常见用法列表:

tsar -i 1 -l 以1秒钟为间隔,实时打印tsar的概述数据

tsar 显示1天内的历史汇总(summury)信息,以默认5分钟为间隔

tsar --cpu -i 1 显示一天内cpu的历史信息,以1分钟为间隔

tsar --live --mem -i 2 以2秒钟为间隔,实时打印mem的数据。

tsar --cpu --mem -i 1 显示一天内的cpu和内存历史数据,以1分钟为间隔。

5.配置

A. 默认采集地址和端口分别为127.0.0.1,80。可以通过环境变量来修改:

example:

export NGX_TSAR_HOST=192.168.0.1

export NGX_TSAR_PORT=8080

B. Tengine/Nginx必须编译了stub_status模块,而且必须在配置文件中增加类似如下配置:

location = /nginx_status {

stub_status on;

}

C. 另外我们也可以使用unix域套接字,比如将NGX_TSAR_HOST指定为一个文件路径:

export NGX_TSAR_HOST=/tmp/nginx-tsar.sock

同时,Tengine/Nginx的配置文件中包含location /nginx_status的server也必须是监听在该域套接口路径上

listen unix:/tmp/nginx-tsar.sock;

D. tsar模块发送给Tengine/Nginx的uri和主机名也可以通过如下环境变量设置:

example:

export NGX_TSAR_SERVER_NAME=status.taobao.com

export NGX_TSAR_URI=/nginx_status
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: