欢迎光临
我们一直在努力

Linux中使用ngxtop实现Nginx的实时网站监控

场景

Linux的优化不是盲目的,而要对症下药,经常看到站长群里有人在问,为什么和你们用的是一样的oneinstack一键包,我的速度还这么慢呢?用的可是阿里云!我都会这样回答,优化分析不够彻底!盲目优化!

今天小残说下对Nginx的实时监控!如哪些请求最频繁、哪些IP访问次数多.例如服务器出现带宽持续很高,就需要看下现在哪些请求的流量大。

ngxtop
ngxtop就是用来满足这些实时监控需求的,是个非常小巧实用的工具

ngxtop通过分析nginx的访问日志,使用类似top命令的界面实时展示出来

需要注意的是,ngxtop是查看实时状态信息,就是在执行ngxtop命令之后的统计信息,和top一样,不要理解为是对所有日志内容的统计

基本用法

1
$ ngxtop

结果形式如下:

Linux中使用ngxtop实现Nginx的实时网站监控

案例

查看404状态的请求

1
$ ngxtop top request_path filter ‘status == 404’

查看响应流量最高的请求

1
$ ngxtop orderby ‘avg(bytes_sent) * count’

查看访问量最大的IP

1
$ ngxtop groupby remote_addr

查看状态为4xx或者5xx的请求,同时显示status和http_referer信息

1
$ ngxtop i ‘status >= 400’ print request status http_referer

查看以某字符串开头的请求

1
ngxtop filter ‘request_path.startswith(“/wp”)’

参数说明

  • -l : 指定日志文件的完整路径,默认情况下会读取nginx.conf里指定的访问日志路径
  • -f : 日志格式
  • -t : 更新频率,默认2秒
  • -g : 根据变量 group by,默认变量是 request_path
  • -o : 根据变量 order by,默认变量是 count
  • -h : help,详细的命令参数说明和使用方法,可以用这个参数查看帮助

内置变量
可以对以下内置变量进行操作,例如上面案例中的‘status >= 400’

  • bodybytessend
  • http_referer
  • httpuseragent
  • remote_addr
  • remote_user
  • request
  • status
  • time_local

安装

ngxtop的安装需要依赖库 pip

然后使用pip安装 ngxtop

1
$ sudo pip install ngxtop

这算是服务器优化分析中比较实用的,之前很多前辈都写了对应的日志,我这里记载下,不喜勿喷,当然还是很适合小白的,说到底,不论是小站还是大站,只要有一台可以折腾的小水管,这就是一技巧,我们还是要靠自己,靠别人也许并不是那么靠谱呢!

赞(0) 打赏
未经允许不得转载:中国宏阔黑客联盟|白帽黑客|网络渗透技术|网站安全|移动安全|通信安全 » Linux中使用ngxtop实现Nginx的实时网站监控
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