注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 获取当前页面路径,实现权..
 帮助

也谈 Apache,Resin,JVM 状态监控


2007-12-31 18:09:48
 标签:Apache JDK 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,访问被
       拒绝了。
     [root@lb1 conf]# wget http://localhost/server-status
     ......
      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,在弹出的对话框里面     输入相关信息,点击“连接”,就可以看到上图中底下的监控台。

 




    文章评论
 
2007-12-31 21:12:08
监控真的是非常重要

2008-01-01 11:39:21
顶.正是我需要的东西,呵呵

2008-03-18 09:26:31
邹老大:
你好!
请问一下Resin2.0里有没有监控啊?如何开启啊,能否指点一二啊.
如果有,你可以发邮件给我,或者在后面留言,我会过来看的.
wangzi6hao@gmail.com
非常感激

2008-03-22 10:08:31
resin 2.0 同样可以按照这篇文章所写的方法来做监控。
你可以试试,如果有问题,告诉我,好吗?

2008-04-03 11:41:40
嗯,先谢谢!
resin2.0我已经配置出来怎么监控了.
和resin3.0略有不同.

因为公司最近有resin2.16老是出现当机现象.
配置了单机3resin的负载均衡,还能顶一段时间.
从resin2.16的日志记录来看,几乎看不到什么报错,但是老会当机.
现在还不知道怎么配置负载均衡的日志文件,因为单机测试可以生成日志文件,到了负载均衡的时候,就不行了.很是郁闷.

因为现在jdk是用的1.4的,实在不知道怎么来监制jvm也不是很清楚如何来查看哪一个类或者方法占用资源过大等信息.
如果邹老大有什么方法可以提供一下监控1.4,那真是太感谢你了.

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: