美文网首页
Spring Boot Admin入门教程

Spring Boot Admin入门教程

作者: 双流小二郎 | 来源:发表于2018-09-26 12:39 被阅读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快速创建:

    • Group:com.example
    • Artifact: SpringBootAdmindemo


      1.JPG
    • 点击Generate Project下载zip包用IDEA打开

    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快速创建:

    • Group:com.example.client
    • Artifact: SpringBootAdminClientdemo


      3.JPG

    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中添加相关参数

    • 服务端URL参数: http://localhost:9998
    • 默认情况下,大多数端点不是通过http公开的,这里我们公开所有端点。
    • 同样修改一下应用端口为9997以免冲突
    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.结语

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

    相关文章

      网友评论

          本文标题:Spring Boot Admin入门教程

          本文链接:https://www.haomeiwen.com/subject/iwedoftx.html