この記事では、Azure アプリケーション Insightsで使用するための標準ハーネスで動作するCopilot Studioエージェントからエージェントレベルのテレメトリデータを取得する方法について説明します。
Copilot Studio エージェントを Application Insights に接続する
エージェントを Application Insights に接続するには、まず、エージェントの構成にインストルメンテーション キーを追加します。
エージェントの設定ページに移動し、詳細を選択します。
Application Insights セクションで、接続文字列を入力します。 接続文字列を検索する方法については、Azure Monitorドキュメントを参照してください。
必要に応じて、次のいずれかの設定を有効にすることができます。
ログ記録を有効にする: オンにした場合、システムは受信メッセージと送信メッセージとイベントの詳細をログに記録します。
ログ会話の詳細: ユーザー ID、ユーザー名、メッセージ テキスト (メッセージ アクティビティの場合) が含まれます。 OpenTelemetry トレースが有効になっている場合、この設定では、スパンでキャプチャされたツール入力引数とツール出力結果も制御されます。
ログの機密性の高いアクティビティのプロパティ: オンにした場合、ログには、受信および送信メッセージとイベントで機密性が高いと見なされる可能性がある特定のプロパティの値が含まれます。
ノード実行イベント: トピック内のノードが実行されるたびにイベントをログに記録します。
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 フィールドに格納されます。 クエリで 使用されているカスタム ディメンション フィールドを確認 して、テスト会話からテレメトリを除外することができます。
| フィールド | 説明 | サンプルの値 |
|---|---|---|
| 型 | 活動の種類 |
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 ロールの権限がある必要があります。そうすることで表示される情報を閲覧できます。
エージェントレベルのApplication Insightsテレメトリを無効にする
作成者がエージェント レベルの Application Insights テレメトリを有効にしないようにするには、Power Platform 管理センターでデータ ポリシーを使用して、Copilot Studio の Application Insights コネクタをブロックしてください。
開始する前に、以下の項目があることを確認します:
- Microsoft Entra IDのテナントレベルでのPower Platform管理者またはDynamics 365管理者の役割。
- Copilot Studioエージェントが展開されているターゲット環境へのアクセス。
エージェントレベルのアプリケーションインサイトテレメトリを無効にするには、以下の手順に従ってください:
- Power Platform管理センターで、左側のペインで「セキュリティ」を選択し、「データとプライバシー」を選択し、その後「データポリシー」を選択してください。
- 新しいデータポリシーを作成したり、既存のポリシーを編集したりしてください。
- ポリシーが適用される環境を選択し、「 ポリシーに追加」を選択します。
- コネクター(新規ポリシー)またはプリビルドコネクター(既存ポリシー)ステップで、Copilot Studioのアプリケーションインサイトを検索して選択します。
- Copilot StudioのApplication Insightsをブロックされたコネクタグループに移動するには「ブロック」を選択してください。
- 残りのポリシー設定ステップを完了し、ポリシーを公開します。
Note
コネクターはMicrosoftの組み込みコネクタリストの「Application Insights」としてCopilot Studioで表示されることがあります。
データポリシーが適用されると、Copilot Studioのアプリケーションインサイトコネクタは対象環境でブロックされます。 ユーザーやメーカーは、このポリシーで管理されている環境ではこのコネクタを使用できません。