作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(SpringBoot第二十二篇:应用监控之Actuator)介绍了 SpringBoot 应用使用 Actuctor 进行监控。文章最后也提出了一个问题,是否可以将监控结果更好的展示个运维同学?   本章解答这个问题。   Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源项目。分为 admin-server 与 admin-client 两个组件,admin-server通过采集 actuator 端点数据,显示在 spring-boot-admin-ui 上,已知的端点几乎都有进行采集,通过 spring-boot-admin 可以动态切换日志级别、导出日志、导出 heapdump、监控各项指标 等。   Spring Boot Admin 在对单一应用服务监控的同时也提供了集群监控方案,支持通过eureka、consul、zookeeper等注册中心的方式实现多服务监控与管理。 SpringBoot Admin的使用 创建 admin-server 首先,引入 maven 依赖: org.springframework.boot spring-boot-starter-web de.codecentric spring-boot-admin-starter-server de.codecentric spring-boot-admin-server-ui 为了便于区分,定义端口号为 8081: server.port=8081 在启动类上加注解 @EnableAdminServer . 即: package com.yanfei1819.adminserver; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableAdminServer public class AdminServerApplication { public static void main(String[] args) { SpringApplication.run(AdminServerApplication.class, args); } } 我们先来感受一下 SpringBoot Admin 的界面: 页面中没有内容,下面创建要监控的客户端。 创建 admin-client 引入 maven 依赖: org.springframework.boot spring-boot-starter-web de.codecentric spring-boot-admin-starter-client 设置其端口号为 8082: server.port=8082 spring.boot.admin.client.url=http://localhost:8081 # 激活所有的端点的web方式请求。如果不激活,将看不到详细的监控信息。 management.endpoints.web.exposure.include=* 先启动 admin-server,再启动 admin-client。 以下是相关的一些界面: 监控的首页: Applications: 执行日志: 详细信息: 在以上的界面中,几乎囊括了所有的监控信息。读者感兴趣可以逐个详细了解。此处因篇幅所限,不作展开处理。 如果是需要监控多个客户端的信息,只需要在客户端配置文件 application.properties 中配置: spring.boot.admin.client.url=http://localhost:8081 # 激活所有的端点的web方式请求。如果不激活,将看不到详细的监控信息。 management.endpoints.web.exposure.include=* 本章源码写了两个客户端,文中为简化只演示了一个。 总结   上述文章只是介绍了 SpringBoot Admin 的相关应用,在实际项目中,可以做安全认证,权限设置,甚至消息通知等。   到目前为止,本系列已经写了二十四篇。一路使用的下来的感受是,用比理解简单。最重要的是理解,理解思想,原理(当然,本系列由于针对的是 SpringBoot 入门的学习者,在原理方面未作深入的详解。后续将另开一个系列,专攻原理解析),方能使用起来得心应手,碰到问题而不是只会复制、粘贴、问度娘。   说一句题外话。这一篇与上一篇的时间相距较长。主要是作者在这段时间大概学习了一下分布式、高并发和 MySQL 这三块的知识点。后面有时间也想将这些分享给大家。   最后,欢迎大佬拍砖。https://www.cnblogs.com/yanfei1819/p/11457867.html