六款开源java应用性能监控工具
如果你正在寻找性能监控工具,不妨看看以下推荐的这六款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的六款开源工具目前是开源社区中最受欢迎的,在https://github.com上都能直接搜到。
原文来自:http://tech.it168.com/a2017/0120/3093/000003093435.shtml
1. SkyWalking
我首先推荐的是这个(国产的,得支持),SkyWalking 是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性能诊断。专为微服务、云本机架构和基于容器(Docker、K8s、Mesos)架构而设计。
其架构如下:
以下是监控效果图:
作为一款我一直想集成到我的性能监控平台里的一个开源项目,重点给大家推荐。官网:https://skywalking.apache.org/zh/
2. Stagemonitor
Stagemonitor提供了一个Java监控代理程序,它是使用集群应用程序堆栈构建的。意思是它旨在监控在多个服务器上运行的应用程序。该工具与时间序列数据库(TSDB)集成。此工具已针对时间序列数据以及按时间索引的数字数组进行优化。包括以下数据库:Elasticsearch,Graphite和InfluxDB。
Architecture:
Stagemonitor包含一个位于Java应用程序中的代理,可将度量标准和请求跟踪发送到中央数据库。该工具只需要一个实例就可以监控所有应用程序,实例和主机,并且可以部署在你自己的数据中心内。
在监控方面,你可以从集群或直接从开发人员服务器查看历史或实时数据,创建自定义报警机制,并为每个指标定义阈值。
Stagemonitor包括一个仪表板,可以可视化分析你感兴趣的不同指标和请求。你可以自定义仪表板,编写自定义插件,甚至使用第三方插件。它提供了一个无需后端的浏览器窗口小部件,自动注入受监控的网页。在官方文档中,Stagemonitor还支持不基于servlet的应用程序。
如果你对ELK堆栈很熟悉,该工具绝对值得一试。官网:http://www.stagemonitor.org/
3. Pinpoint
Pinpoint是用于大规模分布式系统的APM工具。它是在Dapper(一个由Google构建的分布式系统跟踪基础架构)之后构建的,为开发人员提供有关复杂分布式系统行为的更多信息。
Architecture:
该工具通过在分布式应用程序中跟踪事务,帮助分析系统的整体结构及其中的组件是如何互相影响的。它旨在解释每个事务如何执行,跟踪组件之间的行为,指出发生问题的区域和潜在的瓶颈。
仪表板帮助可视化组件如何连接,并允许用户实时监控应用程序内的活动线程。Pinpoint还允许用户查看请求计数和响应模式,以便及时识别潜在问题。你可以查看包括CPU使用率,内存/垃圾回收和JVM参数等详细信息。
如果你听说过Dapper,或者想要监控和分析复杂的分布式系统,你一定要试试这个工具。
官网:https://naver.github.io/pinpoint/
4、MoSKito
MoSKito内包含三种工具:MoSKito-Essential:最基本的独立项目。它是MoSKito功能的核心,可以监控应用程序。MoSKito-Central:用于存储性能数据的集中存储服务器。MoSKito-Crotrol:用于监视多节点Web应用程序性能的工具。
使用该工具之前,你只需将.jar文件放到WEB-INF / lib文件夹中,或者在web.xml文件中新建一个节点。一旦工具启动并运行,它就会开始收集性能数据,进行实时分析,同时将数据存储在本地。
该工具会收集所有的性能指标,如线程,内存,缓存,存储,服务,注册,转换,SQL,负载分布等。它不需要更改代码,本身就支持所有主流的应用程序服务器(Tomcat,Jetty,JBoss,WebLogic)。
你可以根据系统了解何时达到阈值,以及被监控用户的操作记录。除了基于Web的仪表板,该工具还提供了一个移动应用程序来监控应用程序性能。
▲MoSKito’s Essential
MoSKito于2007年首次推出,现在它是一个众所周知的稳定的工具,由团队和社区共同支持,包括付费支持选项,这也是该开源工具的巨大优势。官网:https://www.moskito.org/
5. Glowroot
Glowroot是一个快速,干净和简单的APM工具。它可以跟踪捕获缓慢的请求和错误,能够记录每个用户的操作时间,以及SQL捕获和聚合。该工具还可保留汇总所有历史数据。
它通过图表的方式显示响应时间分布和响应时间百分比,并允许用户通过移动设备监控应用程序性能。
Architecture:
▲Glowroot architecture
使用Glowroot之前需要下载并解压安装文件,并将-javaagent:path/to/ glowroot.jar添加到应用程序的JVM参数中。启动应用程序后,剩下的所有操作可以访问http:// localhost:4000。
一旦工具启动并运行,你将获得能够设置响应时间百分比和MBean属性的警报。Glowroot提供对跨多线程异步请求的全面支持,支持Tomcat,TomEE,JBoss EAP,Wildfly,Jetty和Glassfish等服务器。
▲Glowroot’s dashboard
如果方便简单是你对监控工具的要求,毫无疑问,该工具最合适。官网:https://glowroot.org/
6. Kamon
Kamon是为在JVM上运行的应用程序而构建的工具包。更具体地说,它是为使用Typesafe平台(使用Scala,Akka,Spray和/or Play!)构建的应用程序,但仍然对其他JVM平台和语言提供支持。
Architecture:
Kamon作为核心模块,包含所有记录和跟踪操作的API以及为应用程序提供字节码检测和报告功能的可选模块。换句话说,它提供了一个简单的API来记录JVM应用程序的指标和性能信息。
所有Kamon模块都可以通过Maven Central获得,你只需要将它们添加为项目的编译依赖项即可。之后只需启动Kamon,所有可用模块将自动启动,不需要显式激活/启动这些模块。
如果你使用的是JVM语言,或是Scala和Akka,并且需要一款性能监控工具,Kamon可能是最友好的选择。
官网:http://kamon.io
结语
这些可能是APM领域付费产品最好的替代品,但并不意味着这是一种省钱的方式。开源工具其实同样是有成本的,安装、维护、故障排除等都需要专门的人员解决,更不用说,当你遇到一个社区中从未出现过的问题时,需要浪费多少时间寻求答案了。
如果你正在寻找性能监控工具,不妨看看以下推荐的这五款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的五款开源工具目前是开源社区中最受欢迎的。
六款开源java应用性能监控工具相关推荐
- 7 款开源 Java 反编译工具
7 款开源 Java 反编译工具 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其 ...
- scara机器人动荷载_六款日产SCARA机器人性能数据大比拼
[原创]六款日产SCARA机器人性能数据大比拼 文章来源自:高工机器人网 2018-07-24 09:06:54 阅读:15677 摘要3C.新能源等新兴行业市场的快速发展,特别是在电子制造等轻小型快 ...
- 服务器监控工具_8款服务器和应用性能监控工具
点击上方"蓝色字体",选择 "设为星标" 关键讯息,D1时间送达! 对于每天可能有数十万甚至数百万请求的大型网络,即使最微不足道的延迟也可能导致给业务带来影响. ...
- 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云
从2009年到现在,我从事无人机研发将近11年了,中途设计过很多飞控,有闭源的无人飞艇飞控.大型固定翼无人机飞控,也有在开源飞控Pixhawk基础上修改的飞控,如今,基于STM32F7系列单片机的飞控 ...
- 2022年最值得学习的5款开源Java框架 小白教程
自从1996年首发,至今25年以来,Java凭借在后端.大数据.机器学习.Web.Android等领域的应用,使其仍然占据着统治地位,长期占据全球最受欢迎编程语言前三名. 在Python.JavaSc ...
- 推荐一款开源 Java 版的视频管理系统
点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...
- Java虚拟机性能监控工具草览
为什么80%的码农都做不了架构师?>>> 方法.套路.工具,都能提高生产力.做了一轮压测,顺道列列虚拟机的工具. 一. Java虚拟机有哪些性能工具 我们按操作方式分为两类,有 ...
- java web 性能 监控工具_Java web应用性能监控工具jwebap
性能测试中,我们经常希望一个平台能拦截.profile.分析性能数据,现实在一点点逼近.Jwebap:51Testing软件测试网v)?F?#|+{sI$^ 效果图http://www.jwebap. ...
- 一款开源java版的视频管理系统!
第一款面向大众的java版的视频管理系统.妖气山视频管理系统理论上可以制作任何类型的视频网站. 源码地址: 源码下载地址: https://gitee.com/javaex/yaoqishan 下面是 ...
最新文章
- 2022-2028年中国消防报警行业市场前瞻与投资战略规划分析报告
- TensorFlow 发布新版本v1.9(附应用实践教程)
- spring-注入list集合对象(值是对象)
- Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案
- [css] 说说sass有哪些你认为很棒的特性
- edtext 从右边开始输入 安卓_FreeRTOS 从入门到精通6--详解任务管理下(对比PLC,安卓)...
- Spring 框架基础(06):Mvc架构模式简介,执行流程详解
- Android 系统(4)---Android HAL层与Linux Kernel层驱动开发简介
- Veeam ONE v10.0.2.1094 安装教程+许可证
- 程序员如何避免身体被掏空?
- db powerdesigner mysql-odbc连接注意事项
- lua搭建ui_LTUI, 一个基于 lua 的跨平台字符终端 UI 界面库
- vim编辑器及目录结构
- Qt入门(六)——抽奖系统的实现
- lnmp无法删除.user.ini文件的解决办法
- 贝叶斯估计、最大似然估计、最大后验概率估计
- raw格式怎么打开转换成jpg?迅捷图片转换器3步搞定
- Educational Codeforces Round 97 (Rated for Div. 2)
- 计算机科学导论佛罗赞第4版,计算机科学导论(原书第4版)
- GPS手机射频的一些测试项目
热门文章
- 【软件工程】软件工程中的最佳实践:在创造力和规范纪律间找到平衡——在软件工程中,创造力和规范纪律,通常是矛盾的两个方面,怎样在工程中进行最佳实践?
- Nyzo验证者搭建教程(可能是最适合程序员参与的区块链)
- Xflow在泵阀产品设计中的应用
- u盘文件没删除却消失了是什么原因?数据怎么恢复?
- 1.19 Ancient Berland Circus
- python 爬取豆瓣某一主题书单_Python爬取豆瓣的各分类书单以及近期热门电影和top250的电影...
- 微擎公众号如何配置微信支付?
- 【OpenBCI】(2):原始数据包解码
- 疫情之下,零售企业不该只是为了 “ 活 ” !
- 【5步解决】在 Word 中批量调整 Mathtype 所有公式格式(变量斜体加粗、字体缩小为5号等)的方法