連線至應用程式執行個體以進行疑難排解
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於: ✔️ 基本/標準 ✔️ 企業
本文說明如何存取應用程式實例內的殼層環境,以執行進階疑難解答。
雖然 Azure Spring Apps 提供各種受控疑難解答方法,但您可能想要使用殼層環境執行進階疑難解答。 例如,您可能想要完成下列疑難解答工作:
- 直接使用 Java 開發工具套件 (JDK) 工具。
- 針對應用程式的後端服務進行診斷,以取得虛擬網路和非虛擬網路實例的網路連線和 API 呼叫延遲。
- 診斷記憶體容量、效能和CPU/記憶體問題。
必要條件
使用 Azure Spring 應用程式延伸模組的 Azure CLI。 使用下列命令移除舊版並安裝最新的延伸模組。 如果您先前已安裝
spring-cloud
延伸模組,請將其解除安裝,以避免設定與版本不符。az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Azure Spring Apps 中已部署的應用程式。
如果您已部署自定義容器,則為殼層程式。 預設值為
/bin/sh
。
指派 Azure 角色
線上到應用程式實例之前,您必須獲得 Azure Spring Apps Connect 角色的角色。 連線到應用程式實體需要資料動作權限 Microsoft.AppPlatform/Spring/apps/deployments/connect/action
。
您可以使用 Azure 入口網站 或 Azure CLI 來指派 Azure 角色。
使用下列步驟,使用 Azure 入口網站 指派 Azure 角色。
開啟 Azure 入口網站。
開啟現有的 Azure Spring Apps 服務實例。
從左側功能表中選取 [存取控制 (IAM)]。
在命令行中選取 [新增 ],然後選取 [ 新增角色指派]。
在清單中搜尋 Azure Spring Apps Connect 角色 ,然後選取 [ 下一步]。
選取 [ 選取成員],然後搜尋您的用戶名稱。
選取檢閱+指派。
線上到應用程式實例
您可以使用 Azure 入口網站 或 Azure CLI 連線到應用程式實例。
使用下列步驟,使用 Azure 入口網站 連線到應用程式實例。
開啟 Azure 入口網站。
開啟現有的 Azure Spring Apps 服務實例。
從左側功能表選取 [應用程式],然後選取其中一個應用程式。
從左側功能表中選取 [ 控制台 ]。
選取應用程式實例。
選取或輸入殼層以在容器中執行。
選取 Connect。
針對您的應用程式實例進行疑難解答
線上到應用程式實例之後,您可以檢查堆積記憶體的狀態。
使用下列命令來尋找 Java 行程識別碼,通常是 1
:
jps
輸出看起來會如下列範例所示:
然後使用下列命令來執行 JDK 工具來檢查結果:
jstat -gc 1
輸出看起來會如下列範例所示:
中斷與應用程式實例的連線
當您完成疑難解答時,請使用 exit
命令來中斷應用程式實例的連線,或按 Ctrl+d
。
疑難排解工具
下列清單描述一些可用於疑難解答的預安裝工具:
lsof
- 列出開啟的檔案。top
- 顯示系統摘要資訊和目前使用率。ps
- 取得執行中進程的快照集。netstat
- 列印網路連接和介面統計數據。nslookup
- 以互動方式查詢因特網名稱伺服器。ping
- 測試是否可以連線到網路主機。nc
- 使用 TCP 或 UDP 讀取和寫入網路連線。wget
- 可讓您下載檔案,並與 REST API 互動。df
- 顯示可用磁碟空間量。
您也可以使用 JDK 配套工具,例如 jps
、 jcmd
與 jstat
。
下列清單顯示可用的工具,取決於您的服務方案和應用程式部署類型:
- 原始碼、JAR 和成品部署:
- 基本、標準和標準取用和專用方案:
- 一般工具 - 是
- JDK 工具 - 是,僅適用於 Java 工作負載。
- 企業方案:
- 一般工具 - 取決於您在建置器中選擇的 OS 堆疊。 是,適用於完整的OS堆疊。 否,適用於基底OS堆疊。
- JDK 工具 - 是,僅適用於 Java 工作負載。
- 基本、標準和標準取用和專用方案:
- 自定義映像部署:視映射中已安裝的工具集而定。
注意
原始碼部署類型的路徑中不包含 JDK 工具。 執行 export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin"
任何 JDK 命令之前執行。
限制
在應用程式實例內使用殼層環境有下列限制:
因為應用程式是以非根使用者身分執行,因此您無法執行需要根許可權的一些動作。 例如,您無法使用系統套件管理員
apt / yum
來安裝新的工具。由於禁止某些 Linux 功能,因此需要特殊許可權的工具,例如
tcpdump
,無法運作。