Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置
Admin 简介
Spring Boot Admin 是 Spring Boot 应用程序运行状态监控和管理的后台界面。最新UI使用vue.js重写里。
Spring Boot Admin 为已注册的应用程序提供了丰富的监控运维功能。如下:
- 显示健康状况
- 显示应用运行时的详细信息,如:JVM 和内存指标等
- 计数器和测量指标
- 数据源度量
- 缓存度量
- 跟踪和下载日志文件
- 查看 jvm 系统和环境属性
- 一键管理loglevel
- 管理执行 JMX-beans
- 查看线程转储
- 查看跟踪信息
- Hystrix-Dashboard集成(2.X版本已删除集成)
- 下载 heapdump
- 状态更改通知(支持:电子邮件、Slack、Hipchat等)
- 状态更改事件日志(非永久性)
更多可以通过考文档详细了解。
Admin 使用及配置
Spring Boot Admin 服务端
项目依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- admin-server -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.6</version>
</dependency>
配置启动 Admin Server
@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
}
}
application.properties 配置
server.port=9000
spring.application.name=Spring Boot Admin Web
测试
启动项目,通过浏览器访问 http://127.0.0.1:9000

Spring Boot Admin 客户端
这里以上面是 Spring Boot Actuator 项目为例
项目依赖
<!-- admin-client -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.6</version>
</dependency>
application.properties 配置
#设置 Admin Server 地址
server.port=8080
spring.application.name=Spring Boot Actuator Demo
spring.boot.admin.client.url=http://127.0.0.1:9000
测试
启动项目,通过浏览器访问 http://127.0.0.1:9000,我们会看到 Spring Boot Admin 的管理界面中 applications 会显示相应的客户端应用,点击应用进入详细的监控界面。


