debian 安装ngxtop实时对nginx网站访问日志监控-详解

由于ngxtop是python编写(ngxtop项目地址:https://github.com/lebinh/ngxtop),我们使用pip安装
注意获取最新版本链接 https://pypi.python.org/pypi/pip/8.1.2
wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a
tar zxvf pip-8.1.2.tar.gz
cd pip-8.1.2   //先安装工具setuptools
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
python setup.py install
pip install --upgrade pip    //执行pip升级

pip install ngxtop    //卸载方法 pip uninstall ngxtop
安装成功开始使用:
ngxtop --help
ngxtop使用频率较高命令案例:(案例使用环境为openresty+nginx+php 请使用自己的路径
//假如你找不到自己的正确路径可以尝试用命令 find / -name 'nginx.conf'
ngxtop info   //查看基本信息
ngxtop -c /usr/local/openresty/nginx/conf/nginx.conf
// 特别提示 如果nginx 没有开启默认日志那么不会有任何效果,可以把地址更换为虚拟主机的配置文件地址例如
ngxtop -c /usr/local/openresty/nginx/conf/vhost/www.blogff16.com.conf
 


现在无法更改ngxTOP的配置文件 使得它默认加载你要监控的网站配置文件,只有使用带路径的
ngxtop -c /usr/local/openresty/nginx/conf/vhost/www.blogff16.com.conf  top remote_addr
// 访问前几名的监控
ngxtop -l /data/wwwlogs/ff16.com_nginx.log -n 50  //让它直接实时分析日志文件 显示50条
tail -f /var/log/apache2/access.log | ngxtop -f common  //查看其他日志,可以读取阿帕奇

## 帮助
# 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 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 <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 / 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
ngxtop -l /data/wwwlogs/h*.com_nginx.log -n 30 --group-by remote_addr //直接显示30条访问最高的IP地址

非凡网 博客

我只是帮你筛选价值。

你也许喜欢

发表评论