ngxtop实时解析nginx访问日志
2015-02-03 13:33
483 查看
参考地址
http://www.ttlsa.com/nginx/nginx-modules-ngxtop-ttlsa/
ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop。有了ngxtop,你可以实时了解到当前nginx的访问状况,再也不需要tail日志看屏幕刷新。
1.1 源码安装
//看到如上输出表示安装成功,安装过程需要网络支持
1.2 ngxtop安装
3.1 实时状态
ngxtop
3.2 访问量前十的IP
ngxtop
4.1 ngxtop单条命令无法执行
意识说nginx执行文件要加到PATH路径中,
方法一:软连接
方法二:修改环境变量
方法三:指定配置文件
4.2 虚拟主机配置文件必须在nginx.conf主配置中
一般情况下,我们会将虚拟主机单独写到一个配置文件中,然后nginx.conf做个include。例如我们站点www.ttlsa.com
配置文件:/usr/local/nginx-1.5.2/conf/vhost/www.ttlsa.com.conf
再nginx.conf的http段中添加include vhost/*.conf
这种情况下ngxtop不支持,必须要保证所有配置都在nginx.conf中才行。不知道是否我哪里理解不对,如果是的话,知道的兄弟留言告知。本人在此感激不尽。
ngxtop非常实用,值得推荐。
项目地址:https://github.com/lebinh/ngxtop
http://www.ttlsa.com/nginx/nginx-modules-ngxtop-ttlsa/
ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop。有了ngxtop,你可以实时了解到当前nginx的访问状况,再也不需要tail日志看屏幕刷新。
1. 安装ngxtop
1.1 源码安装# wget https://github.com/lebinh/ngxtop/archive/master.zip -O ngxtop-master.zip |
# unzip ngxtop-master.zip |
# cd ngxtop-master |
# python setup.py install |
...省略.... |
Finished processing dependencies for ngxtop==0.0.1 |
1.2 ngxtop安装
pip install ngxtop |
2. ngxtop使用详解
# ngxtop --help |
ngxtop - ad-hoc query for nginx access log. |
Usage: |
ngxtop [options] |
ngxtop [options] (print| top |avg| sum ) <var> ... |
ngxtop info |
ngxtop [options] query <query> ... |
Options: |
-l < file >, --access-log < file > 需要分析的访问日志 |
-f < format >, --log- format < format > log_format指令指定的日志格式 [默认: combined] |
--no-follow ngxtop default behavioris to ignore current lines in log |
and only watch for new lines as they are written to the access log. |
Use this flag to tell ngxtop to process the current content of the access log instead. |
-t <seconds>, --interval <seconds> report interval when running in follow mode [default: 2.0] |
-g <var>, --group-by <var> 根据变量分组 [默认: request_path] |
-w <var>, --having < expr > having clause [default: 1] |
-o <var>, --order-by <var> 排序 [默认: count] |
-n <number>, --limit <number> 显示的条数 [default: 10] |
-a <exp> ..., --a <exp> ... add exp (must be aggregation exp: sum , avg, min, max, etc.) into output |
- v , --verbose 更多的输出 |
-d, --debug print every line and parsed record |
-h, --help 当前帮助信息. |
--version 输出版本信息. |
高级选项: |
-c < file >, --config< file > 运行ngxtop解析nginx配置文件 |
-i <filter-expression>, --filter <filter-expression> filter in , records satisfied given expression are processed. |
-p <filter-expression>, --pre-filter <filter-expression> in -filter expression to check in pre-parsing phase. |
范例: |
All examples read nginx config file for access log location and format . |
If you want to specify the access log file and / orlog format , use the -f and -a options. |
"top" like view of nginx requests |
$ ngxtop |
404前十的请求 |
$ ngxtop top request_path --filter 'status == 404' |
总流量前十的请求 |
$ ngxtop --order-by 'avg(bytes_sent) * count' |
访问量前十的ip地址 |
$ ngxtop --group-by remote_addr |
输出400以上状态吗的请求以及请求来源 |
$ ngxtop -i 'status >= 400' print request status http_referer |
Average body bytes sent of 200 responses of requested path begin with 'foo' : |
$ ngxtop avg bytes_sent --filter 'status == 200 and request_path.startswith("foo")' |
使用common日志格式分析远程服务器Apache访问日志 |
$ ssh remote tail -f /var/log/apache2/access.log | ngxtop -f common |
3. ngxtop实例
3.1 实时状态# ngxtop -c /usr/local/nginx-1.5.2/conf/nginx.conf |
ngxtop
3.2 访问量前十的IP
# ngxtop -c /usr/local/nginx-1.5.2/conf/nginx.conf top remote_addr |
ngxtop
4. 注意事项
4.1 ngxtop单条命令无法执行# ngxtop |
Error: Access log file or format was not set and nginx |
config file cannot be detected. Perhaps nginx is not in your PATH? |
方法一:软连接
# ln -s /usr/local/nginx-1.5.2/sbin/nginx /sbin/ |
# vim /etc/profile |
export PATH=$PATH:/usr/ local /nginx-1.5.2/sbin |
# source /etc/profile |
# ngxtop -c /usr/local/nginx-1.5.2/conf/nginx.conf |
一般情况下,我们会将虚拟主机单独写到一个配置文件中,然后nginx.conf做个include。例如我们站点www.ttlsa.com
配置文件:/usr/local/nginx-1.5.2/conf/vhost/www.ttlsa.com.conf
再nginx.conf的http段中添加include vhost/*.conf
这种情况下ngxtop不支持,必须要保证所有配置都在nginx.conf中才行。不知道是否我哪里理解不对,如果是的话,知道的兄弟留言告知。本人在此感激不尽。
5. 结束
ngxtop非常实用,值得推荐。项目地址:https://github.com/lebinh/ngxtop
相关文章推荐
- 利用ngxtop实时监控Nginx的访问情况
- Ngxtop-Nginx日志实时分析利器
- 利用ngxtop实时监控nginx的访问情况
- ngxtop nginx 日志实时分析
- 利用ngxtop实时监控nginx的访问情况
- Ngxtop-Nginx日志实时分析利器
- Ngxtop-Nginx日志实时分析利器
- 利用ngxtop实时监控nginx的访问情况
- Nginx实现浏览器可实时查看访问日志的步骤详解
- 通过ngxtop实时监控webserver的访问情况 / 解决ImportError: No module named _sqlite3问题
- nginx默认虚拟主机,用户认证,域名重定向,日志,静态文件不记录日志,防盗链,访问控制,php解析
- ngxtop实时监控nginx状态
- Nginx实现浏览器实时查看访问日志
- ngxtop小工具,实时监控nginx状态
- Nginx实现浏览器可实时查看访问日志的步骤详解
- Nginx、tomcat访问日志准实时分析统计--goaccess
- 通过ngxtop实时监控web server的访问情况
- Nginx、tomcat访问日志准实时分析统计--goaccess
- 使用awstat分析Nginx的访问日志
- Linux下定时切割Nginx访问日志并打包压缩的Shell脚本