Spring Boot Admin入门教程

2018-09-26  本文已影响0人  双流小二郎

最近lead了一个Spring Boot的项目,偶然从CSDN推送中发现了Spring Boot Admin,很感兴趣,就试用了一下。秉着“无笔记,无收获”的原则,写一篇入门笔记。如果能帮助到一些朋友,那就更美了。主要参考了官方文档Spring Boot Admin Reference Guide

1. 什么是Spring Boot Admin?

正如文档中所说

Codecentric’s Spring Boot Admin is a community project to manage and monitor your Spring Boot ® applications. The applications register with our Spring Boot Admin Client (via HTTP) or are discovered using Spring Cloud ® (e.g. Eureka, Consul). The UI is just an AngularJs application on top of the Spring Boot Actuator endpoints.

简而言之,Spring Boot Admin是用来管理和监视您的Spring Boot应用程序的。应用程序需要注册为客户端,UI由AngularJs开发。

2. 怎么使用?

需要分别配置好服务端和客户端。

2.1 设置Server端

Server端简单的运行为一个Servlet应用就好。

2.1.1 新建一个SpringBoot项目

使用Spring Initializr快速创建:

2.1.2 添加相关依赖

pom.xml中添加以下依赖

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.0.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.1.3 修改服务器端口

因为我本机8080端口被占用,修改application.properties中服务器端口为9998

server.port=9998

2.1.4 在启动类上添加@EnableAdminServer注释

@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdmindemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootAdmindemoApplication.class, args);
    }
}

启动应用,在浏览器中输入http://localhost:9998即可访问。当前没有应用注册。

2.JPG

2.2 设置客户端

客户端就是我们想要被监控的Spring Boot应用。

2.2.1 新建一个SpringBoot项目

新建一个SpringBoot项目作为客户端程序供测试使用。
同样使用Spring Initializr快速创建:

2.2.2 添加依赖

pom.xml中添加以下依赖

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.0.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.2.3 注册应用到服务端

application.properties中添加相关参数

spring.boot.admin.client.url=http://localhost:9998
management.endpoints.web.exposure.include=*
server.port=9997

2.2.4 添加配置类SecurityPermitAllConfig使执行器端点可访问

package com.example.client.SpringBootAdminClientdemo.filter;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll()
                .and().csrf().disable();
    }
}

2.2.5 展示客户端版本信息

现在启动应用就可以在管理页面看到该客户端实例信息,为了展示客户端版本信息(其它信息请查阅Spring Boot Reference Guide),要在build的时候列出build-info,修改pom.xml*。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>build-info</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
</build>

用maven package生成jar包,在命令行中启动客户端应用

java -jar SpringBootAdminClientdemo-0.0.1-SNAPSHOT.jar

启动成功后,会收到浏览器消息显示新应用上线。
进入管理页面,可以看到当前有一个应用。

4.JPG
点击Wallboard可以看到该应用详细信息。
5.JPG 6.JPG

3.结语

如有不清楚的地方,欢迎留言咨询,共同探讨。

上一篇下一篇

猜你喜欢

热点阅读