1. 在应用程序列表中显示版本

对于Spring Boot应用来说很容易显示版本信息,在spring-boot-maven-plugin中使用build-infogoal来生成META-INF/build-info.properties。请参见Spring Boot Reference Guide
对于非Spring Boot应用也可以增加version或者build.version到注册元数据中来在应用列表中显示版本。
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>

2. JMX-bean 管理

为了在管理界面上管理JMX-beans,必须在应用程序中引入Jolokia 。 由于Jolokia是基于servlet的,所以不支持响应式程序。如果使用spring-boot-admin-starter-client 则已经自带了Jolokia,如果没有使用则需要添加下面依赖:
pom.xml

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

3. 日志文件查看器

默认情况日志在actuator端点是不可访问的,所以在Spring Boot Admin也是不可见的。为了开启日志监控端点,需配置logging.pathlogging.file开启日志。
Spring Boot Admin将监控所有类似URL的并展示为超链接。
也可以配置自定义日志格式来支持ANSI color-escapes(Spring Boot默认不开启)。
application.properties

logging.file=/var/log/sample-boot-application.log ❶
logging.pattern.file=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx ❷

❶ 写日志目标文件。开启日志监控端点。
❷ 日志开启ANSI colors。

4. 显示每个实例的标签

Tags是为每个实例添加可视标记一种方式,一般出现在应用列表和实例详情中。默认情况实例是没有Tag的,需要客户端将期望的tags添加到元数据或info端点。
application.properties

#使用元数据
spring.boot.admin.client.instance.metadata.tags.environment=test

#使用info端点
info.tags.environment=test

5. Spring Boot Admin客户端

Spring Boot Admin客户端会通过HTTP post请求将应用的信息注册到admin服务端。这需要添加Jolokia到应用中,以便JMX-beans可以通过HTTP访问。
表1Spring Boot Admin客户端配置项

属性名 描述 默认值
spring.boot.admin.client.enabled 开启Spring Boot Admin客户端 true
spring.boot.admin.client.url Spring Boot Admin服务端注册URL,多个用逗号分隔,此配置会触发自动配置,必须配置
spring.boot.admin.client.api-path admin服务端注册端点管理HTTP路径 "instances"
spring.boot.admin.client.username spring.boot.admin.client.password SBA服务API基于HTTP Basic认证的用户名和密码
spring.boot.admin.client.period 注册时间间隔(单位:毫秒) 10,000
spring.boot.admin.client.connect-timeout 注册连接超时时间(单位:毫秒) 5,000
spring.boot.admin.client.read-timeout 注册读取超时时间(单位:毫秒) 5,000
spring.boot.admin.client.auto-registration 如果设为true,则周期性注册应用 true
spring.boot.admin.client.auto-deregistration 当关闭上下文,SpringBoot Admin将开启auto-deregistration。CloudPlatform中默认激活该配置 null
spring.boot.admin.client.register-once 如果设为true客户端将只注册一次到admin服务端(为了定义spring.boot.admin.instance.ur);如果admin服务端宕机,则自动注册到另外一台admin服务上。如果设为false,则注册到所有admin服务上。 true
spring.boot.admin.client.instance.health-url 注册使用的健康检查URL。可访问URL变化的情况可以重写该值。在注册中必须唯一。 由管理URl和endpoints.health.id组成
spring.boot.admin.client.instance.management-base-url
spring.boot.admin.client.instance.management-url
spring.boot.admin.client.instance.service-base-url
spring.boot.admin.client.instance.service-url
spring.boot.admin.client.instance.name
spring.boot.admin.client.instance.prefer-ip
spring.boot.admin.client.instance.metadata.*
spring.boot.admin.client.instance.metadata.tags.*

表1 实例元数据

默认值
user.name user.password 访问端点的凭证
© 2020 haozi. All rights reserved.

results matching ""

    No results matching ""