3分钟教你如何增加 SpringBoot Admin 来做监控

3分钟教你如何增加 SpringBoot Admin 来做监控

很多时候,你根本不会知道你服务在哪台实体机上执行,也不知道现在用到哪一版

所以在微服务系统架构中...监控管理是非常重要的一环

其实在 SpringBoot中有内建 提供非常多的资讯跟一些简单的服务管理功能

后来有一个团队做了不错看的 UI 出来, 就是 SpringBoot Admin 也跟 Spring Cloud 做了不错的整合, 就算不用 SpringCloud 单独使用也非常好用.

Server 端

首先我再建立个新专案叫 admin

专案的 build.gradle 如下

3分钟教你如何增加 SpringBoot Admin 来做监控

我们加上了 spring-boot-admin-server 这是监控端, spring-boot-admin-server-ui 就是 UI 啦

然后我们启动程程序加上

3分钟教你如何增加 SpringBoot Admin 来做监控

加上了 EnableAdminServer 就可以了

启动之后 打开

http://localhost:8080

3分钟教你如何增加 SpringBoot Admin 来做监控

然后当你用 Chrome 打开页面的时候, 会跳出下面通知接收的询问

3分钟教你如何增加 SpringBoot Admin 来做监控

这边我们先按允许

Client 端

客户端更简单, 只需要引入 spring-boot-admin-starter-client 套件

3分钟教你如何增加 SpringBoot Admin 来做监控

application.yml 我们改一下 port 然后加上 client 的配置让他知道 server 在哪

还有我们给应用程式一个名称 bookservice 之后比较好辨识

3分钟教你如何增加 SpringBoot Admin 来做监控

接下来只要启动程序就可以了, 你可以看到我们

画面中我们的 bookservice 是启动状态, 同时状态变动的时候 springboot admin 也会透过 chrome 的机制来通知我们

3分钟教你如何增加 SpringBoot Admin 来做监控

是不是感觉安心很多了呢? 至少不会发生服务挂掉一天一夜没人发现这种鸟事。

Client 端 安全机制

但是 Client 端的 port 跟 api 是一样的, 所以外面的人也可以透过这个 port 来监控你的应用

所以我们再做一点手脚来保护

简单一点的呢....就直接加上

3分钟教你如何增加 SpringBoot Admin 来做监控

预设呢....就是所有 API 全部都需要授权(包含监控资讯)

所以稍微加上自己的配置 WebSecurityConfig.java, 作用在我们自己写的 api 开头 url 开放(之后会再用我们自订的管理方式), 其他都需要授权

3分钟教你如何增加 SpringBoot Admin 来做监控

然后配置档 application.yml 就改成 这样

3分钟教你如何增加 SpringBoot Admin 来做监控

management.security.enabled 一定要开启, 不开启等于没有生效

security 这边就是 basicAuth

admin.client 这边就是让 server 端可以透过 basicAuth 正常存取 Client 的资讯


分享到:


相關文章: