如果你正在寻找性能监控工具,不妨看看以下推荐的这六款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的六款开源工具目前是开源社区中最受欢迎的,在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应用性能监控工具相关推荐

  1. 7 款开源 Java 反编译工具

    7 款开源 Java 反编译工具 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其 ...

  2. scara机器人动荷载_六款日产SCARA机器人性能数据大比拼

    [原创]六款日产SCARA机器人性能数据大比拼 文章来源自:高工机器人网 2018-07-24 09:06:54 阅读:15677 摘要3C.新能源等新兴行业市场的快速发展,特别是在电子制造等轻小型快 ...

  3. 服务器监控工具_8款服务器和应用性能监控工具

    点击上方"蓝色字体",选择 "设为星标" 关键讯息,D1时间送达! 对于每天可能有数十万甚至数百万请求的大型网络,即使最微不足道的延迟也可能导致给业务带来影响. ...

  4. 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在,我从事无人机研发将近11年了,中途设计过很多飞控,有闭源的无人飞艇飞控.大型固定翼无人机飞控,也有在开源飞控Pixhawk基础上修改的飞控,如今,基于STM32F7系列单片机的飞控 ...

  5. 2022年最值得学习的5款开源Java框架 小白教程

    自从1996年首发,至今25年以来,Java凭借在后端.大数据.机器学习.Web.Android等领域的应用,使其仍然占据着统治地位,长期占据全球最受欢迎编程语言前三名. 在Python.JavaSc ...

  6. 推荐一款开源 Java 版的视频管理系统

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...

  7. Java虚拟机性能监控工具草览

    为什么80%的码农都做不了架构师?>>>    方法.套路.工具,都能提高生产力.做了一轮压测,顺道列列虚拟机的工具. 一. Java虚拟机有哪些性能工具 我们按操作方式分为两类,有 ...

  8. java web 性能 监控工具_Java web应用性能监控工具jwebap

    性能测试中,我们经常希望一个平台能拦截.profile.分析性能数据,现实在一点点逼近.Jwebap:51Testing软件测试网v)?F?#|+{sI$^ 效果图http://www.jwebap. ...

  9. 一款开源java版的视频管理系统!

    第一款面向大众的java版的视频管理系统.妖气山视频管理系统理论上可以制作任何类型的视频网站. 源码地址: 源码下载地址: https://gitee.com/javaex/yaoqishan 下面是 ...

最新文章

  1. 2022-2028年中国消防报警行业市场前瞻与投资战略规划分析报告
  2. TensorFlow 发布新版本v1.9(附应用实践教程)
  3. spring-注入list集合对象(值是对象)
  4. Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案
  5. [css] 说说sass有哪些你认为很棒的特性
  6. edtext 从右边开始输入 安卓_FreeRTOS 从入门到精通6--详解任务管理下(对比PLC,安卓)...
  7. Spring 框架基础(06):Mvc架构模式简介,执行流程详解
  8. Android 系统(4)---Android HAL层与Linux Kernel层驱动开发简介
  9. Veeam ONE v10.0.2.1094 安装教程+许可证
  10. 程序员如何避免身体被掏空?
  11. db powerdesigner mysql-odbc连接注意事项
  12. lua搭建ui_LTUI, 一个基于 lua 的跨平台字符终端 UI 界面库
  13. vim编辑器及目录结构
  14. Qt入门(六)——抽奖系统的实现
  15. lnmp无法删除.user.ini文件的解决办法
  16. 贝叶斯估计、最大似然估计、最大后验概率估计
  17. raw格式怎么打开转换成jpg?迅捷图片转换器3步搞定
  18. Educational Codeforces Round 97 (Rated for Div. 2)
  19. 计算机科学导论佛罗赞第4版,计算机科学导论(原书第4版)
  20. GPS手机射频的一些测试项目

热门文章

  1. 【软件工程】软件工程中的最佳实践:在创造力和规范纪律间找到平衡——在软件工程中,创造力和规范纪律,通常是矛盾的两个方面,怎样在工程中进行最佳实践?
  2. Nyzo验证者搭建教程(可能是最适合程序员参与的区块链)
  3. Xflow在泵阀产品设计中的应用
  4. u盘文件没删除却消失了是什么原因?数据怎么恢复?
  5. 1.19 Ancient Berland Circus
  6. python 爬取豆瓣某一主题书单_Python爬取豆瓣的各分类书单以及近期热门电影和top250的电影...
  7. 微擎公众号如何配置微信支付?
  8. 【OpenBCI】(2):原始数据包解码
  9. 疫情之下,零售企业不该只是为了 “ 活 ” !
  10. 【5步解决】在 Word 中批量调整 Mathtype 所有公式格式(变量斜体加粗、字体缩小为5号等)的方法