不管你是网站系统管理员,还是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>
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]
......
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>
<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>
<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"
-Dcom.sun.management.jmxremote.ssl=false"
6. 重启Resin。
7. 在另外一台机器上(安装了JDK),启动jconsole,在弹出的对话框里面 输入相关信息,点击“连接”,就可以看到上图中底下的监控台。
本文转自zkjian517 51CTO博客,原文链接:http://blog.51cto.com/zoukejian/57544