SpringBootAdmin
文章目录
- SpringBootAdmin
- 创建SpringBootAdmin服务端
- 创建SpringBootAdmin客户端
- 启动应用
- 总结
github地址
https://github.com/codecentric/spring-boot-admin
可以查到所有的版本号
创建SpringBootAdmin服务端
创建springBoot项目的时候,在ops选项中勾选上SpringBootAdmin[service]
- 导坐标
修改坐标的配置:
这里springboot项目的版本和admin的版本保持一致,都改为2.5.4,高了会报错
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.5.4</version>
</dependency>
- 配置
先给web服务配置下端口,因为服务太多,端口太乱了
server:
port: 8080
- 加注解
启动程序开启EnableAdminServer
@SpringBootApplication
@EnableAdminServer
public class Springboot25AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot25AdminServerApplication.class, args);
}
}
web程序运行起来,就可以在localhost:8080查看,但是什么也没有?因为你还没有启动程序呀,当然什么都没有,哈哈哈!
创建SpringBootAdmin客户端
- 导坐标
在ops选项中勾选上SpringBootAdmin[client],同时配置成web项目,要不然程序都不能一直运行,监控个嘚。
同样的,这里springboot项目的版本和admin的版本保持一致,都改为2.5.4,高了会报错。
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.5.4</version>
</dependency>
- 改配置
把这个web程序要给谁监控的url配置上。
同时注意修改web程序的端口,不要和service的端口冲突了,,我们这里修改为80端口
server:
port: 80
spring:
boot:
admin:
client:
url: http://localhost:8080
启动应用
这里不需要加注解了,启动就行
刷新我们的监控端网页,发现有程序了
但是点进去是这个样子的:
还是没有任何关于client的信息?为什么呢?
因为我们没配置啊,我们没说要把客户端的什么东西交给admin服务器监控,他当然是监视了一个空!!所以说,接下来配置哪些东西开放,交给服务器监控。
比如我们开放我们的健康信息:配置如下:
management:
endpoint:
health:
show-details: always
重启客户端,刷新服务器
就有健康信息了,耶耶耶!!
想看全部信息,这是要把所有的项目在web开放出来,要不然admin的服务端web也看不见,这样配:*表示全部。
那前面没有配置开放的时候,为什么health也能看呢?因为exposure里面默认是开放了health,哈哈哈。
management:
endpoints:
web:
exposure:
include: "*"
在总结一下:
endpoints:
web:
exposure:
include: "*"
配的是在web程序上显示的信息。也就是在web端能不能看到。
而
management:
endpoint:
health:
show-details: always
这个配的才是真正的对外是否开放这个功能。health是最基本的信息,必须要有
重启客户端,刷新服务器
这下里面所有的信息都展示了。左侧也有更多的信息展示了。
想搞就多开几个web程序,配上服务器,把要开放的东西配上,就可以在admin上看到详情。
总结
简化一下坐标写法
admin服务端一定要配置成web,要不然看不了啊。