Azure Container Apps のログ ストレージと監視オプション
Azure Container Apps には、アプリケーション ログを格納および表示するためのオプションが用意されています。 ログ オプションは、ログの宛先を選択する Container Apps 環境で構成されます。
Container Apps アプリケーション ログは、次の 2 つの異なるカテゴリで構成されます。
- コンテナー コンソールの出力 (
stdout
/stderr
) メッセージ。 - Azure Container Apps によって生成されたシステム ログ。
- Spring App コンソール ログ。
これらのログの宛先から選ぶことができます。
- Log Analytics: Azure Monitor Log Analytics は既定のストレージと表示オプションです。 ログは Log Analytics ワークスペースに格納され、Log Analytics クエリを使用して表示および分析できます。 Log Analytics の詳細については、Azure Monitor Log Analytics に関するページを参照してください。
- Azure Monitor: Azure Monitor によって、ログが 1 つまたは複数の宛先にルーティングされます。
- 表示と分析のための Log Analytics ワークスペース。
- アーカイブする Azure ストレージ アカウント。
- データ インジェストおよび分析サービス用の Azure イベント ハブ。 詳細については、Azure Event Hubs に関するページを参照してください。
- Datadog、Elastic、Logz.io などの Azure パートナー監視ソリューション。 詳細については、「パートナー ソリューション」を参照してください。
- なし: ログ データの格納を無効にすることができます。 無効にした場合でも、コンテナー アプリのログ ストリーム機能を使用して、リアルタイムのコンテナー ログを引き続き表示できます。 詳細については、「ログ ストリーミング」を参照してください。
[なし] または [Azure Monitor] の宛先が選択されている場合、Azure portal の Log Analytics クエリ エディターを提供する [ログ] メニュー項目は無効になります。
Azure portal を介してオプションを構成する
Azure portal で Container Apps 環境のログ オプションを構成するには、これらの手順を使用します。
- ポータルの [Container Apps 環境] ウィンドウの [ログ オプション] に移動します。
- 次の [ログの宛先] オプションから選ぶことができます。
- Log Analytics: このオプションでは、ログ データを格納する Log Analytics ワークスペースを選択します。 ログは Log Analytics クエリを使用して表示できます。 Log Analytics の詳細については、Azure Monitor Log Analytics に関するページを参照してください。
- Azure Monitor: Azure Monitor によって、ログが宛先にルーティングされます。 このオプションを選択する場合は、このページで [保存] を選択した後、[診断設定] を選んで構成を完了する必要があります。
- なし: このオプションを選択すると、ログ データの格納が無効になります。
- [保存] を選択します。
- ログの宛先として [Azure Monitor] を選択した場合は、[診断設定] を構成する必要があります。 [診断設定] 項目は、[ログ オプション] メニュー項目の下に表示されます。
診断設定
ログの宛先として [Azure Monitor] を選択する場合は、宛先の詳細を構成する必要があります。 ポータルの [Container Apps 環境] ウィンドウの左側のメニューから [診断設定] を選択します。
宛先の詳細は ''診断設定'' として保存されます。 コンテナー アプリ環境には、最大 5 つの診断設定を作成できます。 診断設定ごとに異なるログ カテゴリを構成できます。 たとえば、1 つの診断設定を作成してシステム ログ カテゴリを 1 つの宛先に送信するようにし、もう 1 つはコンテナー コンソール ログ カテゴリを別の宛先に送信するために作成します。
新しい診断設定を作成するには:
[診断設定の追加] を選択します。
診断設定の名前を入力します。
この宛先に送信するログの [カテゴリ グループ] または [カテゴリ] を選択します。 1 つまたは複数のカテゴリを選択できます。
1 つまたは複数の [宛先の詳細] を選択します。
- Log Analytics ワークスペースに送信: 既存の Log Analytics ワークスペースから選択します。
- ストレージ アカウントへのアーカイブ: 既存のストレージ アカウントから選ぶことができます。 個々のログ カテゴリが選択されている場合は、各カテゴリの [リテンション期間 (日)] を設定できます。
- イベント ハブへのストリーム: Azure イベント ハブから選択します。
- パートナー ソリューションに送信する: Azure パートナー ソリューションから選択します。
[保存] を選択します。
診断設定の詳細については、「Azure Monitor の診断設定」を参照してください。
Azure CLI を使用してオプションを構成する
Azure CLI az containerapp create
および az containerapp update
コマンドと --logs-destination
引数を使用して、Container Apps 環境のログの宛先を構成します。
宛先の値は、log-analytics
、azure-monitor
、none
です。
たとえば、既存の Log Analytics ワークスペースをログの宛先として使用して Container Apps 環境を作成するには、log-analytics
引数に値 --logs-destination
および --logs-destination-id
引数に Log Analytics ワークスペース リソース ID の値を指定する必要があります。 リソース ID は、Azure portal の Log Analytics ワークスペース ページまたは az monitor log-analytics workspace show
コマンドから取得できます。
''<プレースホルダー>'' は実際の値に置き換えてください。
az containerapp env create \
--name <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--logs-destination log-analytics \
--logs-workspace-id <WORKSPACE_ID>
ログの宛先として Azure Monitor を使用するように既存の Container Apps 環境を更新するには:
''<プレースホルダー>'' は実際の値に置き換えてください。
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 に送信するには:
''<プレースホルダー>'' は実際の値に置き換えてください。
az monitor diagnostic-settings create \
--name "AllMetricsToLogAnalytics" \
--resource <APP_ARM_RESOURCE_ID> \
--metrics '[{"category": "AllMetrics","enabled": true}]' \
--workspace <LOG_ANALYTICS_ARM_RESOURCE_ID>
Azure Monitor 診断設定コマンドの詳細については、「az monitor diagnostic-settings」を参照してください。 Container Apps のログ カテゴリは ContainerAppConsoleLogs
と ContainerAppSystemLogs
です。