Azure Application Insights での会話診断 (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

会話診断では、各会話ライフサイクル イベントがログに記録されるため、組織の会話ベースの運用テレメトリをより詳細に把握できるようになります。  これにより、サポート チームがシステムを積極的に監視し、開発者が問題のある会話を簡単に特定、診断、修正したり、迅速なサポートを求めたりできるようになります。

Dynamics 365 Customer Service 環境を Azure Application Insights インスタンスに接続して、会話ログを収集して保存します。 Application Insights 機能についての詳細とテレメトリのモニターとエラーの診断のために使用する方法については、Application Insights 概要ダッシュボードAzure ポータルを使った診断エラー をご覧ください。

その後、Application Insights の Dynamics 365 Customer Service からの会話ライフサイクル イベント データを使用して、システムの正常性を監視し、エクスポートし、追加のデータ セットと組み合わせて、ビジネス ニーズに応じたカスタム ダッシュボードを構築できます。

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能は、お客様が一足先にアクセスして追加使用条件 の対象で、公式リリースの前に使用できるようになっています。

注意

Power Automate および Dynamics 365 Customer Service データは、Government Community Cloud (GCC)、Government Community Cloud - High (GCC High)、および国防総省 (DoD) などのソブリン クラウドでは現在利用できません。

重要

この機能が一般に利用可能になると (GA) に切り替わると、この機能はマネージド環境でのみ利用できるようになります。 ユーザーは、Power Apps、Power Automate、またはプレミアム使用権付きの Dynamics 365 ライセンスが必要になります。 このパブリック プレビューの場合に限り、プレミアム使用権の要件とマネージド環境の制限が緩和されます。

価格設定

Azure Application Insights は Azure Monitor の拡張機能であり、取り込まれたデータに対して料金が発生します。 ログ取り込みプランには、基本ログと分析ログの 2 つがあります。 ビジネス要件に応じた価格を確認するには、Azure Monitor の価格 を参照してください。

Azure Application Insights を使った接続のセットアップ

データ エクスポートを実行する前に、Dynamics 365 Customer Service テナントと Application Insights 管理センターの Azure Power Platform の間の接続を作成します。 Dynamics 365 Customer Service から Application Insights へのデータ エクスポート構成は、環境ごとに 1 つだけ作成できます。 データ エクスポートを有効にするには、次の手順を完了します。

  1. Power Platform 管理センター で、左側のナビゲーション ペインで データ エクスポート を選択します。

  2. データ エクスポート ページで、アプリ インサイト タブを選択します。次に、新しいデータのエクスポート を選択します。

  3. Azure Application Insights への新しいデータのエクスポート ページで、次の操作を完了して、次へ を選択します。

    • 名前を エクスポートパッケージの名前 フィールドに入力します。
    • Dynamics Customer Service を選択します。
    • 次へを選択します。
  4. データをエクスポートしたい環境を選択して、次へ を選択します。 管理環境 からのデータみエクスポートできます。

  5. サブスクリプションリソース グループApplication Insights インスタンスを指定します。 次へ を選択します。

  6. セットアップ構成を確認し、作成 を選択します。Dynamics 365 Customer Service から Application Insights へのデータ エクスポートが作成され、データ エクスポート ページに表示されます。

Application Insights の会話情報にアクセスして使用します

データ エクスポートの設定を構成すると、ライブ チャット、デジタル メッセージング、音声、カスタム チャネルの会話の会話ライフサイクル情報が Application Insights トレース テーブルで利用できるようになります。

会話シナリオ

トレース テーブルには、次の会話シナリオについてのデータが含まれます。

  • カテゴリ: 会話の開始

    • シナリオ: 会話が初期化されます
    • シナリオ: 識別された顧客
  • カテゴリ: 仮想エージェントの対話

    • シナリオ: 仮想エージェントが割り当てられました
    • シナリオ: 仮想アシスタントによって会話が終了しました
    • シナリオ: 仮想エージェントから人間のエージェントへの仮想アシスタントのエスカレーション
  • カテゴリ: ルーティング

    • シナリオ: 需要分類
    • シナリオ: キューの割り当て
  • カテゴリ: 人間のエージェントの対話

    • シナリオ: エージェントの承認されました
    • シナリオ: エージェントが拒否されました
    • シナリオ: 承認リクエストがタイムアウトしました
    • シナリオ: エージェントが拒否されました
    • シナリオ: エージェントの自己割り当て
  • カテゴリ: 会話の完了

    • シナリオ: 顧客により会話が終了されました
    • シナリオ: エージェントにより会話が終了されました
    • シナリオ: エージェント セッションが終了しました
    • シナリオ: 顧客による会話の放棄/顧客の切断
    • シナリオ: スーパーバイザーが強制的に会話をクローズしました
    • シナリオ: 会話がクローズしました

会話シナリオのメタデータ

トレース テーブルの会話シナリオには、次の出たデータが含まれます。

  • 組織 ID
  • LiveWorkItem ID
  • チャネルの種類
  • シナリオのステータス (開始/失敗/完了)
  • Timestamp
  • 期間 (完了したシナリオの場合)
  • 参加者のタイプ (人間エージェントまたは仮想エージェント)
  • Active Directory ユーザーID (該当する場合)

会話ログ メタデータを理解する

Application Insights で表示された属性の簡単な説明は次のとおりです。

  • タイムスタンプ [UTC]: イベントが記録された日時。 
  • メッセージ: 会話ライフサイクル イベントのシナリオ ステータスを示します。 これは、開始、失敗、または完了のいずれかになります。
    • 開始済み: 会話シナリオが開始されたことを示します。
    • 完了済み: 会話シナリオが正常に完了したことを示します。
    • 失敗した: 会話シナリオを示します。
  • CustomDimensions: 詳細なデバッグに必要な次のメタデータが含まれています。
    • organizationId: 組織の一意識別子。
    • LiveWorkItemID: メッセージの送信先となる会話の一意の識別子。
    • チャネル タイプ: 顧客がメッセージを送信する際に使用するチャネル名を示します。
    • 期間: シナリオが完了するまでにかかった時間。
    • 参加者タイプ: 会話が人間のエージェントに割り当てられているか、ボットに割り当てられているかを示します。
  • オペレーション名: 会話のライフサイクル イベントを示します。
  • Operation_id: ルート操作の一意の識別子。 これは、Dynamics 365 Customer Service からの会話のトランザクションIDです。
  • Operation_parentid: 会話の会話 ID。
  • Session_id : アプリとユーザーのインタラクションのインスタンス。
  • User_id: アプリケーションのユーザーを表します。 シナリオに人間のエージェントまたはボットが含まれる場合、このフィールドには Active Directory ユーザー ID が入力されます。 他のすべてのシナリオでは、0 が表示されます。
  • Severitylevel: トレースのセキュリティレベル。 これは 0 に設定されています。
  • itemType: レコードの取得元のテーブル。 これは常にトレースに設定されています。

たとえば、ライブ チャットの会話がキューに割り当てられるシナリオでは、トレース テーブルには次のメタデータが表示されます。

  • ScenarioStarted メッセージ、で Operation_name、QueueAssignment、およびシナリオが開始されたタイムスタンプ。

  • ScenarioCompleted メッセージ。シナリオは成功し、会話がキューに割り当てられるため、アプリケーションがシナリオを正常に完了するまでにかかった時間が表示されます。

    ライブチャット会話がキューに割り当てられるときのメタデータ。

Application Insights から会話ログにアクセスする

会話のログを表示するには、次の手順を実行します。

  1. Azure portal にログインし、Application Insights インスタンスにアクセスします。 これがデータ エクスポートの設定に使用したインスタンスと同じであることを確認してください。

  2. モニタリングログ を選択します。

  3. Traces テーブルでクエリを実行し、会話の会話IDでフィルタリングします。 サンプル クエリは次のとおりです。

    *let lwiId = "269079bb-f39d-4281-bf87-d13bae6d0ed2";*
    
    *let operationIds = (traces*
    
    *\| where operation\_ParentId == lwiId // LWI to be checked*
    
    *\| distinct operation\_Id);*
    
    *traces*
    
    *\| where operation\_Id in (operationIds) or operation\_ParentId == lwiId*
    
    *\| project timestamp, message, customDimensions, operation\_Name, operation\_Id, operation\_ParentId, session\_Id, user\_Id, severityLevel, itemType*
    
    *\| sort by timestamp asc*
    

    ここで、lwid は、Dynamics 365 Customer Service アプリケーションから取得した会話 ID です。

  4. アプリケーションは会話のトレースを表示します。

会話ライフサイクル シナリオ: 成功

顧客は、ポータルでチャット会話を開始します。 アプリケーションは顧客を識別し、チャット リクエストをキューにルーティングします。 チャット通知が表示され、エージェントはエージェント ダッシュボードからリクエストを取得します。 エージェントは顧客とチャットし、顧客は会話を終了します。

特定の会話 ID に対してクエリを実行すると、次のようなトレース ログが表示されます。

特定の会話 ID に対してクエリを実行すると、表示されたようなトレース ログの例が表示されます。

会話データのエクスポート

エクスポート オプションを使用してログをエクスポートし、このデータを他のテーブルのデータ セットと組み合わせて、独自のカスタム監視ダッシュボードを作成できます。 詳細: Application Insights を使用してインサイトを取得する