五大最佳开源java性能监控工具
所属分类 apm
浏览量 1924
https://dzone.com/articles/java-performance-monitoring-5-open-source-tools-you-should-know
Stagemonitor
Pinpoint
MoSKito
Glowroot
Kamon
Stagemonitor
提供Java监控代理程序,可监控在多个服务器上运行的应用程序。
与时间序列数据库(TSDB)集成,支持 Elasticsearch,Graphite和InfluxDB 等数据库
代理将度量指标和请求跟踪发送到中央数据库。
可以从集群或直接从服务器查看历史或实时数据
创建自定义报警机制,为每个指标定义阈值。
仪表板 可视化分析指标和请求。
自定义仪表板 自定义插件 使用第三方插件
提供无需后端的浏览器窗口小部件,自动注入受监控的网页
https://www.stagemonitor.org/
https://github.com/stagemonitor/stagemonitor
Pinpoint
用于大规模分布式系统的APM工具
参考 Dapper,Google分布式系统跟踪系统
解释每个事务如何执行,跟踪组件之间的行为,指出发生问题的区域和潜在的瓶颈。
仪表板帮助可视化组件如何连接,并允许用户实时监控应用程序内的活动线程。
允许用户查看请求计数和响应模式,以便及时识别潜在问题。
可以查看包括CPU使用率,内存/垃圾回收和JVM参数等详细信息。
https://pinpoint.com/
host app + agent
collector (send profile data udp/tcp + thrift )
hbase
web ui
pinpoint instruments traceable lib at class load time
MoSKito
包含三种工具
MoSKito-Essential:最基本的独立项目。它是MoSKito功能的核心,可以监控应用程序。
MoSKito-Central:用于存储性能数据的集中存储服务器。
MoSKito-Crotrol:用于监视多节点Web应用程序性能的工具。
只需将jar包放到用用中 或在web.xml文件中新建一个节点。
一旦工具启动并运行,就会开始收集性能数据,进行实时分析,同时将数据存储在本地。
该工具会收集所有的性能指标,如线程,内存,缓存,存储,服务,注册,转换,SQL,负载分布等。
不需要更改代码,本身就支持所有主流的应用程序服务器(Tomcat,Jetty,JBoss,WebLogic)。
MoSKito于2007年首次推出,是一个众所周知的稳定的工具,由团队和社区共同支持,包括付费支持选项。
https://www.moskito.org/
Glowroot
快速,干净和简单的APM工具
可以跟踪捕获缓慢的请求和错误,能够记录每个用户的操作时间,以及SQL捕获和聚合。可保留汇总所有历史数据。
通过图表的方式显示响应时间分布和响应时间百分比
下载并解压安装文件,并将-javaagent:path/to/glowroot.jar添加到应用程序的JVM参数中。
一旦工具启动并运行,将获得能够设置响应时间百分比和MBean属性的警报。
提供对跨多线程异步请求的全面支持,支持Tomcat,TomEE,JBoss EAP,Wildfly,Jetty和Glassfish等服务器。
agent
central (UI+collector)
cassandra
https://glowroot.org/
Kamon
Automatically instrument, monitor and debug distributed systems
Kamon provides a set of tools to go from zero to a healthy and observable production deployment
Use a single, comprehensive API to gather all the telemetry data you need from distributed systems
Metrics
Track latency, errors and any business metric with a dimensional model and high-definition histograms.
Distributed Tracing
Model operations that span several services and components - with automatically tracked metrics.
Context Propagation
Propagate information like userID, transactionID and other correlation data between threads and processes.
包含所有记录和跟踪操作的API以及为应用程序提供字节码检测和报告功能的可选模块。
提供一个简单的API来记录JVM应用程序的指标和性能信息。
https://kamon.io/
https://apm.kamon.io/demo
上一篇
下一篇
aerospike缓冲和缓存机制
aerospike写入失败处理queue too deep
aerospike写块大小设置FAQ
轻量级web容器undertow
aerospike数据分布
图论术语表