开箱即用的性能分析工具pinpoint

pinpoint是开源在github上的一款APM监控工具,它是用JAVA编写的,用于大规模分布式系统监控,属于分布式调用链监控组件 。
它主要的特点是开箱即用、完备的Web界面,对性能影响较小,无侵入式安装探针,小团队懒人的必备佳品 。
官网:https://github.com/naver/pinpoint
监控截图如下:

开箱即用的性能分析工具pinpoint

文章插图
 
服务器端主要分为三部分:
1.pinpoint-collector.war 控制器,用于接受各客户端传回来的数据,保存在Hbase里 。需要部署在中间件(比如Tomcat)中
2.pinpoint-web.war 监控界面,即上图这个还不错的Web界面 。需要部署在中间件(比如tomcat)中
3.Habse数据库,用于存储数据
客户端pinpoint-agent,其实就是一个jar包,主要是放在待监控的目标机器上,随待监控的jvm启动即可 。支持tomcat、jboss、spring boot.
以tomcat为例:只需要在tomcat的catalina.sh中加入以下代码即可
CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.ApplicationName=$APPLICATION_NAME"【开箱即用的性能分析工具pinpoint】安装部署都比较简单,不赘述,参考官网即可
https://github.com/naver/pinpoint/blob/1.7.3/doc/installation.md
注意事项
pinpoint-collector对外开放的三个端口999499959996,主要用于从agent处获取数据,其中9994为tcp协议,9995及9996均为udp协议,在生产环境开通网络权限时需要注意
还有就是pinpoint-agent并不是把所有的请求都会拦截发送到pinpoint-collector上,只是部分请求(大约20%),因此只能做性能分析告警用,不能作为全数据参考 。




    推荐阅读