この記事では、Azure アプリケーション Insights で使用するためにCopilot Studio エージェントからテレメトリ データをキャプチャする方法について説明します。
Copilot Studio 内のネイティブ分析機能に加えて、テレメトリ データを Application Insights に送信できます。 テレメトリは、次の追跡によってエージェントに関する分析情報を提供します。
- エージェントとの間で送受信されたメッセージとイベントを記録します
- ユーザーの会話中にトリガーするトピック
- トピックから送信できるカスタム テレメトリ イベント
Important
Application Insights は、Azure Monitor の機能です。これは、ライブ アプリケーションの監視に使用できる拡張可能な Application Performance Management (APM) ツールです。 Microsoft Azureのサブスクリプションが必要です。
Copilot Studio エージェントを Application Insights に接続する
エージェントを Application Insights に接続するには、まず、エージェントの構成にインストルメンテーション キーを追加します。
エージェントの設定ページに移動し、詳細を選択します。
Application Insights セクションで、接続文字列を入力します。 接続文字列を検索する方法については、Azure Monitorドキュメントを参照してください。
必要に応じて、次のいずれかの設定を有効にすることができます。
ログ アクティビティ: 有効になっている場合、システムは受信メッセージと送信メッセージとイベントの詳細をログに記録します。
ログの機密性の高いアクティビティのプロパティ: 有効にすると、ログには、受信および送信メッセージとイベントで機密性が高いと見なされる可能性がある特定のプロパティの値が含まれます。 機密性の高い可能性があると見なされるプロパティは、
userid、name、text、およびspeakです (テキストと読み上げのプロパティはメッセージにのみ適用されます)。
Application Insights を使用してボット テレメトリを分析する
ボットを Application Insights に接続すると、ユーザーがボットと対話するときに、Copilot Studio内でのテスト中など、テレメトリ データがログに記録されます。 ログに記録されたテレメトリ データを表示するには、Azureの Application Insights リソースの Logs セクションに移動します。
ここでは Kusto クエリ を使用して、データのクエリと分析を行うことができます。 クエリの例 を参照してください。
クエリの例
クエリは、Copilot Studio からログに記録されたすべてのカスタム テレメトリ イベントを示す customEvents など、1 つのテーブルを指定するのと同じくらい簡単です。 ただし、 Kusto クエリを 使用して、次のような結果をさらに絞り込むこともできます。
- 時間間隔を追加する
- カスタム ディメンションを使用して結果を拡張する。 カスタム ディメンションは、タイムスタンプやイベント名などの事前構築済みフィールドと共にログに記録するカスタム プロパティです。
- 条件に基づいて返されるデータを制限する where 句の追加
- より多くの組み込み Kusto 関数を使用して、情報の表示内容や表示方法を決定します
次のクエリ例では、過去 14 日間に 1 日にボットと通信した個別のユーザーの数を示す折れ線グラフが表示されます。
let queryStartDate = ago(14d);
let queryEndDate = now();
let groupByInterval = 1d;
customEvents
| where timestamp > queryStartDate
| where timestamp < queryEndDate
| summarize uc=dcount(user_Id) by bin(timestamp, groupByInterval)
| render timechart
Important
一部のフィールド内のデータは、使用するチャネルに応じて異なり、多かれ少なかれ適用できます。 たとえば、ユーザーが認証され、ユーザー ID が会話全体で一貫している場合にのみ、クエリ内の一意のユーザーの正しい数を取得します。 各会話でランダムなユーザー ID が生成される匿名シナリオでは、ユーザー ID フィールドはあまり役に立ちません。
クエリ内のテスト会話からテレメトリを除外する
ボットは、テスト中に Copilot Studio 内で発生した会話を含め、すべての会話のテレメトリをログに記録します。 テスト中に収集されたテレメトリを除外する場合は、すべてのイベントがキャプチャする designMode カスタム ディメンションを使用してクエリを拡張し、クエリで where 句を使用します。
以下の例は、テスト キャンバスを通じてキャプチャされたものを除く、すべてのカスタム イベントを示しています。
customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"
カスタム分析コード
Copilot Studio から受信した特定のアクティビティ データの多くは、customDimensions フィールドに格納されます。 クエリで 使用されているカスタム ディメンション フィールドを確認 して、テスト会話からテレメトリを除外することができます。
| フィールド | Description | サンプルの値 |
|---|---|---|
| 型 | 活動の種類 |
message、conversationUpdate、event、invoke |
| チャネルID | チャネル識別子 |
emulator、directline、msteams、webchat |
| fromId | 識別子から | <id> |
| fromName | クライアントからのユーザー名 |
John Bonham、Keith Moon、Steve Smith、Steve Gadd |
| ロケール | クライアント元のロケール |
en-us、zh-cn、en-GB、de-de、zh-CN |
| recipientId (受取人ID) | 受信者識別子 | <id> |
| recipientName | 受信者名 |
John Bonham、Keith Moon、Steve Smith、Steve Gadd |
| SMS 送信 | メッセージのテキスト | find a coffee shop |
| designMode | テスト キャンバス内で発生した会話 | True / False |
監視結果の表示 (プレビュー)
Important
この記事には、Microsoft Copilot Studio のプレビュー ドキュメントが含まれており、変更される可能性があります。
プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能は公式リリースの前に利用できるため、早期にアクセスして フィードバックを提供できます。
運用対応エージェントを構築する場合は、 Microsoft Copilot Studio の概要を参照してください。
Copilot Studio ダッシュボード ビューでは、Azure Monitor Application Insights からのシグナルが使用されます。 Azure Workbooks を通じて Application Insights にクエリを実行し、視覚化を作成します。
これらのビューは、会話の合計、待機時間、例外、ツールの使用状況、トピック分析などの主要なメトリックを 1 つのビューに取り込みます。 単一のビューでは、運用の正常性と品質を追跡し、傾向を理解し、継続的に評価してアプリケーションを改善できるように、チームに透明性が提供されます。
Application Insights の組み込みの監視ビューにアクセスして使用するには、次の手順に従います。
- Application Insights リソースに移動します。
- 左側のナビゲーション ウィンドウから [ 監視 ] タブを選択します。
- [監視] タブで、[ワークブック] を選択します。 ワークブックのギャラリーからCopilot Studio Dashboardを開きます。
ダッシュボードをカスタマイズして共有する
Application Insights は、アプリケーションの正常性とパフォーマンスに関する分析情報を提供する、アプリケーション パフォーマンス監視 (APM) 用の強力なツールです。
ダッシュボードが編集可能なワークブックとして開き、必要に応じてワークブックをカスタマイズして保存できます。
コマンド バーで [編集] を選択します。
ユース ケースに必要に応じて要素を変更します。 要素の編集、追加、移動、サイズ変更、クローン、削除のための3つの点(...)を選択します。 たとえば、KQL を使用して、組み込みビューに表示されないカスタム属性を追跡するタイルを追加できます。
[ 保存] を 選択して最新の変更を保存し、必要に応じて別のビューを作成します。
コマンド バーの [共有 ] アイコンを選択して、チームと共有します。
Note
チーム メンバーとこのブックを共有する際には、接続された Application Insights リソースに対して少なくとも Reader ロールの権限がある必要があります。そうすることで表示される情報を閲覧できます。