Azure AI サービスの診断ログを有効にする

このガイドでは、Azure AI サービスの診断ログを有効にするための詳細な手順について説明します。 これらのログでは、問題の識別やデバッグに使用されるリソースの操作に関する豊富で頻繁なデータが提供されます。 続行する前に、少なくとも 1 つの Azure AI サービス (音声サービス など) へのサブスクリプションを持つ Azure アカウントが必要です。

前提条件

診断ログを有効にするには、ログ データを格納する場所が必要になります。 このチュートリアルでは、Azure Storage と Log Analytics を使用します。

  • Azure Storage - ポリシー監査、静的解析、またはバックアップの診断ログを保持します。 設定を構成するユーザーが両方のサブスクリプションに対して適切な Azure RBAC アクセスを持っている限り、ストレージ アカウントはログを出力するリソースと同じサブスクリプションに属している必要はありません。
  • Log Analytics - Azure リソースによって生成された生ログの分析を可能にする柔軟なログ検索および分析ツール。

注意

診断ログの収集を有効にする

最初に、Azure portal を使用して診断ログを有効にします。

注意

PowerShell または Azure CLI を使用してこの機能を有効にするには、Azure リソースからのログ データの収集と使用に関するページに示されている手順を使用します。

  1. Azure Portal に移動します。 次に、Azure AI サービス リソースを見つけて選択します。 たとえば、音声サービスのサブスクリプションです。
  2. 次に、左側のナビゲーション メニューから、 [監視] を見つけて [診断設定] を選択します。 この画面には、このリソースに対して前に作成したすべての診断設定が含まれています。
  3. 前に作成したリソースで使用したいものが存在する場合は、ここでそれを選択できます。 それ以外の場合は、 [+ Add diagnostic setting] (+ 診断設定の追加) を選択します。
  4. 設定の名前を入力します。 次に、 [ストレージ アカウントへのアーカイブ] および [Log Analytics への送信] を選択します。
  5. 構成するよう求めるメッセージが表示されたら、診断ログを格納するために使用するストレージ アカウントと OMS ワークスペースを選択します。 :ストレージ アカウントまたは OMS ワークスペースがない場合は、プロンプトに従って作成してください。
  6. [Audit][RequestResponse] 、および [AllMetrics] を選択します。 次に、診断ログ データの保持期間を設定します。 保持ポリシーが 0 に設定されていると、そのログ カテゴリのイベントは無期限に格納されます。
  7. [保存] を選択します。

ログ データがクエリや分析に使用できるようになるまでに最大 2 時間かかることがあります。 そのため、すぐには何も表示されなくても気にしないでください。

Azure Storage の診断データを表示およびエクスポートする

Azure Storage は、大量の非構造化データを格納するために最適化された、強力なオブジェクト ストレージ ソリューションです。 このセクションでは、ストレージ アカウントにクエリを実行して 30 日間の合計トランザクションを取得し、そのデータを Excel にエクスポートする方法について説明します。

  1. Azure portal から、最後のセクションで作成した Azure Storage リソースを見つけます。
  2. 左側のナビゲーション メニューから、 [監視] を見つけて [メトリック] を選択します。
  3. 使用可能なドロップダウンを使用してクエリを構成します。 この例では、時間範囲を [過去 30 日間] に、メトリックを [トランザクション] に設定します。
  4. クエリが完了すると、過去 30 日間のトランザクションの視覚化が表示されます。 このデータをエクスポートするには、ページの上部にある [Excel へのエクスポート] ボタンを使用します。

診断データで実行できる操作の詳細については、Azure Storage に関するページを参照してください。

Log Analytics ログを表示する

リソースに対するログ分析データを調査するには、次の手順に従います。

  1. Azure portal で、左側のナビゲーション メニューから [Log Analytics] を見つけて選択します。
  2. 診断を有効にするときに作成したリソースを見つけて選択します。
  3. [全般] で、 [ログ] を見つけて選択します。 このページから、ログに対してクエリを実行できます。

サンプル クエリ

ログ データを調査するために使用できるいくつかの基本的な Kusto クエリを次に示します。

指定した期間の Azure AI サービスのすべての診断ログを表示するには、次のクエリを実行します。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"

最新の 10 件のログを表示するには、次のクエリを実行します。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| take 10

リソースで操作をグループ化するには、次のクエリを実行します。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES" |
summarize count() by Resource

操作を実行するためにかかる平均時間を見つけるには、次のクエリを実行します。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| summarize avg(DurationMs)
by OperationName

OperationName によって分割された一定期間の操作の量と、10 秒ごとにビン分割された数を表示するには、次のクエリを実行します。

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| summarize count()
by bin(TimeGenerated, 10s), OperationName
| render areachart kind=unstacked

次のステップ