分享方式:


即時串流 Azure Spring Apps 作業記錄 (預覽)

注意

基本標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告

標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps

本文適用於:❌基本/標準 ✔️ Enterprise

本文說明如何使用 Azure CLI 取得作業的實時記錄以進行疑難解答。 您也可以使用診斷設定,分析 Azure Spring 應用程式中的診斷資料。 若要深入了解,請參閱使用診斷設定分析記錄和計量。 如需串流記錄的詳細資訊,請參閱 即時 串流 Azure Spring Apps 應用程式控制台記錄和 即時串流 Azure Spring Apps 受控元件記錄。

必要條件

指派 Azure 角色

若要串流作業記錄,您必須指派相關的 Azure 角色給您。 下表列出此角色獲授與許可權的必要角色和作業:

必要角色 Operations
Azure Spring Apps 作業記錄讀取者角色 Microsoft.AppPlatform/Spring/jobs/executions/logstream/action
Microsoft.AppPlatform/Spring/jobs/executions/listInstances/action

使用下列步驟,使用 Azure 入口網站 指派 Azure 角色:

  1. 開啟 Azure 入口網站

  2. 開啟您的 Azure Spring Apps 服務實例。

  3. 在瀏覽窗格中,選取 [存取控制 [IAM]。

  4. 在 [存取控制 (IAM) 頁面上,選取 [新增],然後選取 [新增角色指派]。

    顯示 [存取控制 (IAM) 頁面的 Azure 入口網站 螢幕快照,其中已醒目提示 [新增角色指派] 選項。

  5. 在 [ 新增角色指派 ] 頁面上的 [ 名稱] 清單中,搜尋並選取目標角色,然後選取 [ 下一步]。

    顯示 [新增角色指派] 頁面的 Azure 入口網站 螢幕快照,其中已醒目提示 Azure Spring Apps 作業記錄讀取者角色名稱。

  6. 選取 [ 成員 ],然後搜尋並選取您的用戶名稱。

  7. 選取檢閱+指派

檢視尾日誌

本節提供使用 Azure CLI 來產生結尾記錄的範例。

檢視特定實例的尾日誌

每次觸發作業時,都會建立新的作業執行。 此外,視作業的平行處理原則設定而定,數個複本或實例會以平行方式執行。

使用下列命令來列出作業執行中的所有實例:

az spring job execution instance list \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --job <job-name> \
    --execution <job-execution-name>

您可以從輸出取得作業執行的所有實例名稱。

若要檢視特定實例的尾日誌,請使用 az spring job logs 命令搭配 -i/--instance 自變數,如下列範例所示:

az spring job logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <job-name> \
    --execution <job-execution-name> \
    --instance <instance-name>

在一個命令中檢視所有實例的尾日誌

若要檢視所有實例的尾日誌,請使用 --all-instances 自變數,如下列範例所示。 實例名稱是每個記錄行的前置詞。 當有多個實例時,會針對每個實例以批次方式列印記錄。 如此一來,一個實例的記錄就不會與另一個實例的記錄交錯。

az spring job logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <job-name> \
    --execution <job-execution-name> \
    --all-instances

持續串流新記錄

根據預設, az spring job logs 只會列印串流至控制台的現有記錄,然後結束。 如果您想要串流新的記錄,請新增 -f/--follow 自變數。

當您使用 -f/--follow 選項來尾端立即記錄時,除非作業持續寫入記錄,否則 Azure Spring Apps 記錄串流服務會每分鐘傳送活動訊號記錄至用戶端。 活動訊號記錄訊息會使用下列格式:2023-12-18 09:12:17.745: No log from server

特定實例的串流記錄

使用下列命令來取得特定實體的實體名稱和串流記錄:

az spring job execution instance list \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --job <job-name> \
    --execution <job-execution-name>

az spring job logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <job-name> \
    --execution <job-execution-name> \
    --instance <instance-name> \
    --follow

所有實例的串流記錄

使用下列命令來串流所有實體的記錄:

az spring job logs \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <job-name> \
    --execution <job-execution-name> \
    --all-instances \
    --follow

當您在作業執行中串流多個實例的記錄時,一個實例的記錄會與其他實例的記錄交錯。

在虛擬網路插入實例中串流記錄

針對部署在自訂虛擬網路中的 Azure Spring 應用程式執行個體,您可以根據預設從私人網路存取記錄串流。 如需詳細資訊,請參閱在虛擬網路中部署 Azure Spring Apps

Azure Spring Apps 也可讓您從公用網路存取即時作業記錄。

注意

在公用網路上啟用記錄串流端點,會將公用輸入 IP 新增至您的虛擬網路。 如果您對此有所顧慮,使用時請務必小心。

使用下列步驟在公用網路上啟用記錄串流端點:

  1. 選取部署在虛擬網路中的 Azure Spring Apps 服務實例,然後在瀏覽窗格中選取 [ 網络 ]。

  2. 選取 [Vnet 插入] 索引標籤。

  3. 將公用網路上 Dataplane 資源的狀態切換為 [啟用],以在公用網路上啟用記錄串流端點。 此程序會需要幾分鐘的時間。

    Azure 入口網站的螢幕擷取畫面,其中顯示已選取 [Vnet 插入] 索引標籤的 [網路] 頁面,並醒目提示 [疑難排解] 區段。

啟用記錄串流公用端點之後,您可以從公用網路存取作業記錄,就像存取一般實例一樣。

保護記錄串流公用端點的流量

作業的記錄串流會使用 Azure RBAC 來驗證作業的連線。 因此,只有具有適當角色的使用者才能存取記錄。

若要確保作業在公開公用端點時的安全性,請使用網路安全組篩選網路流量來保護您的端點。 如需詳細資訊,請檢閱教學課程:使用 Azure 入口網站透過網路安全性群組篩選網路流量。 網路安全性群組包含安全性規則,用來允許或拒絕進出多種 Azure 資源類型的輸入和輸出網路流量。 針對每個規則,您可以指定來源與目的地、連接埠和通訊協定。

注意

如果您在啟用記錄串流公用端點之後,無法從因特網存取虛擬網路插入實例中的作業記錄,請檢查您的網路安全組,以查看您是否允許這類輸入流量。

下表顯示我們建議的基本規則範例。 您可以使用 nslookup 之類的命令搭配端點 <service-name>.private.azuremicroservices.io 來取得服務的目標 IP 位址。

優先順序 名稱 連接埠 通訊協定 來源 Destination 動作
100 規則名稱 80 TCP 網際網路 服務 IP 位址 允許
110 規則名稱 443 TCP 網際網路 服務 IP 位址 允許

下一步