在 Azure 容器應用程式中設定 Spring 元件的管理員
適用於 Spring 的管理員受控元件會提供 Spring Boot Web 應用程式的系統管理介面,此介面會公開 Actuator 端點。 本文說明如何設定和管理 Spring 元件。
顯示
若想依名稱檢視個別元件的詳細資料,您可以使用 show
命令。
執行下列命令之前,請以您的值取代以 <>
括住的預留位置。
az containerapp env java-component admin-for-spring show \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME>
更新
您可以使用 update
命令來更新 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>
Dependency
當您在容器應用程式中使用管理員元件時,必須在 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 Admin (英文) 文件中找到更多詳細資料。
屬性名稱 | 描述 | 預設值 |
---|---|---|
spring.boot.admin.server.enabled |
啟用 Spring Boot Admin Server。 | true |
spring.boot.admin.context-path |
提供 Admin Server 靜態資產和 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 輸出中符合這些 RegEx 模式的索引鍵中繼資料值。 從 Spring Boot 3 開始,所有傳動器值預設都會遮罩。 如需如何設定取消清理流程的詳細資訊,請參閱清理敏感值 (英文)。 | ".**password$", ".\*secret$", ".\*key$", ".\*token$", ".\*credentials.**", ".*vcap_services$" |
spring.boot.admin.probed-endpoints |
針對 Spring Boot 1.x 用戶端應用程式,Spring Boot Admin 會使用 OPTIONS 要求來探查指定的端點。 如果路徑與識別碼不同,您可以將此值指定為 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 |
啟用或停用快顯通知。 | false |
spring.boot.admin.ui.title |
瀏覽器的視窗標題值。 | "" |
spring.boot.admin.ui.brand |
在瀏覽標頭中轉譯的 HTML 程式碼,預設為 Spring Boot Admin 標籤。 根據預設,Spring Boot Admin 標誌後面接著其名稱。 | "" |
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
來寫入記錄檔。