什么是 SpringBoot Admin?

Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。

快速开始

首先在 IDEA 创建一个 SpringBoot 项目,把它当作 server 端,工程如下:

然后在 pom.xml 中引入依赖:

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.5.6</version>
</dependency>复制代码

继续在启动类 SpringbootAdminApplication.java 中引入注解 @EnableAdminServer,然后运行项目:

访问 http://localhost:8084/ 即可:

此时会发现没有任何应用程序的信息。

接下来我们新建一个 SpringBoot 项目,把它当作客户端程序,工程如下:

在 pom.xml 中添加依赖:

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.5.6</version>
</dependency>复制代码

然后在 application.yml 中设置:

spring.boot.admin.url=http:localhost:8094 用于将当前应用注册到 Spring Boot Admin。

还可以设置,spring.boot.admin.client.name: (应用程序的名字)不设置的话会有默认的名字

此时把两个项目运行起来:

点击图中的 detail 按钮:可以看到应用程序的健康值、内存、JVM、GC 等信息。

metrics 信息:

环境 信息:

log 信息:

JMX 信息:

线程 信息:

Trace 追踪信息:

还可以下载 Heapdump 文件。

刚才首页的应用列表后面有个红色的 ×,我们可以将注册上去的应用移除,但是只要你不把程序停掉,它立马又会注册上去。

还有就是应用列表的 version 和 info 上面的图中为空,下面看看怎么把它变出来:

info.groupId: @project.groupId@info.artifactId: @project.artifactId@info.version: @project.version@复制代码

重新运行客户端程序,刷新页面可以发现:

还可以查询应用程序的事件变化:

客户端应用程序

JMX bean管理

要在管理界面中与JMX-beans进行交互,您必须在客户端应用程序中包含 Jolokia,

pom.xml 加入依赖:

        <dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
复制代码

重启客户端程序后,就可以在这里与 JMX 做交互了:

还有很多 SpringBoot Admin 客户端配置选项:

http://codecentric.github.io/spring-boot-admin/1.5.6/#spring-boot-admin-client

服务端程序

也有些 SpringBoot Admin 服务端程序配置选项:

http://codecentric.github.io/spring-boot-admin/1.5.6/#spring-boot-admin-server

官方文档里面还有些关于服务下线消息通知的知识,想了解的可以查看:

http://codecentric.github.io/spring-boot-admin/1.5.6/#_notifications

参考文章

http://codecentric.github.io/spring-boot-admin/1.5.6/

推荐阅读:

《深入理解 Java 内存模型》读书笔记

面试-基础篇

Spring Boot 2.0 迁移指南

SpringBoot使用Docker快速部署项目

为什么选择 Spring 作为 Java 框架?

SpringBoot RocketMQ 整合使用和监控

Spring Boot 面试的十个问题

上篇好文:

使用 Spring Framework 时常犯的十大错误

右上角按钮分享给更多人哦~

作者:SpringForAll社区
链接:https://juejin.im/post/5d3f22d55188255d2c7a5973
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

SpringBoot Admin 使用指南的更多相关文章

  1. 实战SpringBoot Admin

    长话短说哦,直接查看下文吧 目录 声明 先锋 前提 SpringBoot Admin 介绍 服务端的搭建 客户端的搭建 参数的指南 尾声 声明 见名知意,实战SpringBoot Admin,实战!实 ...

  2. 使用SpringBoot Admin监控SpringCloud微服务

    spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin 本文基于SpringCloud的环境和配置上增加 ...

  3. SpringBoot Actuator & SpringBoot Admin

    SpringBoot Actuator提供了很多监控和管理你的spring boot应用的HTTP或者JMX端点,并且你可以有选择地开启和关闭部分功能. 当你的spring boot应用中引入依赖之后 ...

  4. 新手也能看懂的 SpringBoot 异步编程指南

    本文已经收录自 springboot-guide : https://github.com/Snailclimb/springboot-guide (Spring Boot 核心知识点整理. 基于 S ...

  5. 【Springboot】用Springboot Admin监控你的微服务应用

    1 简介 目前,微服务大行其道,各大小公司争相学习模仿,把单体应用拆得七零八落.服务多了,运行的实例多了,给运维人员的压力就更大了.如果有十几个应用,单单做Health Check就已经够费时间的了. ...

  6. SpringBoot Admin应用监控搭建

    简介 Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI. 参考手册地址:htt ...

  7. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  8. Springboot admin 发送邮件失败:com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user

    发邮件已经是老生常谈了,今天又遇到了,而且又出了各种问题.我晕哦. 我的配置是: spring.mail.host=smtp..com spring.mail.username=klxxxx spri ...

  9. SpringBoot入坑指南之六:使用过滤器或拦截器

    在Web应用中,常常存在拦截全部或部分请求进行统一处理的应用场景,如权限校验.参数校验.性能监控等. 在SpringMVC框架中,我们可以通过过滤器或拦截器实现相关功能,spring-boot-sta ...

随机推荐

  1. 简单了解HashCode()

    在java的内部类中,计算HashCode通常使用 code = 元素* 31 + 下一个元素 以String为例 public int hashCode() { int h = hash; if ( ...

  2. Spring Boot:整合Shiro权限框架

    综合概述 Shiro是Apache旗下的一个开源项目,它是一个非常易用的安全框架,提供了包括认证.授权.加密.会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Sprin ...

  3. C++模板的理解与使用

    最近发现原来学的东西根本都不理解,所以本人正在恶补C++,把自己对C++中概念的最简单粗暴的理解写下来. 有问题的地方还请指出~随时更正 模板:顾名思义,就是为了方便以后使用而出现的东西,生活中的模板 ...

  4. 02-MySQL的安装和管理

    # mysql的安装和基本管理 # 01 数据库管理软件分类 ''' 分两大类: 关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用 ...

  5. 视频直播技术之iOS端推流

    随着网络基础建设的发展和资费的下降,在这个内容消费升级的时代,文字.图片无法满足人们对视觉的需求,因此视频直播应运而生.承载了实时性Real-Time和交互性的直播云服务是直播覆盖各行各业的新动力.网 ...

  6. tar命令中的 -C 作用

    我用这个命令:tar zcvf chao.tar.gz /chao/*  打包文件的时候,在压缩包里把  /chao/这个路径也打包进去了. [root@yunwei-test chao]# ls / ...

  7. logging,包

    包 import 方式 所有对包的操作,都相当于对包下的__init__操作 from a.b.c import d b 必须 是包 import 最后只有一个层级 相对导入 . 代表当前路径, .. ...

  8. "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''zhaoqiuyu' (`NAME`,`PRICE`,`COUNT`) values('电脑',1999,1)' at lin

    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v ...

  9. HDU 5773:The All-purpose Zero(贪心+LIS)

    http://acm.hdu.edu.cn/showproblem.php?pid=5773 The All-purpose Zero Problem Description   ?? gets an ...

  10. 对比 C++ 和 Python,谈谈指针与引用

    花下猫语:本文是学习群内 樱雨楼 小姐姐的投稿.之前已发布过她的一篇作品<当谈论迭代器时,我谈些什么?>,大受好评.本文依然是对比 C++ 与 Python,来探讨编程语言中极其重要的概念 ...