前言
admin是用来监控各个服务的状况的,通过前台页面,可以查看我们各个服务的一个状态,是否在线,服务状况的一个框架。
服务端项目使用
admin有服务端和客户端,我们不需要每个服务都导入admin的客户端依赖,只需要单独起一个服务端的项目,然后注册到Eureka上,拉取Eureka的服务列表即可获取所有服务的信息,然后在每个服务上配置自己要暴露的内容即可。
-
新建一个项目,作为admin的服务端,导入如下依赖
-
创建好后,我们修改SpringCloud版本,和Admin版本号
<properties> <java.version>1.8</java.version> <spring-boot-admin.version>2.3.0</spring-boot-admin.version> <spring-cloud.version>2.3.12.RELEASE</spring-cloud.version> </properties> <!-- admin依赖 --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> </dependency> <!-- eureka依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- admin依赖管理 --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-dependencies</artifactId> <version>${spring-boot-admin.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
-
修改完版本后,我们配置
Eureka
的配置项,让这个项目注册到上面,好拉取服务列表server: port: 10086 # admin默认端口号 端口号范围:0-65535 spring: application: name: user-a eureka: client: service-url: defaultZone: http://自己的eureka服务端/eureka
-
配置好后,我们在页面上访问
localhost:10086
,即可查看所有服务的信息
页面查看
-
我们进入后默认显示的是上面的内容,我们可以点击右上角的
应用墙
,就可以以图形化的方式查看 -
点击右侧的六边形,查看该服务具体信息
-
可以看到所有关于我们服务的信息都没有显示出来。
-
这是因为我们项目要想让自己的信息显示到上面,需要添加配置,“暴露"自己的哪些内容,如果为”*"的话,则是全部,下面在
yml
文件里添加配置,暴露所有信息management: endpoints: web: exposure: include: '*' # 暴露所有的监控端点
-
添加好配置后,我们重启项目,再进行查看,就可以查看项目里所有信息,及jar包依赖的一个映射地址都可以查看
客户端使用
-
我们的其他项目只要注册到Eureka上,就可以直接添加admin的客户端依赖,然后暴露自身指定的端点即可
-
客户端依赖
<!-- admin客户端依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
-
暴露自身端点
management: endpoints: web: exposure: include: '*' # 暴露所有的监控端点
-
配置完毕后,我们打开
localhost:10086
即可看到我们注册好的新的服务的状态