最近在做java性能瓶颈定位分析工具的研究,发现glowroot工具是一款相当不错的APM工具(Wonderful tool),架构简洁,部署简单,上手容易。
经过亲身搭建体验,总结了产品的架构,工具的特点,性能,功能点,并把实操的部署搭建步骤,分享推广给需要的人
 
工具的架构:
 
工具的特点:无代码侵入,agent代理监控,使用方便,简单,快速
针对慢请求和错误请求的跟踪捕获
深入钻取分析(非常方便的过滤)
响应时间分解图
响应时间百分比图
SQL捕获和聚合
服务调用捕获和聚合
MBean属性捕获和图表
可配置告警
多粒度(1m、5m、30m、4小时)的历史数据汇总,具有可配置保留
完全支持跨越多个线程的异步请求
具有移动支持的响应式用户界面
 
工具性能损耗:
开销非常之小,损耗在低微妙级别,小到很难在大多数应用程序上测量出,这些开销可以在这些应用程序运行过程中忽略不计
与市面上顶级的java APM工具做性能损耗对比
 
工具的功能:transactions事件模块,errors错误日志模块,jvm模块,reporting报表模块,synthetic模块,incidents模块,系统配置模块
界面demo展示
 
工具的部署使用:
 
一,先安装cassandra数据库,前提需要安装好jdk环境
Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源。Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型)。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。
 
 
(1)下载Cassandra安装包,tar -zxvf解压到/home/chenxi/soft/cassandra目录。
 
(2)在/home/chenxi/soft/cassandra目录下建立data;commitlog;saved_caches三个目录,Cassandra服务运行时会写入相应数据。
 
(3)chown -R将/home/chenxi/soft/cassandra目录的所有者改为非root用户,因为cassandra 不支持root用户启动,需要切换到其他用户 sudo su - chenxi,才能正常启动cassandra进程。
 
(4)修改cassandra的conf目录中的cassandra.yaml文件,将本机IP作为Seed服务器。
 
(5)./cassandra启动服务,./nodetool status检验服务状态。

二,部署glowroot-central
下载glowroot-central与glowroot(代理)
 
(1)将安装包解压到/home/chenxi/soft/glowroot-central目录,更改目录所有者权限。
 
(2)修改glowroot-central.properties配置文件,cassandra.contactPoints参数更改成cassandra服务器地址,其余参数可以保持默认。
 
(3)启动服务:java -jar glowroot-central.jar
 
三,部署glowroot代理
(1)把glowroot-0.13.6-dist安装包解压到/home/chenxi/soft/glowroot-agent/目录,更改目录所有者权限。
 
(2)在被监控应用服务的jvm配置处加上如下参数。
注:agent.id要保持唯一,否则同一服务多个节点可能不能识别。
 
(3)在/home/chenxi/soft/glowroot-agent/glowroot代理目录下创建并编辑glowroot.properties文件,添加如下参数:
agent.rollup.id=test-tomcat
collector.address= http://控制器地址:8181
注:agent.rollup.id可用于跨多个代理(如跨集群)。
 
(4)在/home/chenxi/soft/glowroot-agent/glowroot代理目录下创建admin.json文件,修改绑定地址 "bindAddress": "代理服务地址"
 
(5)检查关闭服务器防火墙service iptables status
 
(6)用浏览器运行监控: http://localhost:4000
 
 
官网参考地址:https://glowroot.org/

开源性能监控分析工具glowroot的更多相关文章

  1. Zynga 开源其服务器性能监控分析工具 zPerfmon

    流年不利的社交游戏服务商Zynga近日在官方博客宣布开源zPerfmon——该工具负责监控Zynga数以千计的社交游戏服务器.zPerfmon的源代码目前已经上传至Github. 包括Facebook ...

  2. MiniProfiler性能监控分析工具在.NET项目中的使用

    MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控 ...

  3. UAVStack JVM监控分析工具:图形化展示采集及分析监控数据

    摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 ...

  4. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  5. 10 个强大的开源 Web 流量分析工具(转帖)

    Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...

  6. Web服务器性能监控分析与优化

    Web服务器性能监控分析与优化 http://www.docin.com/p-759040698.html

  7. Linux性能监控分析命令(五)—free命令介绍

    性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...

  8. Linux性能监控分析命令(三)—iostat命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...

  9. Linux性能监控分析命令(二)—sar命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

随机推荐

  1. tcp 拥塞控制引擎&状态机

    TCP核心:流量控制   拥塞控制 流量控制:滑动窗口来实现, 防止接收方能够处理过来 拥塞控制:防止过多的包被发送到网络中,避免出现网络负载过大 说一说 拥塞控制: 拥塞控制状态机的状态有五种,分别 ...

  2. 极客mysql38

    InnoDB 引擎把数据放在主键索引上,其他索引上保存的是主键 id.这种方式,我们称之为索引组织表(Index Organizied Table). 而 Memory 引擎采用的是把数据单独存放,索 ...

  3. Java泛型中<?> 和 <? extends Object>的异同分析

    相信很多人和我一样,接触Java多年,却仍旧搞不清楚 Java 泛型中 <?>和 <? extends Object>的相似和不同.但是,这应该是一个比较高端大气上档次的Que ...

  4. Redis在springboot项目的使用

    一.在pom.xml配置redis依赖 <!-- redis客户端代码 --> <dependency> <groupId>org.springframework. ...

  5. ntpd配置时间同步服务器

    修改同步服务器的配置文件/etc/ntp.conf ,删除所有的内容,添加 restrict default nomodify server 127.127.1.0 # local clock fud ...

  6. Go语言配置管理神器——Viper中文教程

    Viper是适用于Go应用程序的完整配置解决方案.它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式. Viper Viper是适用于Go应用程序的完整配置解决方案.它被设计用于在应用 ...

  7. Java POI 导出带有图片的word

    1. 引入maven ,具体可以上github看一下,这里做简单的说明,是一个大神封装了一下 官方提供的语法 文本语法是 {{Text}} 图片语法是{{@Image}} 其他的自己去看官方文档 &l ...

  8. 图解HTTP简单笔记【上】

    第一章 了解WEB及网络基础(省略了TCP/IP的知识点) 1.1.使用HTTP协议访问web  当我们在主机的浏览器的地址输入URL之后 请求将回发送至目标服务器 目标服务器在接受到响应请求时将会响 ...

  9. Jmeter监控插件

    Jmeter-Plugins支持CPU.Memory.Swap.Disk和Network的监控,在测试过程中更加方便进行结果收集和统计分析. 一.准备工作: 1.下载Jmeter-Plugins插件, ...

  10. 基于Python Requests的数据驱动的HTTP接口测试

    发表于:2017-8-30 11:56  作者:顾翔   来源:51Testing软件测试网原创 http://www.51testing.com/html/69/n-3720769-2.html   ...