Spring-Boot-2X十七应用监控之-Spring-Boot-Admin-使用及配置

29次阅读

共计 5598 个字符,预计需要花费 14 分钟才能阅读完成。

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.* 标记作为要与此实例相关联的键值对

示例代码

github

码云

文档参考

https://codecentric.github.io…

非特殊说明,本文版权归 朝雾轻寒 所有,转载请注明出处.

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

原文地址:https://www.zwqh.top/article/info/26

如果文章对您有帮助,请扫码关注下我的公众号,文章持续更新中 …

正文完
 0