Spring Boot Admin客户端

3.1 在应用列表中显示版本

添加版本信息,可以使用spring-boot-maven-plugin插件,在插件中配置build-info,它就会生成文件META-INF/build-info.properties。你也可以参考Spring Boot Reference Guide

pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>build-info</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

3.2 JMX Bean管理

在Admin UI中,使用JMX需要引入Jolokia到你的项目中。如果你已经添加了spring-boot-admin-starter-client依赖,你可以不用添加Jolokia依赖了。

pom.xml

<dependency>
    <groupId>org.jolokia</groupId>
    <artifactId>jolokia-core</artifactId>
</dependency>

3.3 日志级别管理

对于使用SpringBoot 1.5.x(或以上)的,你可以直接管理日志级别。使用旧版本,日志管理只对Logback 有效。由于需要使用到JMX所以需要包含Jolokia依赖,此还要在Logback中配置JMXConfigurator。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
  <jmxConfigurator/>
</configuration>

如果你将多个应用部署到同一个JVM中,会有多个LogBack的JMX bean,在界面上JMX bean名称和应用名称相同。这种情况下,你需要在LogBack配置中配置contextName。

3.4 Spring Boot Admin客户端

Spring Boot Admin 客户端会注册到SBA服务器。它会定期的向SBA服务端发送POST请求应用相关的信息。它默认已经添加了Jolokia在你的应用中,所以你可以通过HTTP访问JMX bean。

SBA客户端提供了很多注册相关的配置。如果它们不能满足你的需要,你也可以自己实现AppliationFactory。

表格1:Spring Boot Admin客户端配置选项

属性 说明 默认值
spring.boot.admin.client.enabled 开启Spring Boot Admin客户端 true
spring.boot.admin.url 使用逗号分隔多个注册的url。必填项
spring.boot.admin.api-path 登记到Admin服务的http路径 "api/applications"
spring.boot.admin.username spring.boot.admin.password 用户名和密码用来保护SBA服务的api安全,它使用Http基本认证实现。
spring.boot.admin.period 重复登录的间隔时间(毫秒) 10.0000
spring.boot.admin.auto-registration 如果为true,服务启动后将周期的注册 true
spring.boot.admin.auto-deregistration 如果为true,SBA服务容器关闭时,会注销应用 false
spring.boot.admin.register-once 如果为true,将从配置的spring.boot.admin.url中选择第一个admin服务进行注册。当admin服务宕机了,将依次注册到下一个admin服务。如果为false,将注册到所有的admin服务。 true
spring.boot.admin.client.health-url 健康检查url。如果访问的url不同时,可以覆盖。必须是唯一的。 通过management-url和endpoints.health.id生成
spring.boot.admin.client.management-url 客户端管理url。如果访问的url不同时,可以覆盖。 通过service-url、 server.servlet-path、 management.port和management.context-path生成
spring.boot.admin.client.service-url 客户端服务注册url。如果访问的url不同时,可以覆盖。 通过hostname、server.port、server.context-path生成
spring.boot.admin.client.name 注册的名称 如果配置spring.application.name了,就作为注册名称。如果没有使用默认的"spring-boot-application"
spring.boot.admin.client.prefer-ip 使用ip地址,而不是猜测url中的主机名。如果配置了server.address/management.address,就使用server.address/management.address。如果没有,就通过InetAddress.getLocalHost()获取ip地址。 false
spring.boot.admin.client.metadata.* 与实例相关的元数据键值对

表格2:实例元数据选项

默认值
user.name user.password 访问这个端点的凭证

results matching ""

    No results matching ""