十三、springboot 优雅集成spring-boot-admin 实现程序监控 (2)

会跳转到 登录界面,进入主页现在是什么都没有的。

在这里插入图片描述

admin-client

到此我们服务端的配置就已经可以了,现在我们来配置一下客户端,我们随便找一个Springboot 项目,或者自己创建一个新的项目都可以。

pom.xml

我们先在pom 文件中加入admin-client 依赖,注意这里的版本需要和server 的版本一致。

<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.2.1</version> </dependency> application.properties

然后我们在 application.properties 文件中加入如下配置。

spring.boot.admin.client.url=http://localhost:8080 management.endpoints.web.exposure.include=* spring.application.name=sdwlzlapp-file spring.boot.admin.client.username=admin spring.boot.admin.client.password=123456

spring.boot.admin.client.url 指向我们服务端的项目接口路径。
management.endpoints.web.exposure.include 表示将所有端口都暴露出来,可以被监控到。
spring.application.name 表示改项目在spring-boot-admin 上的的显示名称。
spring.boot.admin.client.username 和password 就是设置的用户名和密码了,这里需要注意的是,如果admin-server 中没有集成 security 的话,不用配置用户名和密码也可以注册进去,在服务端可以监控到,但如果admin-server 集成了security,就需要保证client 中配置的用户名和server 中配置的用户名密码保持一致。

测试

配置了上面这些,就就可以将项目注册到admin-server 中啦,我们启动一下项目。

在这里插入图片描述

现在还有一个问题,如果我们项目本身就集成的安全框架,比如security ,没有登录的话不能访问接口,那这样的项目怎么被admin-server 监控到呢?比如就我们上节将的security 的demo ,我们注册进来,虽然监控到了,但是是一个失败的状态。

在这里插入图片描述


可以看到,不难发现问题,那就是监控的接口也被项目本身拦截了,所以才导致是失败的状态,那要怎么修改了呢,其实也好处理,将这几个接口放开就可以了。我们在项目的SecurityConfig 类中configure(HttpSecurity http)加上

在这里插入图片描述


代码如下:

@Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("http://www.likecs.com/", "/hello").permitAll() .antMatchers( "/actuator/**").permitAll() .antMatchers( "/instances").permitAll() .anyRequest().authenticated() .and() .formLogin() //.loginPage("/login") .permitAll() .and() .logout() .permitAll(); }

这样我们重启项目,就发现可以监控成功了。

在这里插入图片描述

番外

到此为止,我们也算是将spring-boot-admin的大致功能演示了下。

代码上传到github:
https://github.com/QuellanAn/springbootadmin

后续加油♡

欢迎大家关注个人公众号 "程序员爱酸奶"

分享各种学习资料,包含java,linux,大数据等。资料包含视频文档以及源码,同时分享本人及投递的优质技术博文。

如果大家喜欢记得关注和分享哟❤

file

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwwjs.html