Azure 容器應用程式中的記錄儲存體和監視選項
Azure 容器應用程式提供儲存和檢視應用程式記錄的選項。 記錄選項在您選取記錄目的地的容器應用程式環境中設定。
容器應用程式的應用程式記錄檔包含兩個不同的類別:
- 容器主控台輸出 (
stdout
/stderr
) 訊息。 - Azure 容器應用程式所產生的系統記錄。
- Spring App 主控台記錄。
您可以在這些記錄目的地之間進行選擇:
- Log Analytics:Azure 監視器 Log Analytics 是預設儲存體和檢視選項。 您的記錄儲存於 Log Analytics 工作區,其中您可以使用 Log Analytics 查詢來檢視和分析記錄。 若要深入了解 Log Analytics,請參閱 Azure 監視器 Log Analytics。
- Azure 監視器:Azure 監視器會將記錄路由傳送至一或多個目的地:
- 用於檢視和分析的 Log Analytics 工作區。
- 要封存的 Azure 儲存體帳戶。
- 用於資料擷取和分析服務的 Azure 事件中樞。 如需詳細資訊,請參閱 Azure 事件中樞。
- Azure 合作夥伴監視解決方案,例如 Datadog、Elastic、Logz.io 等等。 如需詳細資訊,請參閱合作夥伴解決方案。
- 不要儲存記錄:您可以停用記錄資料的儲存。 停用時,您仍然可以透過容器應用程式中的記錄資料流功能來檢視即時容器記錄。 如需詳細資訊,請參閱記錄串流。
選取 [不要儲存記錄] 或 [Azure 監視器目的地] 時,會停用 [記錄] 功能表項,在 Azure 入口網站 中提供Log Analytics 查詢編輯器。
透過 Azure 入口網站設定選項
使用下列步驟,在 Azure 入口網站中設定容器應用程式環境的記錄選項:
- 移至入口網站中容器應用程式環境視窗上的 [記錄選項]。
- 您可選擇下列記錄目的地選項:
- Log Analytics:使用此選項,您可以選取 Log Analytics 工作區來儲存記錄資料。 您可以透過 Log Analytics 查詢來檢視記錄。 若要深入了解 Log Analytics,請參閱 Azure 監視器 Log Analytics。
- Azure 監視器:Azure 監視器會將您的記錄路由傳送至目的地。 當您選取此選項時,您必須選取 [診斷設定],才能在選取此頁面上的 [儲存] 之後完成設定。
- 不要儲存記錄:此選項會停用記錄數據的儲存。
- 選取儲存。
- 如果您選取 Azure 監視器 作為記錄目的地,則必須設定 診斷設定。 「診斷設定」項目會在「記錄選項」功能表項目下方顯示。
診斷設定
當您選取 Azure 監視器作為記錄目的地時,您必須設定目的地詳細資料。 從入口網站中 [容器應用程式環境] 視窗的左側功能表中選取 [診斷設定]。 您可能需要重新整理頁面,才能 顯示診斷設定 。
目的地詳細資料會儲存為「診斷設定」。 您最多可以為您的容器應用程式環境建立五個診斷設定。 您可以為每個診斷設定設定不同的記錄類別。 例如,建立一個診斷設定,將系統記錄檔類別傳送至一個目的地;建立另一個診斷設定,將容器主控台記錄類別傳送至另一個目的地。
若要建立新的診斷設定:
選取 [新增診斷設定]。
輸入診斷設定的名稱。
選取您要傳送至此目的地的記錄類別群組或類別。 您可以選取一或多個類別。
選取一或多個目的地詳細資料:
- 傳送至 Log Analytics 工作區:從現有的 Log Analytics 工作區中選取。
- 封存至記憶體帳戶:此選項已被取代。
- 串流至事件中樞:從 Azure 事件中樞選取。
- 傳送至合作夥伴解決方案:從 Azure 合作夥伴解決方案中選取。
選取 [儲存]。
如需診斷設定的詳細資訊,請參閱 Azure 監視器中的診斷設定。
使用 Azure CLI 設定選項
使用 Azure CLI az containerapp create
和 az containerapp update
命令搭配 --logs-destination
引數,為容器應用程式環境設定記錄目的地。
目的地值為:log-analytics
、azure-monitor
和 none
。
例如,若要使用現有的 Log Analytics 工作區做為記錄目的地來建立 Container Apps 環境,您必須提供 --logs-destination
引數的值log-analytics
,以及具有 Log Analytics 工作區資源識別碼值的 --logs-destination-id
引數。 您可以從 Azure 入口網站的 Log Analytics 工作區頁面或透過 az monitor log-analytics workspace show
命令取得資源識別碼。
將 <PLACEHOLDERS> 取代為您的值:
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination log-analytics \
--logs-workspace-id <WORKSPACE_ID>
若要更新現有的容器應用程式環境,以使用 Azure 監視器作為記錄目的地:
將 <PLACEHOLDERS> 取代為您的值:
az containerapp env update \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination azure-monitor
當 --logs-destination
設定為 azure-monitor
時,請使用 az monitor diagnostics-settings
命令建立診斷設定,以設定記錄類別的目的地詳細資料。
若要將應用層級計量傳送至 Log Analytics:
將 <PLACEHOLDERS> 取代為您的值:
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <APP_ARM_RESOURCE_ID> \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace <LOG_ANALYTICS_ARM_RESOURCE_ID>
如需 Azure 監視器診斷設定命令的詳細資訊,請參閱 Azure 監視器診斷設定。 Container Apps 記錄類別為 ContainerAppConsoleLogs
和 ContainerAppSystemLogs
。