「javamelody」javamelody监控javaee
本篇文章给大家谈谈javamelody,以及javamelody监控javaee对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、spring集成javamelody怎么用连接池监控sql实例
- 2、如何使用javamelody的jar包做二次开发
- 3、JavaMelody 如何不让其他人监控到
- 4、JavaMelody真的能监控普通Java程序吗
- 5、如何得到JavaMelody的监控数据
- 6、请问大佬有JavaMelody(系统监控工具) V1.87.0 官方版软件免费百度云资源吗
spring集成javamelody怎么用连接池监控sql实例
前面写过对于webapp,用javamelody来监控、分析性能是挺方便的;那要对普通的java应用进行监控,只需要在应用上启动一个嵌入式web容器就可以了。
javamelody里面的war包就用了winstone 作为Servlet容器,可以直接启动;本文是以Jetty为例,在应用中嵌入一个jetty:
import java.util.EventListener;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Filter;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
import org.mortbay.jetty.handler.ContextHandlerCollection;
import org.mortbay.jetty.handler.ResourceHandler;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.DefaultServlet;
import org.mortbay.jetty.servlet.FilterHolder;
import org.mortbay.thread.QueuedThreadPool;
import org.springframework.web.context.ContextLoaderListener;
/**
* 启动一个jetty容器,结合javamelody用于监控应用性能
* @author langke
* 2012-12-21
*/
public class JavaMelodyMonitorServer {
private ESLogger log = Loggers.getLogger(JavaMelodyMonitorServer.class);
Server webServer;
/**
*
* @param serverName 应用名称
* @param host 绑定的IP地址
* @param serverPort 应用端口,jetty启动的端口默认会在此基础上加1000,如果配置文件有配置jetty.listen.port则配置优先
*/
public JavaMelodyMonitorServer(String serverName,String host,int serverPort) {
init(serverName, host, serverPort);
start();
final JavaMelodyMonitorServer server = this;
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
try {
log.info("shutdown mointorServer:{}", server);
server.stop();
} catch (Exception e) {
log.error("run main stop error!", e);
}
}
});
}
private void init(String serverName,String host,int serverPort){
int defaultValue = serverPort+1000;
int port = Config.get().getInt("jetty.listen.port", defaultValue);
Connector connector = new SocketConnector();
webServer = new Server();
QueuedThreadPool pool = new QueuedThreadPool();
pool.setMinThreads(Config.get().getInt("jetty.pool.MinThread", 3));
pool.setMaxThreads(Config.get().getInt("jetty.pool.MaxThread", 32));
String server = host;
pool.setName(serverName+"-monitor");
pool.setDaemon(true);
webServer.setThreadPool(pool);
connector = new SocketConnector();
connector.setPort(port);
connector.setHost(server);
connector.setMaxIdleTime(60000); // 1 min
webServer.addConnector(connector);
ContextHandlerCollection col = new ContextHandlerCollection();
Context context = new Context(col, "/", Context.SESSIONS);
ResourceHandler resourceHandler = new ResourceHandler();
webServer.setHandlers(new Handler[] {col,resourceHandler });
webServer.addHandler(context);
// Set Java Melody storage Directory
System.setProperty("javamelody.storage-directory", "javamelody-"+pool.getName());
//add filter
Filter monitoringFilter = new net.bull.javamelody.MonitoringFilter();
context.addFilter(new FilterHolder(monitoringFilter), "/monitoring", Handler.REQUEST);
MapString,String initParams = new HashMapString,String();
initParams.put("contextConfigLocation", "classpath:net/bull/javamelody/monitoring-spring.xml");
context.setInitParams(initParams);
//add listener
EventListener listener = new ContextLoaderListener();
context.addEventListener(listener);
context.addServlet(DefaultServlet.class, "/*");
}
private void start(){
try{
webServer.join();
webServer.start();
}catch (Exception e){
log.error("Error starting httpserver", e);
}
}
private void stop(){
try{
webServer.stop();
webServer.destroy();
}catch (Exception e){
log.error("Error stop httpserver", e);
}
}
}
这个jetty加了shutdown hook,应用关闭的时候会自己关闭容器。
需要的jar依赖名如下:
servlet-api-3.0.jar
org.springframework.web-3.1.0.RELEASE.jar
jrobin-1.5.9.1.jar
jetty-util-6.1.26.jar
jetty-6.1.26.jar
javamelody.jar
com.springsource.net.sf.cglib-2.2.0.jar
如果使用spring框架,监控配置就比较简单,可以对某个包所有类进行监控:
bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor"
property name="pointcut"
bean class="org.springframework.aop.support.JdkRegexpMethodPointcut"
property name="pattern" value="org.langke.core.service.*" /
/bean
/property
/bean
监控数据源:
bean id="springDataSourceBeanPostProcessor" class="net.bull.javamelody.SpringDataSourceBeanPostProcessor"
/bean
bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean"
property name="targetName" value="dataSource" /
/bean
如何使用javamelody的jar包做二次开发
方法如下:
选中项目
然后右击弹出选项列表
依次选择Export---Java---jar file---next---browser(选择存放路径)---next---next---browser---finish/ol
JavaMelody 如何不让其他人监控到
JavaMelody用于对Java应用或者应用服务器的QA以及开发环境的监控。它只负责对行为进行监控,而不负责触发操作。
JavaMelody真的能监控普通Java程序吗
y用嵌入式的监控方式,实时监控性能指标。如:页面相应时间,spring bean方法调用时间,sql语句执行时间等很多指标。我在这就不一一列举了。
我感觉比较好的两特点是:
会自动按命中次数与相应时间结合排序,这就可以知道优化哪个页面,bean方法,sql最有效果
页面,bean,
如何得到JavaMelody的监控数据
软件根据设计的12个条件,盘中实时数据计算得来的。自己可以选取全部12个或部分监控条件,但不可以自遍。
监控精灵是一款监视网络访问情况,本地程序运行情况。查看当前后台日志信息为一体的软件。获取root权限后可以更新cpu调节政策。
通达信软件是多功能的证券信息平台,与其他行情软件相比,有简洁的界面和行情更新速度较快等优点。通达信允许用户自由划分屏幕,并规定每一块对应哪个内容。至于快捷键,也是通达信的特色之一。通达信还有一个有用的功能,就是“在线人气”,可以了解哪些是当前关注,哪些是持续关注,又有哪些是当前冷门,可以更直接了解各个股票的关注度。
请问大佬有JavaMelody(系统监控工具) V1.87.0 官方版软件免费百度云资源吗
链接:
提取码:v7cw
软件名称:JavaMelody(系统监控工具)V1.87.0官方版
语言:简体中文
大小:20.65MB
类别:系统工具
介绍:JavaMelody是一款功能强大的系统检测工具,用户可以通过这款软件,实时检测系统CPU、内存等使用情况,让用户可以很直观的观察数值的变化。软件功能强大,检测的数据包含用户Session数量、JDBC连接数、http请求、sql请求、jsp页面与业务接口方法的执行数量,平均执行时间,错误百分比等。
关于javamelody和javamelody监控javaee的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。