最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
nginx中ngxtop实时监视服务器访问状态
时间:2022-06-30 18:44:50 编辑:袖梨 来源:一聚教程网
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) ...
ngxtop info
ngxtop [options] query
Options:
-l
-f
--no-follow ngxtop default behavior is 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
-g , --group-by 根据变量分组 [默认: request_path]
-w , --having
-o , --order-by 排序 [默认: count]
-n
-a
-v, --verbose 更多的输出
-d, --debug print every line and parsed record
-h, --help 当前帮助信息.
--version 输出版本信息.
高级选项:
-c
-i
-p
范例:
All examples read nginx config file for access log location and format.
If you want to specify the access log file and / or log 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
nginx
ngxtop
3.2 访问量前十的IP
# ngxtop -c /usr/local/nginx-1.5.2/conf/nginx.conf top remote_addr
nginx
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?
意识说nginx执行文件要加到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
4.2 虚拟主机配置文件必须在nginx.conf主配置中
一般情况下,我们会将虚拟主机单独写到一个配置文件中,然后nginx.conf做个include。例如我们站点www.111com.net
配置文件:/usr/local/nginx-1.5.2/conf/vhost/www.111com.net.conf
再nginx.conf的http段中添加include vhost/*.conf
这种情况下ngxtop不支持,必须要保证所有配置都在nginx.conf中才行。不知道是否我哪里理解不对,如果是的话,知道的兄弟留言告知。本人在此感激不尽。
5. 结束
ngxtop非常实用,值得推荐。
原文来自:ttlsa.com
相关文章
- 《绝区零》伊芙琳培养材料汇总 01-24
- 《无限暖暖》1.2春节兑换码一览 01-24
- 《网上国网》查询阶梯档位方法 01-24
- 《蛋仔派对》神游贺岁盲盒获取方法 01-24
- 《炉石传说》星际联动盗贼卡组玩法介绍 01-24
- 皮革珊瑚属于珊瑚中的 01-24