关于apache监控有两种方法:
一是自带的监控模块status;
二是第三方监控工具apachetop。
1.1status模块监控
使用status监控模块对apache进行监控的步骤如下:
1.将status模块开启
LoadModule status_module modules/mod_status.so
2.将ExtendedStatus设置为On
ExtendedStatus On
将监控时的扩展信息显示出来
3.设置访问server-status权限
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all //表示拒绝所有的用户访问server-status模块
Allow from all
4.进入监控页面
http://ip:端口/server-status
实例:
http://localhost:8091/server-status
5.实时监控
http://ip:端口/server-status?auto&refresh=time
表示每隔多长时间采集一个数据,单位为秒
例如:
http://192.168.244.129/server‐status?auto&refresh=5
监控的信息如下:
Total Accesses:表示总的请求数,即客户端向服务器发送的请求数。如果这个值不变,那么说明客户端发送的请求未到达服务器
Total kBytes: 表示总的字节数
Uptime: 表示运行时间
ReqPerSec: 表示的HTTP请求数
BytesPerSec: 表示每秒的字节数
BytesPerReq: 表示每个请求的字节数
BusyWorkers: 表示正在忙的线程
IdleWorkers: 表示空闲的线程
BusyWorkers+IdleWorkers为总的线程数,默认值为250。
如果监控发现IdleWorkers为0,那么就说明请求可能出现排队。排队最后会由超时时间来决定
Scoreboard:表示每请求的状态
请求的状态主要包括:
“_”:表示等待连接
“S”:表示准备连接
“R”:表示正在读请求
“W”:表示服务器向客户端发送响应信息
“K”:表示保持长连接
“D”:表示DNS查询
“C”:表示关闭连接
“L”:表示正在写日志
“G”:表示退出完成
“I”:表示该线程释放
“.”:表示当前未使用状态
1.2apachetop监控
在类unix下我们通常使用第三方监控工具:apachetop
apachetop监控命令
apachetop -f 日志文件
apachetop -f /usr/local/apache2/logs/access_log
apache日志文件是access_log
apachetop显示的监控信息如下:
主要显示以下内容:
1.总的请求数、每秒的请求数
2.总的字节数、每秒的字节数
3.每个请求的字节数
4.HTTP返回状态码的统计
5.详细的URL信息
*表示当前光标所在的位置,使用向上和向下键可以切换我们要选择的记录
使用向右键可以显示详细的URL信息,使用向左键返回列表模式
按键可以去切换显示的模式,通常有三种显示的模式:URL、Referrer、Host。