最近在做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. nginx&http 第三章 ngx HTTP 请求的 11 个处理阶段

    nginx 将一个 HTTP 请求分为 11 个处理阶段,这样做让每一个 HTTP 模块可以仅仅专注于完成一个独立.简单的功能,而一个请求的完整处理过程可以由多个 HTTP 模块共同合作完成将一次 H ...

  2. Socket connect 等简要分析

    connect 系统调用 分析 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int connect ...

  3. socket套接字(字节序、地址转换)

    什么是socket: socket可以看成是用户进程与内核网络协议栈的编程接口. socket不仅可以用于本机的进程间通信,还可以用于网络上 不同主机之间的进程通信.IPv4套接口地址结构 struc ...

  4. spring boot 视频截图

  5. Linux——CentOS 7 systemctl和防火墙firewalld命令

    一.防火墙的开启.关闭.禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable fire ...

  6. SpringBean生命周期-Version-v5.1.0.RELEASE

    首先入口选定在org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons ...

  7. Maximum execution time of 30 seconds exceeded in

    在执行一次php脚本的时候,遇到了这样的报错,经过c Maximum execution time of 30 seconds exceeded in 翻译过来就是:执行时间超过了30秒最长执行时间: ...

  8. Win10 安装MySQL 5.7.32(解压版)

    Win10 安装MySQL 5.7.32(解压版) MySQL 5.7.32 下载 官网下载(速度慢,不推荐使用):https://dev.mysql.com/downloads/mysql/ 清华镜 ...

  9. 理解Volatile关键字,其实看这一篇就够了,写的非常细致

    前言 volatile是Java虚拟机提供的轻量级的同步机制. volatile关键字作用是什么? 两个作用: 1.保证被volatile修饰的共享变量对所有线程总数可见的,也就是当一个线程修改了一个 ...

  10. 交换机通过Loopback Detection检测(接口自环)

    组网图形  Loopback Detection简介 网络中的环路会导致设备对广播.组播以及未知单播等报文进行重复发送,造成网络资源浪费甚至网络瘫痪.为了能够及时发现二层网络中的环路,避免对整个网络造 ...