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

pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控,属于分布式调用链监控组件。

它主要的特点是开箱即用、完备的Web界面,对性能影响较小,无侵入式安装探针,小团队懒人的必备佳品。

官网:https://github.com/naver/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"

安装部署都比较简单,不赘述,参考官网即可

https://github.com/naver/pinpoint/blob/1.7.3/doc/installation.md

注意事项

pinpoint-collector对外开放的三个端口9994\9995\9996,主要用于从agent处获取数据,其中9994为tcp协议,9995及9996均为udp协议,在生产环境开通网络权限时需要注意

还有就是pinpoint-agent并不是把所有的请求都会拦截发送到pinpoint-collector上,只是部分请求(大约20%),因此只能做性能分析告警用,不能作为全数据参考。

其他的分布式调用链监控组件

参照这篇

https://blog.csdn.net/u012394095/article/details/79700200

你可能感兴趣的:(工具)