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 ...
随机推荐
- django引用模板报错Template file 'index.html' not found
产生报错的原因在于index.html未被引用到,处理办法是在setting.py中加入app的name. 我这里app的名字叫sign,所以加入sign就好了 再次访问就好啦
- Python并发编程-concurrent包
Python并发编程-concurrent包 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.concurrent.futures包概述 3.2版本引入的模块. 异步并行任务编程 ...
- Windows解决端口被占用问题
第一种解决方法,以8080端口为例 打开命令行输入 cmd ,输入netstat -ano 会显示所有已经在运行的端口情况.PID为进程id 输入你想要查的正在占用的端口号,netstat -ano ...
- pytho模块的加载顺序
当前目录如果有同名的系统模块,那么当前目录的模块会被import,系统模块会被忽略,如: 1 ghostwu@ghostwu:~/python/module$ ls 2 import_test.py ...
- 在vue项目中使用自己封装的ajax
在 src 目录下新建 vue.extend.js ,内容如下: export default { install(Vue) { Vue.prototype.$http=function(option ...
- 为什么需要 Redis 哨兵?
在说哨兵之前,我们先说下主从复制,Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址,这种故障转移的方式对于很多应用场 ...
- Spark数据倾斜解决方案(转)
本文转发自技术世界,原文链接 http://www.jasongj.com/spark/skew/ Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势 发表于 2017 ...
- KM模板 最大权匹配(广搜版) Luogu P1559 运动员最佳匹配问题
KM板题: #include <bits/stdc++.h> using namespace std; inline void read(int &num) { char ch; ...
- SpringSecurity 整合 JWT
项目集成Spring Security(一) 在上一篇基础上继续集成 JWT ,实现用户身份验证. 前言 前后端分离项目中,如果直接把 API 接口对外开放,我们知道这样风险是很大的,所以在上一篇中我 ...
- [Algorithm] BFS vs DFS
//If you know a solution is not far from the root of the tree: BFS, because it is faster to get clos ...