前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置

Spring Boot 2.X(十七):应用监控之 Spring Boot Admin 使用及配置

作者头像
朝雾轻寒
发布2019-11-14 16:52:55
2.3K0
发布2019-11-14 16:52:55
举报

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 服务端

项目依赖
代码语言:javascript
复制
 <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
代码语言:javascript
复制
@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {
 public static void main(String[] args) {
 SpringApplication.run(SpringBootAdminApplication.class, args);
 }
}
application.properties 配置
代码语言:javascript
复制
server.port=9000spring.application.name=Spring Boot Admin Web
测试

启动项目,通过浏览器访问 http://127.0.0.1:9000

Spring Boot Admin 客户端

这里以上面是 Spring Boot Actuator 项目为例

项目依赖
代码语言:javascript
复制
<!-- admin-client -->
 <dependency>
 <groupId>de.codecentric</groupId>
 <artifactId>spring-boot-admin-starter-client</artifactId>
 <version>2.1.6</version>
 </dependency>
application.properties 配置
代码语言:javascript
复制
#设置 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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 朝雾轻寒的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Admin 简介
  • Admin 使用及配置
    • Spring Boot Admin 服务端
      • 项目依赖
      • 配置启动 Admin Server
      • application.properties 配置
      • 测试
    • Spring Boot Admin 客户端
      • 项目依赖
      • application.properties 配置
      • 测试
    • Spring Boot Admin 配置属性
      • Spring Boot Admin Server 配置属性详解
      • Spring Boot Admin Client 配置属性详解
  • 文档参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档