Spring cloud微服务安全实战-7-4整合SpringBoot和Prometheus_batch

pom文件里面加两个依赖。让SpringBoot暴露出一些断点。

在actuator的机制上面加一些prometheus的端点,暴露出来给prometheus可以识别的数据,

配置文件配置。

要暴露的端点

这样就暴露出三个端点,prometheus、info、health。Acuator加上去以后,其实暴露出了很多的端点,这里就控制这三个端点。


设置为true才会起作用

安全的配置

orderAPi是被我们的安全机制完全的保护起来的。这些端点也都是需要身份认证才能访问的。prometheus每次来采集的时候,不可能每次都去拿令牌。
所以这里要配一下安全机制,让prometheus的那些端点,可以直接访问到。



用@Configuratin表示这是个配置类,然后覆盖configure方法。

EndpointRequest选择security.servlet这个包下的

所有的端点全都不需要身份认证,anyRequest表示剩下的全都需要认证,authenticated.
这就是安全的配置,这样我访问那些prometheus那些端点 就不需要身份认证了。但是访问我的订单那个服务还需要认证的


把orderAPi的端口改成9082。因为在普罗米修斯的配置里面写的监听的是9082.

启动测试

启动orderAPI。然后我们在prometheus的页面上刷新 看到这个端点已经 启动了。显示UP

访问访问9082上的端点的地址,这就是它提供给prometheus的数据。

存活的最大的秒数


JVM线程的状态,可以用prometheus的语句查询 state=runnable的线程 查询出来。


我们定义的是每隔10秒来抓一次数据。最后它会把数据串起来,形成一些图表。



默认提供的查询界面。可以去查刚才我们采集到的数据。

输入关键词进行查询

前面这些标签是prometheus加上的


对应的这里

instance对应的是9082跑的实例。



job就是当前采集任务的名字


这些标签都是prometheus在采集的时候自动加上去的。一个任务可能跑好几个实例。

图表

采集到的这些数据会以一个折线图的形式展示出来。

找一个稍微波折一点的数据。 jvm内存的使用情况。

这里有垃圾回收的情况,

值查询area="heap"的数据。


只看这个折线的数据


以上就是prometheus提供的界面,可以查询和展示我们采集上来的数据。
这个界面非常的简陋。而且不好用。你需要自己去写表达式。
下面接啥grafana提升我们监控数据的使用体验。

结束

猜你喜欢

转载自www.cnblogs.com/wangjunwei/p/12003825.html