本文提供分步指南,來設置和開始使用 Java 診斷工具(diag4j)中的 Spring Boot Admin 元件於 Azure Kubernetes Service (AKS)上。 您可以遵循下列步驟,有效率地監視和診斷 Java 應用程式。
先決條件
- 具有必要許可權的運行中 AKS 叢集。
- kubectl 安裝並設定為存取您的 AKS 叢集。
- Helm 已安裝在你的本機電腦上。
- 部署在 AKS 中的 Java 應用程式。 如需詳細資訊,請參閱 將 Spring Boot 應用程式部署至 Azure Kubernetes Service。 啟用 Spring Boot 執行器端點時,此工具效果更好。
- 開發人員存取承載 diag4j 的命名空間。 請確定您可以執行
kubectl port-forward。
在您的叢集中安裝 diag4j
使用下列命令,在所需的命名空間中安裝 diag4j:
helm install my-diag4j oci://diag4j.azurecr.io/helm/diag4j --version 1.1.5 -n <namespace> --create-namespace
建立 Spring Boot 管理元件
使用下列命令來建立 Spring Boot Admin (SBA) 元件:
套用自定義資源 (CR) 以建立 Spring Boot Admin 元件。 建立名為 spring-boot-admin.yaml的檔案,然後新增下列內容。 將
<namespace>替換為您的 Spring Boot 應用程式正在執行的命名空間。 SBA 將會自動探索那些執行器端點已公開的應用程式。 其他人則會在儀錶板上顯示DOWN狀態。apiVersion: diagtool4j.microsoft.com/v1alpha1 kind: Component metadata: name: spring-boot-admin namespace: <namespace> spec: type: SpringBootAdmin使用下列命令來套用 CR:
kubectl apply -f spring-boot-admin.yaml
存取 diag4j 儀錶板
使用下列步驟來存取儀錶板:
請使用以下命令設定本機端口轉發到 SBA 伺服器:
kubectl port-forward svc/spring-boot-admin-azure-java -n <namespace> 8080:8080前往瀏覽器中的
http://localhost:8080,以檢視 SBA 儀錶板。 相同命名空間中的所有應用程式都應該自動註冊。
使用診斷功能
若要檢視應用程式計量,請按下 SBA 儀錶板中的應用程式。 您可以檢視即時計量,包括下列計量:
- CPU & 記憶體使用量
- 垃圾收集 (GC) 狀態
- 作用中線程和環境變數
若要調整記錄層級,請瀏覽至 [記錄器] 區段。 然後,您可以動態修改特定套件或類別的記錄層級,以隔離問題。
若要執行進階診斷,請產生堆積傾印和線程傾印,以進行深入分析。