不管你是网站系统管理员,还是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,访问被
       拒绝了。
     [root@lb1 conf]# wget [url]http://localhost/server-status[/url]
     ......
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

      15:27:23 错误 403Forbidden
   接下来,我们从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,在弹出的对话框里面     输入相关信息,点击“连接”,就可以看到上图中底下的监控台。