Application Insights を使用してモデル駆動型アプリと Microsoft Dataverse テレメトリを分析する

Application Insights 環境を設定して、Dataverse プラットホームで取得された診断とパフォーマンスに関するテレメトリを受信することができます。

アプリケーションが Dataverse データベースおよびモデル駆動型アプリ内で実行する操作に関するテレメトリを受信するようにサブスクライブできます。 このテレメトリは、エラーとパフォーマンスに関連する問題の診断とトラブルシューティングに使用できる情報を提供します。

このテレメトリを有効するためにコードを記述する必要はありません。 テレメトリ フィードはいつでも有効または無効にできます。

Application Insights Azure Monitorエコシステムの一部です。 監視と診断のために企業によって広く使用されています。 多くの顧客は、コードを拡張機能に追加して、このデータを Application Insights 環境に取り込んでいます。 ただし、この追加コードにはコストがかかります記述と保守のコストだけでなく、実行時のパフォーマンス コストもかかります。 これらのコストはApplication Insights 組み込み統合を使用することで回避できます。

Note

Application Insights の有効化は、テナントで使用できる有料/プレミアムの Dataverse ライセンスを保持する顧客に限定されます。

なぜテレメトリが必要なのですか?

テレメトリは、モデル駆動型アプリ内やサーバー上で何が起こっているかに関するデータを提供します。 このデータがなければ、アプリまたはサービスは「ブラックボックス」になります; 問題がある場合に分析情報を得る唯一の方法は、テクニカル サポートに問い合わせることです。 テレメトリを使用すると、特定の操作を検出および測定して、物事が正常に機能しているか、何かがシステムに悪影響を及ぼしているかをよりよく理解できます。

クライアント側の JavaScript を使用してモデル駆動型アプリを拡張したり、プラグインを使用してサーバー側のロジックを追加したりした場合、これらの拡張機能がパフォーマンスに与える影響を確認し、必要に応じて設計の変更など、最適化する方法を見つけることができます。

また、テレメトリを使用して、全体的なパフォーマンスの傾向を監視することもできるため、ユーザーのインシデントに対応するのではなく、それらをプロアクティブに管理できます。 Application Insights を使用して、メトリックが特定のしきい値を超えたときに警告が表示される条件を定義できます。

どのように機能しますか?

Microsoft すでに、 Dataverse およびモデル駆動型アプリに関する広範なテレメトリを収集しています。 Application Insights 統合では、環境またはテナント管理者が、Power Platform 管理センターでデータ エクスポート プロセスを設定する際に、Application Insights インストルメンテーション キーを提供します。 セットアップが完了するとすぐに、 Microsoft 環境 とそれを使用するモデル駆動型アプリについて収集されたテレメトリが Application Insights 環境 に送信されます。 Application Insights 詳細: Application Insights リソースを作成する

オプトアウトする場合は、Power Platform 管理センターに移動して、データ エクスポート接続を削除できます。 これにより、データ エクスポート プロセスが停止します。 プロセスはいつでも再開できます。

統合アプローチの利点

Application Insights 統合を使用すると、Application Insights テレメトリ データ モデル に従った、標準化されたテレメトリのセットを受け取ります。

テレメトリは相互に関連付けられているため、モデル駆動型アプリでのマウスクリックで始まり、サーバーに到達して戻ってくる操作を追跡できます。 途中で、アプリケーションのどの部分が使用されているか、各ステップにかかる時間を確認できます。

テクニカル サポートに問い合わせる必要がある場合は、操作の ID 値 (operation_idフィールド) を使用できます。 これらは、エンジニアがテレメトリ データを照会するときに使用する値と同じです。 Microsoft

パートナーと仕事をしている場合や、システム インテグレーターである場合、テレメトリーが標準化されていれば、さまざまな環境でカスタム テレメトリに対して行われた異なる設計の選択について学習する必要はありません。

監視は、キャンバス アプリとモデル駆動型アプリのライブ詳細デバッグ に使用できることに注意してください。

カスタム テレメトリ

標準のテレメトリが、必要な特定のメトリックを提供しない場合は、すでに収集されているものを補足するコードを記述できます。

この機能を有効にすると、プラグイン コードで .Xrm.Sdk.PluginTelemetry.ILoggerインターフェイス を使用して、テレメトリ データをリソースに直接書き込むことができます。 Application Insights Microsoft Application Insights このテレメトリは Microsoftに送信されることはありません。 詳細: ILogger を使用して、テレメトリを Application Insights リソースに書き込む

モデル駆動型アプリのクライアント側 JavaScript の場合、現在使用しているのと同じパターンを使用して、Application Insights リソースに書き込むことができます。

何が含まれていて、何が含まれていませんか?

複数のテレメトリの種類が、Application Insights 環境で使用できます。 Application Insights には、定義済みの スキーマ があることに注意してください。 Application Insights のテーブルは、データのエクスポート中に、このスキーマに従って入力されます。

モデル駆動型アプリの場合、テレメトリは、フォームの編集、グリッド、ダッシュボードの読み込みイベントなどの一般的なアプリケーション機能をカバーします。 これらは、通常、パフォーマンスが問題となるイベントです。 現在、保存イベントとリボン コマンドは含まれていません。 この機能は現在、モデル駆動型アプリでのみ利用できます。 モデル駆動型アプリのテレメトリ イベント を参照してください。

キャンバス アプリの場合、既存の機能 により、アプリ開発者は、アプリの開発時に Application Insights で カスタム テレメトリを記録 できるようになります。

Dataverse には、サーバーで行われたすべてのリクエストが含まれます。 Web サーバー内でリクエストがどのように処理されるかを確認できます。 操作の処理に費やされた時間を除いて、データベース自体から詳細情報を取得することはありません。 また、メモリ消費など、サーバーの物理リソースに関連するテレメトリもありません。 詳細: Dataverse のテレメトリ イベント