nginx日志监控工具之ngxtop

nginx日志监控工具之ngxtop

 

还在tail看nginx日志文件?out啦

tail -f 日志路径

ngxtop:

ngxtop是一个基于python的程序,可以在Python上安装。ngxtop通过实时解析nginx访问日志,并将结果(nginx服务器的有用指标)输出到终端

 

主要功能:

  • 当前有效请求

  • 总请求计数摘要

  • 按状态代码提供的总请求数(2xx,3xx,4xx,5xx)

  • 发送平均字节

  • 顶级远程地址

不仅能实时监控Nginx日志的访问还可以对以前的日志进行排查整理。

 

安装:

示例为:centos7系统,安装了Python和pip

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
rpm -ivh epel-release-7-6.noarch.rpm

然后执行以下命令安装pip
yum install python-pip

最后使用下面安装ngxtop
pip install ngxtop

ngxtop用法:

ngxtop [选项]
ngxtop [选项](print | top | avg | sum)<var>
ngxtop info

选项和具体:

# 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.

ngxtop示例:

范例:

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 -c /opt/nginx/conf/nginx.conf

访问前几的IP:

ngxtop -c /opt/nginx/conf/nginx.conf top remote_addr

显示状态码为404的请求:

ngxtop -i 'status == 404' print request status

显示前二十最频繁的请求:

ngxtop -n 20

使用普通格式从远程服务器解析apache日志:

ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common

 

全部评论

相关推荐

03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
群星之怒:1.照片可以换更好一点的,可以适量P图,带一些发型,遮住额头,最好穿的正式一点,可以适当P图。2.内容太少。建议添加的:求职意向(随着投递岗位动态更改);项目经历(内容太少了建议添加一些说明,技术栈:用到了什么技术,还有你是怎么实现的,比如如何确保数据传输稳定的,角色注册用到了什么技术等等。)项目经历是大头,没有实习是硬伤,如果项目经理不突出的话基本很难过简历筛。3.有些内容不必要,比如自我评价,校内实践。如果实践和工作无关千万别写,不如多丰富丰富项目。4.排版建议:建议排版是先基础信息,然后教育背景(要突出和工作相关的课程),然后专业技能(一定要简短,不要长篇大论,写你会什么,会的程度就可以),然后是项目经历(一定要详细,占整个简历一定要超过一半,甚至超过百分之70都可以)。最后如果有一部分空白的话可以填补上校内获得的专业相关的奖项,没有就写点校园经历和自我评价。5.技术一定要够硬,禁得住拷打。还有作息尽量保证正常,不要太焦虑。我24双非本科还是非科班,秋招春招各找了一段实习结果都没有转正,当时都想噶了,最后6月份在校的尾巴也找到一份工作干到现在,找工作有时很看运气的不要急着自我否定。 加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务