<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深度VPS &#187; ngxtop</title>
	<atom:link href="http://www.deepvps.com/tag/ngxtop/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nginx日志实时监控、排查整理工具 &#8211; ngxtop</title>
		<link>http://www.deepvps.com/ngxtop.html</link>
		<comments>http://www.deepvps.com/ngxtop.html#comments</comments>
		<pubDate>Tue, 22 Mar 2016 13:27:15 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[ngxtop]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=1554</guid>
		<description><![CDATA[要实时查看日志文件变动我们首先想到的应该是tail -f /path/to/log，但是这样看网站的访问日志是相当崩溃的，好一点可以写个脚本进行筛选，但是大部分人还是不擅长的，今天就推荐给大家一个Nginx日志工具：ngxtop。
说起top工具有很多如：iftop、htop、ntop等，今天说的ngxtop功能也毫不逊色，不仅能实时监控Nginx日志的访问还可以对以前的日志进行排查整理。
安装ngxtop
ngxtop是使用python编写的，所以使用pip安装最简单了，可能有些用户没有安装pip，下面我们一块加上pip的安装步骤：
Fedora：yum install python-pip
CentOS/RHEL需先安装EPEL，安装完后：yum install python-pip
Debian/Ubuntu：apt-get install python-pip
安装完pip就可以安装ngxtop：pip install ngxtop
某ss啥的你们懂的，通过pip安装也是很简单的。
ngxtop使用参数
ngxtop 参数 print&#124;top&#124;avg&#124;sum
ngxtop info 显示日志格式信息

-l &#60;file&#62;或&#8211;access-log &#60;file&#62; 设置日志路径
-f &#60;format&#62;或&#8211;log-format &#60;format&#62; 设置日志格式，默认格式combined，另外一种较常用格式为common
&#8211;no-follow 处理以前的日志，实时日志不做处理
-t &#60;seconds&#62; 或 &#8211;interval &#60;seconds&#62; 刷新频率，默认2秒
-g &#60;var&#62;或 &#8211;group-by &#60;var&#62; 按变量分组，默认显示 request_path
-w &#60;var&#62;或 &#8211;having &#60;expr&#62; 筛选 [default: 1]
-o &#60;var&#62;或 &#8211;order-by &#60;var&#62; 输出的排序方式，默认: 访问数
-n &#60;number&#62;或 &#8211;limit &#60;number&#62; 显示top多条，默认前top 10条
-a &#60;exp&#62; &#8230;或 &#8211;a &#60;exp&#62; &#8230; 对输出字段做处理，可选 sum, avg, min, max
-v或 [...]]]></description>
			<content:encoded><![CDATA[<p>要实时查看日志文件变动我们首先想到的应该是tail -f /path/to/log，但是这样看网站的访问日志是相当崩溃的，好一点可以写个脚本进行筛选，但是大部分人还是不擅长的，今天就推荐给大家一个Nginx日志工具：ngxtop。</p>
<p>说起top工具有很多如：iftop、htop、ntop等，今天说的ngxtop功能也毫不逊色，不仅能实时监控Nginx日志的访问还可以对以前的日志进行排查整理。</p>
<h3>安装ngxtop</h3>
<p>ngxtop是使用python编写的，所以使用pip安装最简单了，可能有些用户没有安装pip，下面我们一块加上pip的安装步骤：<span id="more-1554"></span></p>
<p>Fedora：<strong>yum install python-pip</strong><br />
CentOS/RHEL需先安装EPEL，安装完后：<strong>yum install python-pip</strong><br />
Debian/Ubuntu：<strong>apt-get install python-pip</strong></p>
<p>安装完pip就可以安装ngxtop：<strong>pip install ngxtop</strong></p>
<p>某ss啥的你们懂的，通过pip安装也是很简单的。</p>
<h3>ngxtop使用参数</h3>
<p>ngxtop 参数 print|top|avg|sum<br />
ngxtop info 显示日志格式信息</p>
<ul>
<li>-l &lt;file&gt;或&#8211;access-log &lt;file&gt; 设置日志路径</li>
<li>-f &lt;format&gt;或&#8211;log-format &lt;format&gt; 设置日志格式，默认格式combined，另外一种较常用格式为common</li>
<li>&#8211;no-follow 处理以前的日志，实时日志不做处理</li>
<li>-t &lt;seconds&gt; 或 &#8211;interval &lt;seconds&gt; 刷新频率，默认2秒</li>
<li>-g &lt;var&gt;或 &#8211;group-by &lt;var&gt; 按变量分组，默认显示 request_path</li>
<li>-w &lt;var&gt;或 &#8211;having &lt;expr&gt; 筛选 [default: 1]</li>
<li>-o &lt;var&gt;或 &#8211;order-by &lt;var&gt; 输出的排序方式，默认: 访问数</li>
<li>-n &lt;number&gt;或 &#8211;limit &lt;number&gt; 显示top多条，默认前top 10条</li>
<li>-a &lt;exp&gt; &#8230;或 &#8211;a &lt;exp&gt; &#8230; 对输出字段做处理，可选 sum, avg, min, max</li>
<li>-v或 &#8211;verbose 详细输出</li>
<li>-d或 &#8211;debug debug模式，输出每行及记录</li>
<li>-h或 &#8211;help 显示帮助详细</li>
<li>&#8211;version 显示版本信息</li>
</ul>
<p>高级参数</p>
<ul>
<li>-c &lt;file&gt;或 &#8211;config &lt;file&gt; 指定nginx配置文件，自动分析日志格式</li>
<li>-i &lt;filter-expression&gt;或 &#8211;filter &lt;filter-expression&gt; 满足表达式的过滤将被处理</li>
<li>-p &lt;filter-expression&gt;或 &#8211;pre-filter &lt;filter-expression&gt; in-filter expression to check in pre-parsing phase.</li>
</ul>
<p>另外一些变量可以在分析时用到，名字含义同日志格式里的设置：remote_addr、remote_user、time_local、request、request_path、status、body_bytes_sent、http_referer、http_user_agent。</p>
<h3>ngxtop使用实例</h3>
<h4>实时监控日志</h4>
<p><strong>ngxtop -l /home/wwwlogs/www.deepvps.com.log</strong></p>
<p>虽然直接执行ngxtop会自动搜索nginx.conf，但是直接解析里面默认虚拟主机的，建议直接指定日志文件。可以指定上-n 限定条数，也可以指定上-g http_user_agent按useragent查看。</p>
<p><strong>日志分析</strong></p>
<p><strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow</strong> 可以加一下参数进行详细分析，下面几个例子</p>
<p>按rquest_path且是404的前10请求：<strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow top request_path &#8211;filter &#8217;status == 404&#8242;</strong></p>
<p>按总bytes sent最高的前10：<strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow &#8211;order-by &#8216;avg(bytes_sent) * count&#8217;</strong></p>
<p>按remote address进行排序前10：<strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow &#8211;group-by remote_addr</strong></p>
<p>显示400或更高返回状态码的且只显示request、status、http_referer这三列信息：<strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow -i &#8217;status &gt;= 400&#8242; print request status http_referer</strong></p>
<p>显示bytes_sent平均值且状态码为200且request_path以vpser开始的前10：<strong>ngxtop -l /home/wwwlogs/www.<strong>deepvps.com</strong>.log &#8211;no-follow avg bytes_sent &#8211;filter &#8217;status == 200 and request_path.startswith(&#8220;deepvps&#8221;)&#8217;</strong></p>
<p>转自：http://www.vpser.net/manage/ngxtop.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/ngxtop.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
