在 Azure 容器应用中配置“Spring Boot 控制台”组件
“适用于 Spring 的控制台”托管组件为公开执行器终结点的 Spring Boot Web 应用程序提供了一个管理界面。 本文介绍如何配置和管理 Spring 组件。
显示
可以使用 show
命令按名称查看单个组件的详细信息。
在运行以下命令之前,请将 <>
括起来的占位符替换为你的值。
az containerapp env java-component admin-for-spring show \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME>
更新
可以使用 update
命令更新 Admin for Spring 组件的副本计数和配置。
在运行以下命令之前,请将用<>
括起来的占位符替换为你的值。 属性列表表格中列出了支持的配置。
az containerapp env java-component admin-for-spring update \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME> \
--min-replicas <REPLICA_COUNT> \
--max-replicas <REPLICA_COUNT> \
--configuration <CONFIGURATION_KEY>="<CONFIGURATION_VALUE>"
列出
可以使用 list
命令列出所有注册的 Java 组件。
在运行以下命令之前,请将用<>
括起来的占位符替换为你的值。
az containerapp env java-component list \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP>
取消绑定
若要从容器应用中移除绑定,请使用 --unbind
选项。
在运行以下命令之前,请将用<>
括起来的占位符替换为你的值。
az containerapp update \
--name <APP_NAME> \
--unbind <JAVA_COMPONENT_NAME> \
--resource-group <RESOURCE_GROUP>
依赖项
在容器应用中使用控制台组件时,需要在 pom.xml
文件中添加以下依赖项。 将版本号替换为 Maven 存储库上提供的最新版本。
<dependency>
<groupId>de.codecentric</groupId>
<version>3.3.2</version>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
可配置属性
从 Spring Boot 2 开始,默认不公开运行状况和信息以外的终结点。 可通过在 application.properties
文件中添加以下配置来公开它们。
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
“适用于 Spring 的控制台”的允许配置列表
以下列表详细介绍了可为应用配置的控制台组件属性。 可在 Spring Boot 控制台文档中找到更多详细信息。
属性名称 | 说明 | 默认值 |
---|---|---|
spring.boot.admin.server.enabled |
启用 Spring Boot 控制台服务器。 | true |
spring.boot.admin.context-path |
管理为服务器静态资产和 API 提供服务的路径前缀。 相对于 Dispatcher-Servlet。 | |
spring.boot.admin.monitor.status-interval |
检查实例状态的时间间隔(以毫秒为单位)。 | 10,000ms |
spring.boot.admin.monitor.status-lifetime |
状态的生存期(以毫秒为单位)。 只要最后一个状态不是已过期,则状态就不会更新。 | 10,000 毫秒 |
spring.boot.admin.monitor.info-interval |
检查实例信息的时间间隔(以毫秒为单位)。 | 1m |
spring.boot.admin.monitor.info-lifetime |
信息生存期(以分钟为单位)。 只要最后一条信息未过期,则信息就不会过期。 | 1m |
spring.boot.admin.monitor.default-timeout |
发出请求时的默认超时。 可使用 spring.boot.admin.monitor.timeout.* 替代特定终结点的单个值。 |
10,000 |
spring.boot.admin.monitor.timeout.* |
带有每个 endpointId 超时的键值对。 |
默认值为 default-timeout 值。 |
spring.boot.admin.monitor.default-retries |
失败请求的默认重试次数。 永远不会重试修改数据(PUT 、POST 、PATCH 、DELETE )的请求。 可使用 spring.boot.admin.monitor.retries.* 替代特定终结点的单个值。 |
0 |
spring.boot.admin.monitor.retries.* |
带有每个 endpointId 重试次数的键值对。 永远不会重试修改数据(PUT 、POST 、PATCH 、DELETE )的请求。 |
默认值为 default-retries 值。 |
spring.boot.admin.metadata-keys-to-sanitize |
匹配这些正则表达式模式(用于在所有 JSON 输出中清理)的键的元数据值。 从 Spring Boot 3 开始,默认屏蔽所有执行器值。 有关如何配置取消清理过程的详细信息,请参阅(清理敏感值)。 | ".**password$", ".\*secret$", ".\*key$", ".\*token$", ".\*credentials.**", ".*vcap_services$" |
spring.boot.admin.probed-endpoints |
对于 Spring Boot 1.x 客户端应用程序,Spring Boot 控制台使用 OPTIONS 请求探测指定终结点。 如果路径与 ID 不同,可将此值指定为 id:path (例如:health:ping ) |
"health", "env", "metrics", "httptrace:trace", "threaddump:dump", "jolokia", "info", "logfile", "refresh", "flyway", "liquibase", "heapdump", "loggers", "auditevents" |
spring.boot.admin.instance-proxy.ignored-headers |
向客户端发出请求时不转发的标头。 | "Cookie", "Set-Cookie", "Authorization" |
spring.boot.admin.ui.title |
显示的页标题。 | "Spring Boot Admin" |
spring.boot.admin.ui.poll-timer.cache |
提取新缓存数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.datasource |
提取新数据源数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.gc |
提取新 GC 数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.process |
提取新进程数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.memory |
提取新内存数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.threads |
提取新线程数据的轮询持续时间(以毫秒为单位)。 | 2500 |
spring.boot.admin.ui.poll-timer.logfile |
提取新日志文件数据的轮询持续时间(以毫秒为单位)。 | 1000 |
spring.boot.admin.ui.enable-toasts |
启用或禁用 toast 通知。 | false |
spring.boot.admin.ui.title |
浏览器的窗口标题值。 | "" |
spring.boot.admin.ui.brand |
导航标头中呈现的 HTML 代码,默认为 Spring Boot 控制台标签。 默认情况下,Spring Boot 控制台徽标后跟其名称。 | "" |
management.scheme |
在用于访问执行器终结点的服务 URL 中替换的值。 | |
management.address |
在用于访问执行器终结点的服务 URL 中替换的值。 | |
management.port |
在用于访问执行器终结点的服务 URL 中替换的值。 | |
management.context-path |
追加到用于访问执行器终结点的服务 URL 的值。 | ${spring.boot.admin.discovery.converter.management-context-path} |
health.path |
追加到用于进行运行状况检查的服务 URL 的值。 被 EurekaServiceInstanceConverter 忽略。 |
${spring.boot.admin.discovery.converter.health-endpoint} |
spring.boot.admin.discovery.enabled |
启用对控制台服务器的 DiscoveryClient 支持。 |
true |
spring.boot.admin.discovery.converter.management-context-path |
当 management-url 值由 DefaultServiceInstanceConverter 转换时,追加到所发现服务的 service-url 的值。 |
/actuator |
spring.boot.admin.discovery.converter.health-endpoint-path |
当 health-url 值由 DefaultServiceInstanceConverter 转换时,追加到所发现服务的 management-url 的值。 |
"health" |
spring.boot.admin.discovery.ignored-services |
使用发现且未注册为应用程序时忽略的服务。 支持 "foo*" 、"*bar" 、"foo*bar*" 等简单模式。 |
|
spring.boot.admin.discovery.services |
使用发现且注册为应用程序时包括的服务。 支持 "foo*" 、"*bar" 、"foo*bar*" 等简单模式。 |
"*" |
spring.boot.admin.discovery.ignored-instances-metadata |
如果服务包含至少一个与此列表中的模式匹配的元数据项,则忽略这些服务。 支持 "discoverable=false" 等模式。 |
|
spring.boot.admin.discovery.instances-metadata |
如果服务包含至少一个与列表中的模式匹配的元数据项,则包括这些服务。 支持 "discoverable=true" 等模式。 |
常见配置
- 日志记录相关配置:
- logging.level.*
- logging.group.*
- 应禁止
logging.*
命名空间下的任何其他配置。 例如,应禁止使用logging.file
写入日志文件。