5分钟了解 SpringBootAdmin

SpringBootAdmin

概述

简单来讲,Spring Boot Admin是一个管理和监控Spring Boot应用程序的开源软件。每一个应用都认为是一个客户端,经过HTTP或者服务注册发现Spring Cloud(Eureka、Consul等等)注册到admin server中进行展现,Spring Boot Admin UI部分使用AngularJs将数据展现在前端。前端

Spring Boot Admin是一个针对spring-boot的actuator接口进行UI美化封装的监控工具。它能够:在列表中浏览全部被监控spring-boot项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各类配置信息(好比数据源、缓存列表和命中率)等,还能够直接修改logger的level。java

工程搭建

搭建springboot-admin-server工程

  1. pom.xml配置,引入spring-boot-admin-starter-server
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.0.1</version>
</dependency>
复制代码
  1. 建立application.yml文件,配置基本内容
server:
 port: 8080
spring:
 application:
 name: service-admin
复制代码
  1. 建立引导类添加@EnableAdminServer开启adminServer
@SpringBootApplication
@EnableAdminServer
public class AdminServerApplication {
    public static void main(String[] args) {
    	SpringApplication.run(AdminServerApplication.class, args);
    }
}
复制代码
  1. 访问localhost:8080,能看到如下页面,就成功了。目前这里面尚未任何springboot的工程项目被接入监控。

springboot工程接入监控

讲web_a工程接入监控,在工程中加入如下信息web

  1. pom.xml中加入依赖
<dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.0.1</version>
        </dependency>
复制代码
  1. 在application.yml中
 server:
 port: 8091
 spring:
 application:
 name: web_a
 boot:
 admin:
 client:
 url: http://127.0.0.1:8080  #配置须要接入的admin-server地址
 management:
 endpoints:
 web:
 exposure:
 include: "*"
   
复制代码
  1. 刷新http://localhost:8080,查看web_a,已经接入admin的管理。

界面介绍

点击web_a,进入监控管理页面,介绍几个经常使用的TAB界面。spring

Details

在details页面,能看到应用的基本信息以下图。缓存

Environment

在Environment页面,能够看到应用中国的各类环境变量。springboot

Loggers

在Loggers中能够看到各层级包的日志打印级别,而且能够经过界面动态修改。app

  • 当前com包下面的日志打印级别为debug

  • 在web_a应用中添加以下的controller,访问localhost:8091/hell0,就应该看到,error, warn,info,debug四种级别的日志都打印出来。
package com.itheima.controller;  
  
@RestController
@Slf4j
public class AController {
      @GetMapping("/hello")
      public String hello(){
          log.warn("test 日志切换 warn");
          log.info("test 日志切换 info");
          log.debug("test 日志切换 debug");
          log.error("test 日志切换 error");
          return "this is a!";
     }
 }
复制代码
  • 将com包下的日志级别改成info,那么再次访问上面的接口,就只有error, warn,info,三种级别的日了。以下图所示。

Thread

展现的是系统中各类线程随时间变化的状态,其中黄色部分为WAITING等待状态,而绿色部分为RUNNALE运行状态。spring-boot

HttpTraces

HttpTraces显示的是应用随着时间变化的http请求访问量。固然点击下面的每个具体的状况,能够看到请求的详情,也能够经过筛选,只查看访问特定url的请求。工具

总结

本文介绍了SpringbootAdmin的基本搭建,Springboot工程快速接入,以及相关管理界面的介绍。帮助你们快速上手了解SpringBootAdmin对于Springboot工程服务的监控和健康管理。其实Springboot还能够设置通知,好比当某个SpringBoot应用挂了,但愿经过邮件的形式通知某些管理员。这些也都是能够实现的。只是在本文中没有详细说明。this

相关文章
相关标签/搜索