<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Springboot Admin是一個管理和監控Springboot專案的元件,分為伺服器端和使用者端,兩端通過http進行通訊。由於其輕量級的特性,所以特別適合中小專案使用。
其效果圖如下:
1,引入Springboot admin和Spring Security依賴。
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2,設定相關屬性。
server: port: 8080 servlet: context-path: /server spring: security: user: #admin Server端登入時用的賬戶密碼 name: server123 password: 123456 boot: admin: instance-auth: #啟用header驗證 enabled: true #Server存取client介面時會使用下面的設定生成authorization default-user-name: "name_shishan" default-password: "pwd_shishan"
3,設定@EnableAdminServer註解
@SpringBootApplication @Configuration @EnableAdminServer public class ServerApplication { public static void main(String[] args) { SpringApplication.run(ServerApplication.class, args); } }
經過以上3步,伺服器端就可以啟動了。
存取 http://localhost:8080/server/,就可以看到以下登入介面。
使用在yml檔案中設定的賬戶密碼就可以登入了。
1,在我們要監控的使用者端中加入以下依賴。
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.5.1</version> </dependency>
2,暴露監控介面以及設定Server地址。
使用者端在啟動後會向設定的Server發起註冊申請,此時為了安全性還需要Server端的賬戶密碼進行校驗。
spring: boot: admin: client: #admin註冊地址 url: http://localhost:8080/server #設定admin的賬戶 username: server123 password: 123456 admin: header: auth: name: "name_shishan" password: "pwd_shishan" #暴露出埠 management: endpoints: web: exposure: include: "*"
3,對暴露的介面進行許可權校驗。
由於我們將監控介面進行了暴露,所以必須對相關的介面進行許可權校驗,否則就有可能洩露相關資訊。
對介面進行許可權過濾有很多種選擇,比如設定IP存取的白名單,只允許admin Server所在的伺服器存取,也可以設定相關的token等等。
下面我們以一個簡單的介面過濾器實現對/actuator/**相關介面的許可權校驗。
@Component public class PathFilter implements Filter { @Value("${admin.header.auth.name}") private String username; @Value("${admin.header.auth.password}") private String password; @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; AntPathMatcher antPathMatcher = new AntPathMatcher(); if (antPathMatcher.match("/actuator/**", request.getServletPath())) { String authorization = request.getHeader("authorization"); if (StringUtils.hasText(authorization)) { String token = Base64Utils.encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8)); if (authorization.equals("Basic " + token)) { //token匹配才放行 filterChain.doFilter(request, servletResponse); return; } } response.setContentType("application/json;charset=UTF-8"); response.setStatus(HttpStatus.UNAUTHORIZED.value()); response.getWriter().print("許可權不足"); return; } //其他介面直接放行 filterChain.doFilter(request, servletResponse); } }
在這個filter中,對actuator相關的介面進行了header引數的校驗,只有通過校驗才可以存取暴露出的actuator介面。
當然,如果我們使用了SpringSecurity或者SaToken這樣的第三方許可權框架,也可以去重寫相關的設定完成許可權的判斷,原理都是一樣的。
下面我們看一下最終的監控效果:
除了通過普通http請求方式獲取監控資訊以外,Springboot admin還支援通過註冊中心的方式獲取相關資訊,在其官方檔案大家也可以看到相關的設定。
官方檔案:codecentric.github.io/spring-boot…
以上就是Springboot輕量級的監控元件SpringbootAdmin的詳細內容,更多關於Springboot監控元件的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45