网络通信 频道

运维监控系列:mrtg监控apache状态

   本文利用脚本实现对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秒自动刷新一次。
 

    还可以通过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的各种状态信息

0
相关文章