本文提供 Azure Kubernetes Service 上 Java 診斷工具 (diag4j) 的概觀。 diag4j 工具是輕量型、非侵入性的監視和診斷解決方案,適用於在 Azure Kubernetes Service 上執行的 Java 應用程式。
主要優點
diag4j 工具提供下列主要優點:
- 輕量型和非侵入性:利用 Spring Boot Admin (SBA) 和 Java 附加代理程式,此工具具有資源效率,且不需要對應用程式進行深入修改。
- 自動 Kubernetes 整合:此工具會自動探索具有公開執行器端點的 Pod,並將它們列在 SBA 儀錶板上。
- 即時計量和診斷:此工具會顯示即時應用程式計量、垃圾收集 (GC) 狀態和環境變數。 您也可以動態調整記錄層級,以深入瞭解特定問題。
- 進階診斷:此工具提供增強的診斷功能,例如堆疊追蹤檢查、檢視局部變數、產生堆積和線程傾印,以及動態插入記錄以進行疑難解答。
- IDE 相容性:此工具會與 IDE 整合,以啟用偵錯,而不需要重建或重新部署應用程式,進而簡化疑難解答。
建築
diag4j 工具是由下列元件所組成:
- Spring Boot Admin 伺服器在其命名空間內具有唯讀角色,可自動探索和監控暴露執行器端點的 Pod。
- Java 附加代理程式是一種輕量型 Java 代理程式,可附加至執行中的 Java 進程,在不重新啟動應用程式的情況下啟用診斷功能。
為了在目前里程碑期間維護安全性,這些元件不會公開公開。 您可以透過 kubectl port-forward 命令存取此工具。