springboot-admin
SpringBoot Admin是开源社区孵化的项目,用于对SpringBoot应用的管理和监控。SpringBoot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用http通讯方式实现数据交互;单体项目中需要整合spring-boot-admin-client才能让应用被监控。在SpringCloud项目中,spring-boot-admin-server 是直接从注册中心抓取应用信息,不需要每个微服务应用整合spring-boot-admin-client就可以实现应用的管理和监控。
创建admin-server服务端:
de.codecentric spring-boot-admin-starter-server2.3.1
启动类添加@EnableAdminServer注解:
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableAdminServer
public class SpringbootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootAdminApplication.class, args);
}
}
因为客服端走的单点登录,所以在服务端调用客服端时候,需要加上token验证:
token获取来源,这儿就不写了,做个单点登录的人都知道那么获取
import de.codecentric.boot.admin.server.web.client.HttpHeadersProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
@Configuration
public class SecuritySecureConfig{
String token = "wo_shi_token_saknaksfasflkaslkfaslflaslkfasllaslaslkflalafs" +
"klasklasklasfkfalkasfllafslkafklasflasffsalsfalkflafsklkasfggjgjgsdfsdfklsdfskfkdsklfdksdl";
@Bean
public HttpHeadersProvider customHttpHeadersProvider() {
return (instance) -> {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("token", token);
return httpHeaders;
};
}
}
服务端的yml配置文件:
# 应用名称
spring:
application:
name: springboot-admin
# 配置一个默认的账号和密码-这个可以写自己需要的登录地址来登录获取token
security:
user:
name: admin
password: admin
# 应用服务 WEB 访问端口
server:
port: 8081
创建admin-client客服端:
(客服端走的单点登录)
主要配置以下的,其他的逻辑代码认证哪些可以走单点登录啥的就是一个普通的springboot项目
de.codecentric spring-boot-admin-starter-client2.3.1
yml配置:
spring.boot.admin.client.url=http://127.0.0.1:8081 spring.boot.admin.client.username=admin spring.boot.admin.client.password=admin spring.application.name=admin-client-ops management.endpoints.web.exposure.include=* #这里配置admin client 的地址(客户端应用程序) spring.boot.admin.client.instance.service-url=http://localhost:8080
访问:
帐号密码为上面服务端文件配置的admin/admin
http://127.0.0.1:8081/
详情页面查看:
搞定,一个springboot的项目监控成功



