本文利用脚本实现对apache状态的监控
mod_status模块是为方便web服务器管理员检查服务器当前的运行状况的,该模块可以以html页面方式输出服务器的当前运行状态
总的来说包括如下信息:
1.正在伺服请求的工作者(线程或进程)数量
2.空闲的工作者数量
3.每个工作者的状态:已完成的请求数、已发送的字节数。
4.总访问数和已发送的字节总数
5.服务器自启动/重启以来经过的时间,服务器已经运行的时间。
6.平均每秒请求数,平均每秒发送的字节数,平均每个请求发送的字节数。
7.每个工作者的当前CPU使用百分率,以及Apache的当前总计CPU使用百分率。
8.当前正在被处理的主机和请求
在apache配置文件中
需要加载mod_status.so
LoadModule status_module modules/mod_status.so
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .askwan.com
</Location>
这里仅允许askwan.com这个域的主机才有权访问。
通过
http://mrtg.askwan.com/server-status 页面j就可以访问服务器状态报告页面
在支持自动刷新的浏览器上使用
http://mrtg.askwan.com/server-status?refresh=N 访问状态页面可以每N秒自动刷新一次。
还可以通过http://mrtg.askwan.com/server-status?auto 获得一个面向机器可读的状态文件,这个也是本文脚本所需要的
这个将得到如下信息
Total Accesses: 129248
Total kBytes: 299497
CPULoad: 17.7033
Uptime: 1402
ReqPerSec: 92.1883
BytesPerSec: 218748
BytesPerReq: 2372.84
BusyWorkers: 246
IdleWorkers: 54
Scoreboard: _KK_K_KKKCKCK__K_KK_CCKCKK_KKKKKK_K_KKK
脚本:
下载文件 (已下载 119 次)
点击这里下载文件: apache.mrtg.zip
Target[askwan-apache1]: `/web/mrtg/bin/apache.mrtg.pl -url http://mrtg.askwan.com/server-status?auto -info BUSYSERVERS`
Options[askwan-apache1]: noo,gauge
Background[askwan-apache1]: #738AA6
Xsize[askwan-apache1]: 600
Ysize[askwan-apache1]: 200
Ytics[askwan-apache1]: 10
Title[askwan-apache1]: Busy Servers
PageTop[askwan-apache1]: <H1>Apache: Busy Servers</H1>
MaxBytes[askwan-apache1]: 20
YLegend[askwan-apache1]: BusyServers
ShortLegend[askwan-apache1]: BServers
Legend1[askwan-apache1]: Busy Workers
Legend3[askwan-apache1]: Workers Alive
LegendI[askwan-apache1]: BWorkers:
[img][attach]123[/attach][/img]
将target替换
/web/mrtg/bin/apache.mrtg.pl -url http://mrtg.askwan.com/server-status?auto -info BYTESPERREQ
/web/mrtg/bin/apache.mrtg.pl -url http://mrtg.askwan.com/server-status?auto -info CPULOAD
/web/mrtg/bin/apache.mrtg.pl -url http://mrtg.askwan.com/server-status?auto -info SERVERS
/web/mrtg/bin/apache.mrtg.pl -url http://mrtg.askwan.com/server-status?auto -info IDLESERVERS
并修改相关值 可以得到apache的各种状态信息