練習 - 針對 Azure 容器執行個體進行疑難排解
為協助您了解針對容器執行個體進行疑難排解的基本方法,執行一些基本操作,例如:
- 提取容器記錄
- 檢視容器事件
- 連結至容器執行個體
取得先前部署的容器執行個體記錄
執行下列 az container logs
命令,以查看在前一個練習中所建立貓和狗投票應用程式容器的輸出:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
您會得到類似下列的輸出:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
#! /usr/bin/env bash
# Let the DB start
sleep 10;
# Run migrations
alembic upgrade head
…
取得容器事件
az container attach
命令提供容器啟動期間的診斷資訊。 一旦容器啟動之後,它也會將標準輸出和標準錯誤資料流寫入到您的本機終端機。
執行 az container attach
以連結您的容器:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
您會得到類似下列的輸出:
Container 'aci-demo-files' is in state 'Running'...
(count: 1) (last timestamp: 2021-09-21 23:48:14+00:00) pulling image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:09+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:12+00:00) Created container
(count: 1) (last timestamp: 2021-09-21 23:49:13+00:00) Started container
Start streaming logs:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
…
提示
若要從已連結的容器中斷連結,請輸入 Ctrl+C。
在容器中執行命令
在您診斷問題並進行疑難排解時,您可能需要在執行中的容器上直接執行命令。
若要在容器中查看命令,請執行下列
az container exec
命令以在容器上啟動互動式工作階段:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
此時,您實際上就是在容器內工作。
執行
ls
命令以顯示工作目錄的內容。# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
如果您想要,可以進一步探索系統。 當您完成時,執行
exit
命令以停止互動式工作階段。
監視容器上的 CPU 和記憶體使用量
了解如何監視容器上的 CPU 和記憶體使用量。
執行下列
az container show
命令以取得 Azure 容器執行個體的識別碼,並將該識別碼儲存在 Bash 變數中:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
執行
az monitor metrics list
命令以擷取 CPU 使用量資訊:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
請注意
--metrics
引數。 在這裡,CPUUsage 指定要擷取 CPU 使用量。您會看到類似以下輸出的文字:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:39:00 CPU Usage 2021-09-21 23:40:00 CPU Usage 2021-09-21 23:41:00 CPU Usage 2021-09-21 23:42:00 CPU Usage 2021-09-21 23:43:00 CPU Usage 0.375 2021-09-21 23:44:00 CPU Usage 0.875 2021-09-21 23:45:00 CPU Usage 1 2021-09-21 23:46:00 CPU Usage 3.625 2021-09-21 23:47:00 CPU Usage 1.5 2021-09-21 23:48:00 CPU Usage 2.75 2021-09-21 23:49:00 CPU Usage 1.625 2021-09-21 23:50:00 CPU Usage 0.625 2021-09-21 23:51:00 CPU Usage 0.5 2021-09-21 23:52:00 CPU Usage 0.5 2021-09-21 23:53:00 CPU Usage 0.5
執行
az monitor metrics list
命令以擷取記憶體使用量資訊:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
在這裡,您針對
--metrics
引數指定 MemoryUsage,以擷取記憶體使用量資訊。您會看到類似以下輸出的文字:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:43:00 Memory Usage 2021-09-21 23:44:00 Memory Usage 0.0 2021-09-21 23:45:00 Memory Usage 15917056.0 2021-09-21 23:46:00 Memory Usage 16744448.0 2021-09-21 23:47:00 Memory Usage 16842752.0 2021-09-21 23:48:00 Memory Usage 17190912.0 2021-09-21 23:49:00 Memory Usage 17506304.0 2021-09-21 23:50:00 Memory Usage 17702912.0 2021-09-21 23:51:00 Memory Usage 17965056.0 2021-09-21 23:52:00 Memory Usage 18509824.0 2021-09-21 23:53:00 Memory Usage 18649088.0 2021-09-21 23:54:00 Memory Usage 18845696.0 2021-09-21 23:55:00 Memory Usage 19181568.0
在 Azure 入口網站中,Azure 容器執行個體 CPU 和記憶體使用量資訊如下所示:
清除資源
在本課程模組中,您使用了 Azure 訂用帳戶建立資源。 您應該清除這些資源,以便您仍不需支付這些資源的費用。
在 Azure [首頁] 上,選取 [所有資源]。
尋找 learn-deploy-aci-rg 資源群組,或您使用的資源群組名稱,然後加以選取。
在資源群組的 [概觀] 索引標籤中,選取 [刪除資源群組]。
新的對話方塊隨即開啟。 再次輸入資源群組的名稱,然後選取 [刪除]。 我們在此課程模組中建立的所有資源會遭到刪除。