天天看点

也谈 Apache,Resin,JVM 状态监控

        不管你是网站系统管理员,还是WEB开发人员,了解你的WEB应用及其支撑软件的运行状况,都是至关重要的事情,不然,你就等着业务部门的投诉吧。由于Apache + Resin 是流行的WEB配置,我们就来看看怎样监控Apache, Resin 及 Resin 的运行环境 JVM的运行状况。

一. Apache 运行状态监控

              Apache 自带了两个用于自身监控的模块,它们是mod_status 和 mod_info,后者比 

      前者显示更为详细的状态信息。通常情况下,启用mod_status就可以了。启用  

      mod_status很简单,在Apache配置文件httpd.conf文件里,加入或取消注释下面的内容并

      重启Apache就可以了。

            <Location /server-status>

                     SetHandler server-status

                     Order Deny,Allow

                     Allow from 172.16.16.253    <--- 只允许172.16.16.253 访问Apache 状态页面

            </Location>

       下面我们来访问Apache的状态页面:

       首先,我们从本机去wget Apache的状态页面,由于本机IP不是172.16.16.253,访问被

       拒绝了。

     ......

      15:27:23 错误 403:Forbidden。

   接下来,我们从172.16.16.253上去查看:

我们正常地访问到了,Apache状态显示出来了。

     接下来,我们看看Resin状态监控。

二.Resin 运行状态监控

       Resin状态监控也比较简单,跟Apache一样,折腾折腾配置文件再重启就

    OK了。在Resin配置文件resin.conf添加下面的配置片段:

     <web-app-default>

        <servlet-mapping servlet-class='com.caucho.servlets.ResinStatusServlet'>

          <url-pattern>/resin-status</url-pattern>

          <init enable="read"/>

        </servlet-mapping>

        <security-constraint>

          <web-resource-collection url-pattern="/resin-status/*"/>

          <ip-constraint>

            <allow>218.19.x.x/32</allow> <-- 只允许该地址访问Resin状态页面

          </ip-constraint>

         </security-constraint>

      </web-app-default>

     下面是看到的Resin状态页面:

        接下来,我们再看看JVM的状态监控。

三. JVM 运行状态监控

        这里说的是JVM作为Resin的运行环境时对JVM的监控。

    配置步骤如下:

    1. cd $JAVA_HOME/jre/lib/management

    2. cp jmxremote.password.template jmxremote.password

    3. chmod 600 jmxremote.password

    4. vi jmxremote.password

       ...

       monitorRole <password>

       controlRole <password>

    5. vi $RESIN_HOME/bin/httpd.sh

       args="-Dcom.sun.management.jmxremote.port=9999  \

                            -Dcom.sun.management.jmxremote.ssl=false"

     6. 重启Resin。

     7. 在另外一台机器上(安装了JDK),启动jconsole,在弹出的对话框里面     输入相关信息,点击“连接”,就可以看到上图中底下的监控台。

本文转自zkjian517 51CTO博客,原文链接:http://blog.51cto.com/zoukejian/57544