Spring Boot Admin 配置属性
Spring Boot Admin Server 配置属性详解
| 属性 | 描述 | 默认值 |
|---|---|---|
| spring.boot.admin.context-path | 上下文路径在应为Admin Server的静态资产和API提供服务的路径的前面加上前缀。相对于Dispatcher-Servlet | / |
| spring.boot.admin.monitor.status-interval | 更新client端状态的时间间隔,单位是毫秒 | 10000 |
| spring.boot.admin.monitor.status-lifetime | client端状态的生命周期,该生命周期内不会更新client状态,单位是毫秒 | 10000 |
| spring.boot.admin.monitor.connect-timeout | 查询client端状态信息时的连接超时,单位是毫秒 | 2000 |
| spring.boot.admin.monitor.read-timeout | 查询client端状态信息时的读取超时时间,单位是毫秒 | 10000 |
| spring.boot.admin.monitor.default-retries | 失败请求的默认重试次数。Modyfing请求(PUT,POST,PATCH,DELETE)将永远不会重试 | 0 |
| spring.boot.admin.monitor.retries.* | 键值对,具有每个endpointId的重试次数。默认为默认重试。Modyfing请求(PUT,POST,PATCH,DELETE)将永远不会重试 | |
| spring.boot.admin.metadata-keys-to-sanitize | 要被过滤掉的元数据(当与正则表达式相匹配时,这些数据会在输出的json数据中过滤掉) | ".password$", ".secret$", ".key$", ".$token$", ".credentials.", ".*vcap_services$" |
| spring.boot.admin.probed-endpoints | 要获取的client的端点信息 | "health", "env", "metrics", "httptrace:trace", "threaddump:dump", "jolokia", "info", "logfile", "refresh", "flyway", "liquibase", "heapdump", "loggers", "auditevents" |
| spring.boot.admin.instance-proxy.ignored-headers | 向client发起请求时不会被转发的headers信息 | "Cookie", "Set-Cookie", "Authorization" |
| spring.boot.admin.ui.public-url | 用于在ui中构建基本href的基本URL | 如果在反向代理后面运行(使用路径重写),则可用于进行正确的自我引用。如果省略了主机/端口,将从请求中推断出来 |
| spring.boot.admin.ui.brand | 导航栏中显示的品牌 | <img src="assets/img/icon-spring-boot-admin.svg"><span>Spring Boot Admin</span> |
| spring.boot.admin.ui.title | 页面标题 | "Spring Boot Admin" |
| spring.boot.admin.ui.favicon | 用作默认图标的图标,用于桌面通知的图标 | "assets/img/favicon.png" |
| spring.boot.admin.ui.favicon-danger | 当一项或多项服务关闭并用于桌面通知时,用作网站图标 | "assets/img/favicon-danger.png" |
Spring Boot Admin Client 配置属性详解
| 属性 | 描述 | 默认值 |
|---|---|---|
| spring.boot.admin.client.enabled | 启用Spring Boot Admin Client | true |
| spring.boot.admin.client.url | 要注册的server端的url地址。如果要同时在多个server端口注册,则用逗号分隔各个server端的url地址 | |
| spring.boot.admin.client.api-path | 管理服务器上注册端点的Http路径 | "instances" |
| spring.boot.admin.client.username | 如果server端需要进行认证时,该属性用于配置用户名 | |
| spring.boot.admin.client.password | 如果server端需要进行认证时,该属性用于配置密码 | |
| spring.boot.admin.client.period | 重复注册的时间间隔(以毫秒为单位) | 10000 |
| spring.boot.admin.client.connect-timeout | 连接注册的超时时间(以毫秒为单位) | 5000 |
| spring.boot.admin.client.read-timeout | 读取注册超时(以毫秒为单位) | 5000 |
| spring.boot.admin.client.auto-registration | 如果设置为true,则在应用程序准备就绪后会自动安排注册应用程序的定期任务 | true |
| spring.boot.admin.client.auto-deregistration | 当上下文关闭时,切换为在Spring Boot Admin服务器上启用自动解密。如果未设置该值,并且在检测到正在运行的CloudPlatform时,该功能处于活动状态 | null |
| spring.boot.admin.client.register-once | 如果设置为true,则客户端将仅向一台管理服务器注册(由定义spring.boot.admin.instance.url);如果该管理服务器出现故障,将自动向下一个管理服务器注册。如果为false,则会向所有管理服务器注册 | true |
| spring.boot.admin.client.instance.health-url | 要注册的health-url地址。如果可访问URL不同(例如Docker),则可以覆盖。在注册表中必须唯一 | 默认该属性值与management-url 以及endpoints.health.id有关。比如工程中该值为:healthUrl=http://127.0.0.1:8080/actuator/health,其中http://127.0.0.1:8080/actuator是management-url,health是endpoints.health.id |
| spring.boot.admin.client.instance.management-base-url | 用于计算要注册的管理URL的基本URL。该路径是在运行时推断的,并附加到基本URL | 默认该属性值与management.port, service-url 以及server.servlet-path有关,如工程中该值为http://127.0.0.1:8080,其中8080端口是配置的获取actuator信息的端口。127.0.0.1是设置的service-url值,如果没有设置service-url的话,则为配置的server.servlet-path值(项目的启动路径) |
| spring.boot.admin.client.instance.management-url | 要注册的management-url。如果可访问的URL不同(例如Docker),则可以覆盖 | 默认该属性值与management-base-url 和 management.context-path两个属性值有关,如 managementUrl=http://127.0.0.1:8080/actuator,其中http://127.0.0.1:8080为management-base-url,/actuator是management.context-path |
| spring.boot.admin.client.instance.service-base-url | 用于计算要注册的服务URL的基本URL。该路径是在运行时推断的,并附加到基本URL | 默认该属性值与hostname, server.port有关,如http://127.0.0.1:8080,其中8080端口是配置的server.port。127.0.0.1是client所在服务器的hostname |
| spring.boot.admin.client.instance.service-url | 要注册的服务网址。如果可访问的URL不同(例如Docker),则可以覆盖 | 默认值是基于service-base-url 和 server.context-path进行赋值 |
| spring.boot.admin.client.instance.name | 要注册的名称 | 默认值是配置的spring.application.name的值,如果没有配置该属性的话,默认值是spring-boot-application |
| spring.boot.admin.client.instance.prefer-ip | 在猜测的网址中使用ip地址而不是主机名。如果设置了server.address/ management.address,它将被使用。否则,InetAddress.getLocalHost()将使用从返回的IP地址 | false |
| spring.boot.admin.client.instance.metadata.* | 要与此实例相关联的元数据键值对 | |
| spring.boot.admin.client.instance.metadata.tags.* | 标记作为要与此实例相关联的键值对 |
示例代码
文档参考
https://codecentric.github.io/spring-boot-admin/2.1.6/#faqs
非特殊说明,本文版权归 朝雾轻寒 所有,转载请注明出处.
原文标题:Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置
原文地址:https://www.zwqh.top/article/info/26
如果文章对您有帮助,请扫码关注下我的公众号,文章持续更新中...

Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置的更多相关文章
- Springboot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序,支持异常邮件通知
1. Spring Boot Admin 是什么 Spring Boot Admin 是由 codecentric 组织开发的开源项目,使用 Spring Boot Admin 可以管理和监控你的 S ...
- (转)Spring Boot(二十):使用 spring-boot-admin 对 Spring Boot 服务进行监控
http://www.ityouknow.com/springboot/2018/02/11/spring-boot-admin.html 上一篇文章<Spring Boot(十九):使用 Sp ...
- 如何做自己的服务监控?spring boot 2.x服务监控揭秘
Actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
- Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能.通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘.内存.C ...
- 服务监控之 Spring Boot Admin.
一.概述 开始阅读这篇文章之前,建议先阅读下<SpringBoot 之Actuator>,该篇文章提到 Spring Boot Actuator 提供了对单个Spring Boot的监控 ...
- Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
转载自:https://cloud.tencent.com/developer/article/1508319 文章目录1.Micrometer 介绍2.环境.软件准备3.Spring Boot 工程 ...
- Spring Boot教程(十七)属性配置文件详解(2)
通过命令行设置属性值 相信使用过一段时间Spring Boot的用户,一定知道这条命令:java -jar xxx.jar --server.port=8888,通过使用–server.port属性来 ...
- 57. Spring 自定义properties升级篇【从零开始学Spring Boot】
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...
- Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
随机推荐
- 浅谈分布式事务与TX-LCN
最近做项目使用到了分布式事务,下面这篇文章将给大家介绍一下对分布式事务的一些见解,并讲解分布式事务处理框架TX-LCN的执行原理,初学入门,错误之处望各位不吝指正. 什么情况下需要使用分布式事务? 使 ...
- 「面试高频」二叉搜索树&双指针&贪心 算法题指北
本文将覆盖 「字符串处理」 + 「动态规划」 方面的面试算法题,文中我将给出: 面试中的题目 解题的思路 特定问题的技巧和注意事项 考察的知识点及其概念 详细的代码和解析 开始之前,我们先看下会有哪些 ...
- LeetCode_844-Backspace String Compare
输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...
- POJ 3784 Running Median (模拟水过带翻译)
Description Moscow is hosting a major international conference, which is attended by n scientists fr ...
- 《Java编程思想》——初始化与清理(一)读书笔记
第一次写这个,这一章都用word写的,结果复制过来没图片....只能上传word文档了.以后改用markdown比较好 word文档地址:<Java编程思想>--初始化与清理(一)读书笔记
- django自带cache结合redis创建永久缓存
0916自我总结 django自带cache结合redis创建永久缓存 1.redis库 1.安装redis与可视化操作工具 1.安装redis https://www.runoob.com/redi ...
- 上手Typescript,让JavaScript适用于大型应用开发
Typescript Typescript是一个基于静态类型的,能编译为JavaScript的JavaScript的超集.也就是说任何JavaScript都可以看成是Typescript,IDE能够更 ...
- [JOYOI1326] 剑人合一
题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目描述 他们飘呀飘,飘呀飘,飘呀飘,飘呀飘~~~经过七七八十一天的漂泊,残雪.夏夜和水手2 ...
- 利用hash远程登陆系统
有的时候当我们拿到系统管理员hash由于密码复杂度过高无法破解时候可以利用hash直接进行远程登录 我们用到Metasploit里面的模块 肉鸡为windwos server 2003 x32系统 1 ...
- openflow流表项中有关ip掩码的匹配的问题(控制器为ryu)
一.写在前面 唉,被分配到sdn安全方向,顶不住,顶不住,感觉搞不出来什么有搞头的东西.可若是让我水水的应付,我想我也是做不到的,世上无难事只怕有心人.好了,进入正题,本次要讨论的时一个比较细节的东西 ...