霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

Apache日志监控工具Apachetop

Linux服务器的负载、进程等信息可以通过top命令查看。而Apache的状态如何实时的监测呢?当然可以使用“tail -f”log文件,但是这个方法不好用!

通过 apachetop 工具可以动态的查看apache的日志文件,还可以直观的看到访问的每个地址的请求数、速度及流量等信息。

apachetop 官网地址:http://www.webta.org/projects/apachetop/

apachetop的安装:

# wget http://www.webta.org/apachetop/apachetop-0.12.6.tar.gz
# tar zxvf apachetop-0.12.6.tar.gz
# cd apachetop-0.12.6
# ./configure –prefix=/usr/local/apachetop && make && make install

使用apachetop监控apache日志:

# apachetop -f /usr/local/apache2/logs/access_log

显示如下图所示:

apachetop apache日志监控

简单解释一下前五行数据:

第一行左中右,分别是上次点击时的时间、apachetop运行总时间、现在的时间。
第二行和第四行,表示的意义基本相同,都表示的是请求数、平均每秒请求数、平均每秒传输量、平均每请求传输量; 不同的是,第二行是从apachetop开始运行计算的,第四行是从上一次清空请求时开始计算的,在行首的括号里的时间,这个时间和下面提到的-T和-d参数是有关系的,-T是多少,这个时间最大就是多少,-d是多少,这个时间就一次增加几,直到和-T的时间相等,就不变了。
第三行和第五行表示的意义相同,表示的是 2xx/3xx/4xx/5xx 这四种类型 breakdown of return codes的请求数及所占总请求数的百分比。

再往后的数据则从访问量大小排列出了是哪些程序在被访问。格式照上也很好理解。

有几个很有用的参数值的学习一下。

-f:这个参数指定了 apachetop 命令观察的对象。并不是每个人的apache的日志都在默认的位置,甚至你为了统计的方便,使用多个日志文件来区分不同的端口(80、443)、正确和错误的访问日志、等等。这个时候可以使用这个参数来指定log文件。尤其有用的是,你可能需要同时查看多个log的情况,这时你可以多次使用-f参数来制定,如: apachetop -f file1 -f file2。

-d:默认情况下,显示界面每5秒刷新一次,如果你觉得刷新频率不爽,你可以使用这个参数来做改变。

-T:上面的例子中,我们在最后面看到的是最近30秒的情况。如果你觉得密度不够,可以使用这个参数来做改变。

-H:还是上面的例子,可以看到最近30秒的请求总数是:1606+85+1+0=1692次。如果你想让每请求N次刷新一次界面怎么办?哈,就是使用这个命令了!

注意:-T和-H参数是不能同时使用的,否则会提示你:“-T and -H are mutually exclusive. Specify only one.”

-q:有一些程序,在使用的时候是可以带参数的,即get方式。如果你想看看都是些什么参数,就可以使用这个命令了!