共用方式為


在 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 失敗要求的預設重試次數。 修改資料的要求 (PUTPOSTPATCHDELETE) 一律不會重試。 您可以使用 spring.boot.admin.monitor.retries.* 覆寫特定端點的個別值。 0
spring.boot.admin.monitor.retries.* 包含每個 endpointId 重試次數的索引鍵/值組。 修改資料的要求 (PUTPOSTPATCHDELETE) 一律不會重試。 預設為 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 來寫入記錄檔。

下一步