【关注公众号“SRE运维部落”,回复 “pinpoint ”分享钉钉二次开发代码给你】
pinpoint简介
Pinpoint是一款韩国NAVER公司开源的全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。用于基于java的大规模分布式系统的应用监控。
基于GoogleDapper论文进行的实现,与另一款开源的全链路分析工具Zipkin类似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。
感兴趣的可以加入他们的钉钉官方群219815989(非广告哈)
主要功能
服务拓扑图:
对整个系统中应用的调用关系进行了可视化的展示,单击某个服务节点,可以显示该节点的详细信息,比如当前节点状态、请求数量
实时活跃线程图:
监控应用内活跃线程的执行情况,对应用的线程执行性能可以有比较直观的了解
请求响应散点图:
以时间维度进行请求计数和响应时间的展示,拖过拖动图表可以选择对应的请求查看执行的详细情况
请求调用栈查看:
对分布式环境中每个请求提供了代码维度的可见性,可以在页面中查看请求针对到代码维度的执行详情,帮助查找请求的瓶颈和故障原因。
应用状态、机器状态检查:
通过这个功能可以查看相关应用程序的其他的一些详细信息,比如CPU使用情况,内存状态、垃圾收集状态,TPS和JVM信息等参数。
架构组成
Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和Web UI。
HBase (用于存储)
Agent组件:用于收集应用端监控数据,无侵入式,只需要在启动命令中加入部分参数即可
Collector组件:数据收集模块,接收Agent发送过来的监控数据,并存储到HBase
WebUI:监控展示模块,展示系统调用关系、调用详情、应用状态等,并支持报警等功能
部署安装
(一)常用安装方式
1.在网上百度下载别人打好的war包进行部署使用,可调试监控,但是不可进行二次开发配置监控预警。
2.拉去官方代码
git clone https://github.com/naver/pinpoint-docker.git
git clone https://gitee.com/mirrors/Pinpoint.git
安装步骤:
1.HBase
搭建 HBase 集群 - Apache HBase
运行./hbase-start
创建 HBase Schemas- 在hbase shell上执行/scripts/hbase-create.hbase初始化数据库
2.构建Pinpoint (仅当从源代码开始构建时需要)
Clone Pinpoint - git