Spring Boot Admin 2.0 开箱体验

本贴最后更新于 2101 天前,其中的信息可能已经东海扬尘

Profile


本文原载于个人微信公众号 CodeSheep,欢迎订阅

概述

在我之前的 《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



后记



作者更多 务实、能看懂、可复现的 原创文章尽在公众号 CodeSheep,欢迎订阅

打赏 5 积分后可见
5 积分
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3167 引用 • 8207 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    940 引用 • 1458 回帖 • 158 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...