首页 > 代码库 > nginx统计响应的http状态码信息
nginx统计响应的http状态码信息
一、介绍
ngx-http-status-code-counter是一个用来记录nginx响应状态码的统计信息,作者将这个模块与munin结合来分析网站的http状态,我们也可以将这个与nagios、zabbix或者其他监控系统想结合,有这个模块运维可以不再使用脚本去分析日志了。
二、安装
nginx的安装方式不再多说,请参考运维生存时间早期的《nginx安装》,我这边使用nginx-1.4.2做的测试。作者仅在0.8.50版本上使用,模块比较简单,新版本一般都会兼容,不过大家使用之前最好做一个测试。
wget https://github.com/kennon/ngx_http_status_code_counter/archive/master.zip
unzip master.zip
cd nginx-1.4.7
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-pcre=../pcre-8.33 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-1.0.0l --with-http_stub_status_module --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_gzip_static_module --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-google_perftools_module --add-module=/root/ngx_http_status_code_counter-master
make && make install
三、配置nginx
location /ttlsa_http_code_status/ { show_status_code_count on; } location /ttlsa_http_code_status500/ { return 500; } location /ttlsa_http_code_status502/ { return 502; }
四、重启nginx服务
/etc/init.d/nginx restart
五、测试
分别访问http://test.ttlsa.com/ttlsa_http_code_status502/和http://test.ttlsa.com/ttlsa_http_code_status500来制造一个500和502的状态码,以及随意访问一个页面制造404响应码,一切都是为了测试。测试输出内容如下图
六. 缺点
缺点也很明显,所有的数据都保存在nginx内存中,一旦nginx reload或者重开,数据就为空。还有一个缺点便是它统计的数据是持续叠加的,没有时段区分,如果你想统计各个时段的http 响应代码,你需要定时重启nginx。
七. 结束语
有这个功能,将nginx统计出来的http响应码放入监控系统中,便于排除系统故障。后续再贴出整合到监控系统的案例,请继续关注运维生存时间。
学习来源:http://www.ttlsa.com/nginx/nginx-modules-ngx-http-status-code-counter/
本文出自 “郑彦生” 博客,请务必保留此出处http://467754239.blog.51cto.com/4878013/1558269
nginx统计响应的http状态码信息