标签:
JavaMelody能够在QA和实际运行生产环境监
测Java或Java EE应用程序服务器。并以图表的形式显示:Java内存和Java
CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、
Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。
使用配置如下:
部署步骤如下:
1:首先需要下载两个jar包,分别是javamelody-1.16.0.jar,jrobin-1.5.9.1.jar,第一个jar包下载 地址是:http://code.google.com/p/javamelody/downloads/detail?name=javamelody-1.16.0.jar& ;can=2&q=
第二个jar包需要首先下载javamelody-1.16.0.war,然后在解压后的lib下面可以找到该包,该war包的下载地址是:http://code.google.com/p/javamelody/downloads/detail?name=javamelody-1.16.0.war&can=2&q =
2:将刚刚得到的两个jar包放到自己项目的lib目录下。
3:在web.xml配置文件中进行配置,配置内容如下:
<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
4:重新启动项目,打开连接http://localhost:8080/monitoring/ 即可看到监控图表
又一种方法:
1、到http://code.google.com/p/javamelody /downloads/list下载zip的压缩包
2、解压缩并将javamelody.war复制到Tomcat发布目录下
3、在被监控项目web.xml中加入如下代码
4、将javamelody.jar复制到被监控项目的LIB目录
5、启动Tomcat应用服务器并访问javamelody应用,如http://localhost:8080/javamelody
6、根据实际情况做如下设置
7、点击Add按钮即可
原文出处:http://blog.chenlb.com/2008/11/jprofiler-monitor-remote-linux-tomcat-server.html
写的web程序,有时候可能服务器挂了,要找bug,比较辛苦,有了监控工具就好多了。现记录下 jprofiler 远程监控tomcat的安装,与起步。
先来说我的环境:客户机,windows/java 1.6/jprofiler 5.1.2。可以看另一篇文章:jprofiler 试用 。
服务器:centos 5.1/java 1.6/jprofiler 5.1.2。下载linux版:http://download.ej-technologies.com/jprofiler/jprofiler_linux_5_1_2.tar.gz
1、下载并安装,其实直接解压就得了。
[root@master local]# pwd /usr/local [root@master local]# wget http://download.ej-technologies.com/jprofiler/jprofiler_linux_5_1_2.tar.gz [root@master local]# tar zxf jprofiler_linux_5_1_2.tar.gz
2、打开windows中的jprofiler,配置远程的session。
2.1、Shift+F1打开“QuickStart"对话框,选择“An application server, locally or remotely”,然后“Next”,如图:
2.2、选择服务器为:Apache Tomcat 6.x,Next,然后选择“On a remote computer”,再选择“Linux X86/AMD64”。
2.3、Next,输入远程机子IP地址,我这里是:Remote address 192.168.1.80。Next,输入远程jprofiler5的安装目录,我这里是Installation directory /user/local/jprofiler5
2.4、Next,输入本地tomcat的启动脚本,如:M:\apache-tomcat-6.0.18\bin\startup.sh。其实jprofiler是根据startup.sh生成新的启动脚本,新的脚本加了一些参数,如图。
2.5、Next,选择JVM版,如:JVM Vender Sun,Version 1.6.0,Mode hotspot。Next,选择监控远程服务器的端口,如:JProfiler port: 8849 default。
2.6、Next,选择启动方式,选择:Don‘t wait, startup immediately,如图:
选择了此项,下一步会让你选择配置文件同步方式,我选择“Manual synchroization”,并且输入配置文件在远程服务器的位置,如:/usr/local/jprofiler5,当然其它目录也一样的。
2.7、Next,后,会有 summary 配置信息列出,如图:
2.8、Next,选择“No, I will start the session later”,Finish。
3、服务器端配置,从 summary 的信息可以知道,C:\Documents and Settings\chenlb\.jprofiler5\config.xml 文件copy到/usr/local/jprofiler5目录下。把windows中的jprofiler5生成的tomcat的启动脚本放到服务器的 tomcat/bin目录下,如我这里,把M:\apache-tomcat-6.0.18\bin\startup_jprofiler.sh 文件copy到/usr/local/tomcat-6.0.18/bin目录下。startup_jprofiler.sh 只加了启动参数让jprofiler可以去监控tomcat,打开startup_jprofiler.sh 文件看一下,在启动tomcat前面(即:exec "$PRGDIR"/"$EXECUTABLE" run "$@" 前面加)了:
其中,id=101是config里的session的id。
4、启动tomcat,然后,非常让人失望,报ERROR: Invalid license key.
[root@master tomcat-6.0.18]# bin/startup_jprofiler5.sh Using CATALINA_BASE: /usr/local/tomcat-6.0.18 Using CATALINA_HOME: /usr/local/tomcat-6.0.18 Using CATALINA_TMPDIR: /usr/local/tomcat-6.0.18/temp Using JRE_HOME: /usr/local/jdk1.6.0_10 [root@master tomcat-6.0.18]# tail logs/catalina.out JProfiler> 32-bit library JProfiler> Don‘t wait for frontend to connect. JProfiler> Using config file /usr/local/jprofiler5/config.xml (id: 101) JProfiler> Listening on port: 8849. JProfiler> Instrumenting native methods. JProfiler> Native library initialized JProfiler> Using dynamic instrumentation JProfiler> Time measurement: elapsed time JProfiler> CPU profiling enabled JProfiler> ERROR: Invalid license key. [root@master tomcat-6.0.18]#
想一想,windows下用的是破解的,破解是替换了dll文件的,而linux下没有破解,然后去官方注册一个key,可以免费用10天,注册地址:http://www.ej-technologies.com/download/jprofiler/trial.php。
注册了新key后,在/usr/local/jprofiler5/config.xml文件licenseKey标签里改下。就得了。 再启动tomcat正常了,
[root@master tomcat-6.0.18]# tail logs/catalina.out JProfiler> Using config file /usr/local/jprofiler5/config.xml (id: 101) JProfiler> Listening on port: 8849. JProfiler> Instrumenting native methods. JProfiler> Native library initialized JProfiler> Using dynamic instrumentation JProfiler> Time measurement: elapsed time JProfiler> CPU profiling enabled JProfiler> Hotspot compiler enabled JProfiler> Starting org/apache/catalina/startup/Bootstrap ...
5、好,现在可以本地windows的jprofiler监控远程tomcat了,打开本地jprofiler,Session->start center,然后双击“Apache Tomcat 6.x on 192.168.1.80”,如图
6、开始后,可以地址栏输入http://192.168.1.80:8080/,再去看下jprofiler,恩,太可爱了,有动静,Thead views 如图:
那最下面的http-8080-1的线程就是打开上面的url后出现的。
好了,先写到这里,怎么用好就要靠自己了。
手上接触Tomcat的项目越来越多,虽说tomcat的manager本身带了很简单的监控服务器状态的工具,但是那个对服务器的详细状态和集群的监控来说还是太简陋了,找了下发现Lambda Probe这个工具还不错,监控得很详细。
安装:
1.在Lambda Probe官方网站下载最新的Lambda
Probe(目前是1.7b),直接下载BINARIES,解压得到probe.war。
下载地址: wget http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip
unzip probe.1.7b.zip
关闭正在运行的。
3. 将probe.war文件复制: mv probe.war /usr/local/tomcat6.0.20/webapps/
4. 在/usr/local/tomcat6.0.20/conf/tomcat-users.xml下确保添加了manager用户
vi /usr/local/tomcat6.0.20/conf/tomcat-users.xml 增中以下内容:
<user username="用户名" password="密码" roles="manager"/>
5.编辑/etc/profile.d/java.sh,增加JAVA_OPTS环境参数,这个参数是用来载入-Dcom.sun.management.jmxremote,以让Lambda
Probe取得服务器环境状态。
JAVA_OPTS=-Dcom.sun.management.jmxremote
export JAVA_OPTS
以上内容放到Java环境变量中
6. 启动Tomcat,使用管理账户登录: http://IP:8080/probe/ 接着输入刚才设置的用户名和密码
7.下载messages_zh_CN.properties 汉化文件 ( 关闭Tomcat )
wget http://www.deepseabug.cn/blog/wp-content/uploads/file/20090416/messages_zh_CN.zip 解压并且复制
mv messages_zh_CN.properties /usr/local/tomcat6.0.20/webapps/probe/WEB-INF/
8. 启动Tomcat,使用管理账户登录http://IP:8080/probe/
看到中文,说明汉化成功!
标签:
原文地址:http://www.cnblogs.com/zhengah/p/4934006.html