Spring cloud微服务安全实战-7-11PinPoint+SpringBoot环境搭建 整合pinpoint 接入应用 UserAPi的修改 结束

微服务的最后一个组件,
调用链监控,一个请求进来以后,经过N多个微服务,例如a调用了b。b又调用了c,那么在这个过程中看到,整个的调用的链路,然后每一段调用所耗费的时间,帮你去分析你的系统如果出现瓶颈以后,瓶颈到底在什么地方。


pinpoint




点击看一下在线的demo


提供的一些应用的列表

选择order。这张图就是order这个服务的调用图。







出去调用的一层,分别调用了product和payment还有mysql数据库

outbound选择两层的话 图就会刷新。每一个箭头上都有数字,数字就是调用的次数。

请求的分布,绿点是请求成功的


鼠标框选这些时间比较长的请求

跳转到页面,把你选择的请求列出来。

选中一条记录,下面就列出来,详细点的调用链。

当前这次请求,也就是选中的这条记录 的,调用情况


timeline每一步请求,所占用的时间

混合视图

所有看到的信息整合到一起。可以很清楚的借助这样一个工具来分析你的链路。

inspector

服务器内存的使用情况

找到官方提供的docker的环境

docker的compose配置文件。

把这个项目克隆到本地

克隆到本地 需要的所有组件都装好了


启动docker环境。

访问端口8079

接入应用

不需要写代码就可以接入pinpoint,其他的方案都需要代码侵入。



下载解压出来。有个pinpoint.config文件。


这个指的就是pinpoint服务器的ip,如果服务器在远端,就要写服务器的地址。

采样率,当你收到请求的时候,是不是把请求信息发给pinpoint。这里配置1表示100%,所有的请求都会发给pinpoint。这样数据量就会非常大。有些情况下,可能不需要所有的请求,都需要pinpoint。只需要知道服务大概的请款就可以了。


当前采样,应用的服务器的类型是什么

默认配置的是tomcat。这里改成Spring_Boot

一会要借入UserApi的类

找到下面Spring_Boot的关剪子,所以把用户服务的包名配置到这里。
UserAPI里面有main函数,你用main函数启动的时候,它就会拦截你启动的这个应用里面,收到的所有请求。

UserAPi的修改

告诉UserAPI启动的时候 要用代理来启动。


加上启动参数


网站上有写怎么配置启动


指定这个jar包

代理jar包的位置。

第二个参数和第三个参数。


配置好以后 就可以启动


访问请求。因为服务现在是通过pinpoint代理启动起来的。所有发往userapi的请求都会被拦截。

刷新。这里多了个应用SpringBoot类型的APi



实际上调用的获取用户详情的查询。每次调用都会查询数据库。

可以看到执行的SQL


以上就是pinPoint的基本使用。

结束