Spring cloud微服务安全实战-7-4整合SpringBoot和Prometheus
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的更多相关文章
- 《Spring Cloud微服务 入门 实战与进阶》
很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...
- Spring Cloud微服务安全实战_00_前言
一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介: 二.最终形成的架 ...
- Spring cloud微服务安全实战_汇总
Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ...
- Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器
上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ...
- Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务
实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...
- Spring cloud微服务安全实战 最新完整教程
课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ...
- Spring cloud微服务安全实战-6-8sentinel限流实战
阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ...
- Spring cloud微服务安全实战-6-4权限控制改造
授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...
- Spring cloud微服务安全实战-6-2JWT认证之认证服务改造
首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...
- Spring cloud微服务安全实战-5-7实现基于session的SSO(客户端应用的Session有效期)
授权模式改造成了Authorization code完成了改造的同时也实现了SSO.微服务环境下的前后端分离的单点登陆. 把admin的服务重启.刷新页面 并没有让我去登陆,直接就进入了首页. ord ...
随机推荐
- 四、Linux_用户切换
四.用户切换 # 切换用户的命令为: su username # 从普通用户切换到root用户,还可以使用命令: sudo su
- mysql的innodb数据存储结构
数据库磁盘读取与系统磁盘读取 1,系统从磁盘中读取数据到内存时是以磁盘块(block)为基本单位,位于同一个磁盘块中的数据会被一次性读取出来. 2,innodb存储引擎中有页(Page)的概念,页 ...
- Oid 类
参考地址:https://docs.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.oid?redirectedfrom=MSD ...
- python测试开发django-rest-framework-59.restful接口开发
前言 REST 不是什么具体的软件或者代码,而是一种思想.现在流行前后端分离开发项目,一般用 json 来交换数据. 相信写过模板的同学都知道,只要哪怕页面中的数据有一丝丝变动,那整个页面都需要重新渲 ...
- 账户(/etc/passwd、/etc/shadow)与组(/etc/group、/etc/gshadow)文件解析
1. 账户信息文件 账户信息被保存在 /etc/passwd 文件中,通过命令 cat /etc/passwd 查看文件内容如下: [root@192 ~]# cat /etc/passwdroot: ...
- *P3694 邦邦的大合唱站队[dp]
题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶像. 现在要求重新安排队列,使来自同一乐队的偶像连续的站在一起.重新安排的办法是,让若干偶像出列(剩下的偶像不动),然后让出列的 ...
- LeetCode(数据库):分数排名
,)); Truncate table Scores; ', '3.5'); ', '3.65'); ', '4.0'); ', '3.85'); ', '4.0'); ', '3.65'); 编写一 ...
- 转发: JS中的call()和apply()方法和区别 --小白变色记
一.方法定义: apply:调用一个对象的一个方法,用另一个对象替换当前对象.例如:B.apply(A, arguments);即A对象应用B对象的方法. call:调用一个对象的一个方法,用另一个对 ...
- 编程用泰勒公式求e的近似值,直到最后一项小于10的负6次方为止。
#include<stdio.h>#include<math.h>void main(){ int n; float j=1.0,sum=1.0; for(n=1;;n++) ...
- 洛谷 UVA12101 Prime Path 题解
一道经典的BFS 用四个for搜索四位就行了,只要能推出怎么只变4位中的一位就很水了 #include<iostream> #include<cstring> #include ...