Linux中Nginx的实时监控

场景

想查看Nginx的实时状态信息,如哪些请求最频繁、哪些IP访问次数多 …… 例如服务器出现带宽持续很高,就需要看下现在哪些请求的流量大

ngxtop

ngxtop就是用来满足这些实时监控需求的,是个非常小巧实用的工具 ngxtop通过分析nginx的访问日志,使用类似top命令的界面实时展示出来

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

基本用法 $ ngxtop

结果形式如下

实用案例

查看404状态的请求 $ ngxtop top request_path --filter 'status == 404' 查看响应流量最高的请求 $ ngxtop --order-by 'avg(bytes_sent) * count' 查看访问量最大的IP $ ngxtop --group-by remote_addr 查看状态为4xx或者5xx的请求,同时显示status和http_referer信息 $ ngxtop -i 'status >= 400' print request status http_referer 查看以某字符串开头的请求 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 $ sudo pip install ngxtop

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2016-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

MAC配置环境变量

 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!

793
来自专栏更流畅、简洁的软件开发方式

当前登录人管理——UserManage源代码下载(2009.10.16更新)

一、介绍和下载 名称: 当前登录人管理(UserManage) 版本: 1.0.0 上传时间: 2009.10.28 主要功能: 用户登录,保存登录状...

2416
来自专栏Java编程技术

Dubbo剖析-服务分组与服务版本号

在Dubbo中接口类并不能唯一确定一个服务,在dubbo中接口+服务分组+版本号才能唯一确定一个服务,本文就来讲解下服务分组和版本号的使用。

2342
来自专栏测试驿栈

Jmeter(二十一)_完整Demo

3:设置你的信息头管理器:application/json;text/plain;charset=UTF-8  

2623
来自专栏Golang语言社区

Go 开发的 IM 和推送服务 goim

goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议) 特性: 轻量级 高性能 纯Golang实现 支持单个、多个以及广播...

9312
来自专栏我的博客

存储过程

## 优点 1. 更好性能  * 存储过是预编译的,在创建时编译;一般SQL是每次执行都会编译 2. 功能实现更加灵活  * 存储过程可以使用条件判断和游...

3697
来自专栏程序员八阿哥

python中os.path 与sys.path

看别人写的代码,会发现两个和路径设置有关的模块 os 和sys。 python 中我们会使用这两个模块和文件路径, 创建文件 之类的 操作。 使用ubunt...

841
来自专栏web编程技术分享

【php增删改查实例】第二十一节 - 用户修改功能19.1 添加用户修改的按钮

1994
来自专栏北京马哥教育

DNS高级应用之ACL和View

一、环境准备: 1、准备三台主机,要求如下 (1) DNS服务器双网卡:eth0:192.168.10.203 eth1: 172.16.2.1...

2887
来自专栏smy

git同步远程已删除的分支和删除本地多余的分支

可以发现红框中的分支是远程分支已被删除的分支,根据提示可以使用 git remote prune 来同步删除这些分支。

1142

扫码关注云+社区

领取腾讯云代金券