本文利用脚本实现对apache状态的监控
要实现监控apache状态,本文利用Apache模块 mod_status的输出信息,取出需要的值。
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秒自动刷新一次。