V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hansonwang99
V2EX  ›  程序员

Spring Boot Admin 2.0 开箱体验

  •  
  •   hansonwang99 ·
    hansonwang99 · 2018-07-17 22:59:19 +08:00 · 2472 次点击
    这是一个创建于 2308 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Profile


    概述

    在我之前的 《 Spring Boot 应用监控实战》 一文中,讲述了如何利用 Spring Boot Admin 1.5.X 版本来可视化地监控 Spring Boot 应用。说时迟,那时快,现在 Spring Boot Admin 都更新到 2.0 版本了,并且可以对当下热门的 Spring Boot 2.0Spring Cloud Finchley.RELEASE 进行监控,因此本文就来了解并实践一下!



    Spring Boot Admin 2.0 新特性

    Spring Boot Admin 2.0 变化还是挺多的,具体参考 官网说明,这里列几条主要的:

    • 使用 Vue.js 重写了 UI 界面,漂亮得不像实力派

    • 直接集成了基于 spring security 的认证,无需引入第三方模块

    • 加入 session endpoint 的监控支持

    等等...

    下面就实际试验来操作感受一下!



    搭建 Spring Boot Admin Server

    • 创建一个 SpringBoot 2.0.3 RELEASE 工程并添加依赖
        <dependencies>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-server</artifactId>
                <version>2.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-server-ui</artifactId>
                <version>2.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
    • 应用主类添加注解
    @SpringBootApplication
    @EnableAdminServer
    public class SbaServer20Application {
    
        public static void main(String[] args) {
            SpringApplication.run(SbaServer20Application.class, args);
        }
    }
    
    • 启动 Spring Boot Admin Server

    浏览器打开 localhost:8080,就可以看到小清新的页面了

    小清新的页面

    可以看到这个 UI 的变化和 1.5.X 时代的差距还是蛮大的,此时被监控的应用数目还为 0。

    接下来我们就来创建一个待监控的 Spring Boot 2.0 示例。



    创建 Spring Boot Admin Client

    此处我们依然创建一个 Spring Boot 2.0.3.RELEASE 的应用,然后加入到 Spring Boot Admin 之中进行监控

    • pom.xml 中添加依赖
        <dependencies>
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-client</artifactId>
                <version>2.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
    
    • 编辑配置文件
    server.port=8081
    spring.application.name=Spring Boot Client
    spring.boot.admin.client.url=http://localhost:8080
    management.endpoints.web.exposure.include=*
    
    • 启动 Spring Boot Admin Client 应用

    此时 Spring Boot Admin 的页面上应用上线的消息推送过来了:

    应用上线推送



    实际实验

    被监控应用上线之后,我们进入 Spring Boot Admin 页面鼓捣看看

    • Wallboard 有点小清新

    Wallboard

    • Applications 概览

    Applications 概览

    • Applications 上线日志一目了然

    Applications 上线日志一目了然

    • Applications Details

    Applications Details

    • Metrics

    Metrics

    • Environment

    Environment

    • JMX

    JMX

    • Threads

    Threads

    • Http Traces

    Http Traces



    后记

    作者更多的 SpringBt 实践文章在此:


    如果有兴趣,也可以抽点时间看看作者一些关于容器化、微服务化方面的文章:


    7 条回复    2018-07-19 19:24:20 +08:00
    hansonwang99
        1
    hansonwang99  
    OP
       2018-07-17 23:26:42 +08:00 via iPhone
    自顶一下,大佬轻喷
    Liang
        2
    Liang  
       2018-07-17 23:31:39 +08:00
    虽然不懂,但支持一下
    hansonwang99
        3
    hansonwang99  
    OP
       2018-07-17 23:42:56 +08:00 via iPhone
    感谢二楼的支持呀
    AllOfMe
        4
    AllOfMe  
       2018-07-18 00:12:06 +08:00
    支持一下
    zirconium
        5
    zirconium  
       2018-07-18 00:12:11 +08:00 via iPhone
    mark
    dif
        6
    dif  
       2018-07-18 14:07:20 +08:00
    支持一下
    LowBCoder
        7
    LowBCoder  
       2018-07-19 19:24:20 +08:00
    支持
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1280 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:46 · PVG 07:46 · LAX 15:46 · JFK 18:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.