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提升我们监控数据的使用体验。
Spring cloud微服务安全实战-7-4整合SpringBoot和Prometheus_batch
原文:https://www.cnblogs.com/wangjunwei/p/12003825.html