演習 - テレメトリ データの収集と分析

完了

この演習シナリオであなたは、原価見積アプリケーションからのテレメトリ データの収集を依頼されています。 Application Insights を使用して、テレメトリ データを収集し分析することに決めました。

タスク

この演習では、以下のタスクを行います。

  • トレースを追加して、表示されたジョブを追跡する。

  • トレースを追加して、検証エラーからのジョブを追跡する。

目標

この演習では、以下を実行する方法について説明します。

  • Azure で Application Insights アプリを作成する。

  • キャンバス アプリを Application Insights に接続する。

  • アプリケーションにトレースを追加する。

  • トレース ログをクエリする。

前提条件

この演習を開始する前に、以下の要件を満たしていることを確認してください。

演習 1: ソリューションをインポートする

この演習では、ソリューションを環境にインポートします。 このソリューションには、使用可能なキャンバス アプリケーションが含まれています。 これを変更することで、特定のユーザー アクションにトレースを追加し、結果を分析します。

タスク: ソリューションをインポートする

このタスクでは、ソリューションを環境にインポートします。

  1. この演習を完了するには、ZIP ファイル をダウンロードする必要があります。 リンクが表示されたら、[ダウンロード] を選択します。

  2. Power Apps Maker Portal に移動して、このラボで使用する環境を選択します。

  3. ソリューション > インポートを選択します。

    ソリューション領域の [インポート] ボタンのスクリーンショット。

  4. 参照を選択します。

  5. ContosoCostEstimator_1_0_0_1.zip ソリューションを選択して、開くを選択します。

  6. 次へを選択します。

  7. インポートを選択して、ソリューションのインポートが完了するのを待ちます。

演習 2: アプリのセットアップ

この演習では、Application Insights 用のアプリをセットアップします。 ラボ ユーザーに関連付けられた有効な Azure サブスクリプションがある場合、このセクションの手順を実行してください。 有効な Azure サブスクリプションがない場合、これらの手順を実行する際に、サブスクリプションの追加を求められます。 このラボを完了するには、提供されている無料の Azure サブスクリプションで十分です。

タスク: Application Insights アプリを作成する

このタスクでは、Microsoft Azure で Application Insights アプリを作成するため、有効な Azure サブスクリプションが必要になります。 Azure サブスクリプションがない場合、こちら でサイン アップできます。

  1. Microsoft Azure ポータル に移動し、リソースの作成を選択します。

    「リソースの作成」ボタンのスクリーンショット。

  2. Application Insights を検索して選択します。

  3. 作成を選択します。

  4. お使いのサブスクリプションを選択して、リソース グループ ドロップダウン リストで新規作成を選択します。

  5. 名前fl_insights と入力して、OK を選択します。 fl は、ご自分のイニシャルで置き換えてください。

    「リソース グループの作成」ウィンドウのスクリーンショット。

  6. 名前Insights_Lab と入力し、地域を選択して、レビューと作成を選択します。

  7. 作成を選択し、リソースが作成されるまで待ちます。

  8. リソースに移動を選択します。

  9. インストルメンテーション キーをコピーします。

    インストルメンテーション キーのスクリーンショット。

  10. Power Apps メーカー ポータル に移動して、このラボで使用している環境を選択します。

  11. ソリューションを選択し、インポートした Contoso 原価見積ソリューションを選択して開きます。

  12. 原価見積アプリケーションを選択して開きます。 アプリケーションがアプリ スタジオで開きます。

  13. アプリを選択し、プロパティ ペインに移動して、インストルメンテーション キー フィールドからコピーしたインストルメンテーション キーを貼り付けます。

    プロパティに貼り付けられたインストルメンテーション キーのスクリーンショット。

  14. ファイル > 保存を選択します。

  15. 公開を選択します。

  16. このバージョンを公開するを選択して、公開が完了するまで待ちます。

  17. 戻るボタンを選択します。

  18. 再生を選択します。

  19. データがアプリに読み込まれたことを確認します。

    原価見積アプリのスクリーンショット。

  20. プレビューを閉じます。

  21. このページから移動しないでください。

演習3: トレースの編集と追加

この演習では、Power Apps で使用可能なアプリの一部となっている式を変更して、アプリケーションにトレースを追加します。

タスク: トレースを追加する

このタスクでは、アプリケーションにトレースを追加します。

  1. OpenJobsPage を展開します。

  2. JobsListGallery を展開して、icon2 を選択します。

    アイコン コントロールのスクリーンショット。

  3. icon2OnSelect 値に、次の式を加えます。 このトレースでは、表示されているジョブを追跡します。

    ;Trace("Job Viewed",TraceSeverity.Information,{JobId:ThisItem.JobId, JobName:ThisItem.JobName})

    編集中の式のスクリーンショット。

  4. ツリー ビューNewJob ページを選択します。

  5. ジョブの保存ボタンを選択します。

    「ジョブの保存」ボタンのスクリーンショット。

  6. 数式バーに移動して、OnSelect を選択し、数式バーを展開します。

    「数式バーの展開」ボタンのスクリーンショット。

  7. テキストのフォーマットを選択します。

    「テキストのフォーマット」ボタンのスクリーンショット。

  8. 下にスクロールして、UpdateContext を見つけます。 関数が 2 つ表示されます。

    2 つの UpdateContext を示すスクリーンショット。

  9. 1 番目の UpdateContext の後に、次の式を追加します。

    ;
    Trace(
            "Validation Failed",
            TraceSeverity.Warning,
            {
                JobName: IsBlank(TextInputClientName.Text),
                ContactName: IsBlank(TextInput1_15.Text),
                Phone: IsBlank(TextInputPhone.Text),
                Email: IsBlank(TextInputEmail.Text),
                AppointmentDate: IsBlank(TextInputDate.Text),
                AppointmentTime: IsBlank(TextInputTime.Text)
            }
        )
    

    式編集エリアのスクリーンショット。

  10. 2 番目の UpdateContext に移動して、同じ式を追加します。

    2 番目の式の編集領域のスクリーンショット。

  11. ファイル > 保存を選択します。

  12. 公開を選択します。

  13. このバージョンを公開するを選択して、公開が完了するまで待ちます。

  14. アプリ スタジオのブラウザー画面またはタブを閉じます。

演習 4: 公開したアプリの実行

この演習では、公開したアプリケーションを実行し、追加したトレースをトリガーします。 また、次の手順で分析するデータも作成します。

タスク: アプリケーションを実行する

このタスクでは、公開したアプリケーションを実行します。

  1. Power Apps メーカー ポータル に移動して、正しい環境にいることを確認します。

  2. アプリを選択し、原価見積 アプリケーションを選択して起動します。

  3. ジョブを選択して開きます。

    ギャラリーの行のスクリーンショット。

  4. 戻るボタンを選択します。

  5. 別のジョブを開いて、戻るボタンを再度選択します。

  6. さらにいくつかのジョブを開きます。

  7. ジョブを追加するには、プラス アイコン (+) を選択します。

  8. データを指定せずにジョブの保存を選択すると、予測されたデータ入力パスに従わなかったユーザーを分析するためのデータが提供されます。

    原価見積フォームのスクリーンショット。

  9. クライアント名を入力して、ジョブの保存を選択します。

  10. メール アドレスを入力して、ジョブの保存を選択します。

  11. 住所を入力して、ジョブの保存を選択します。

  12. 市町村を入力して、ジョブの保存を選択します。

  13. 郵便番号電話番号を入力して、ジョブの保存を選択します。

    完成した原価見積フォームのスクリーンショット。

    ジョブは必ず保存してください。

  14. 別のジョブを作成しますが、今回は連絡先名を入力し、入力が必要ないくつかのフィールドを空白のままにします。

演習 5: Application Insights の表示

この演習では、Application Insights を表示します。

タスク: Application Insights を表示する

このタスクでは、Application Insights を表示します。

  1. Microsoft Azure ポータル に移動して、正しい環境にいることを確認します。

  2. 作成した Insights_Lab リソースを選択して開きます。

    Insights_Lab リソースのスクリーンショット。

  3. 使用状況セクションまで下にスクロールして、ユーザーを選択します。

    「使用状況」セクションの「ユーザー」オプションのスクリーンショット。

  4. 少なくとも 1 人のユーザーが表示されます。 ユーザーが表示されない場合、再度アプリを編集し、正しいインストルメンテーション キーが入力されていることを確認して、再度アプリを公開します。

    ユーザー カウントの 1 人のユーザーを示すスクリーンショット。

  5. グラフから下にスクロールして、グラフの左下の追加のインサイトの表示を選択します。

    「追加のインサイトの表示」ボタンのスクリーンショット。

  6. 少なくとも 5 つのイベントが表示されます。 5 つのイベントが表示されない場合、演習 4 を再度実行します。 次に進むまで 5 分間待ちます。

  7. 下にスクロールして、ユーザー タイムラインの表示を選択します。

    「ユーザー タイムラインの表示」ボタンのスクリーンショット。

  8. 場所とイベントの使用に関する情報が表示されます。 選択してセッションを展開します。

    「セッションの展開」ボタンのスクリーンショット。

  9. 一覧表示されたイベントを確認します。

    セッション イベントのスクリーンショット。

  10. 監視セクションに移動し、ログを選択します。

    「ログ」ボタンのスクリーンショット。

  11. クエリ ポップアップ ウィンドウを閉じます。

  12. このページから移動しないでください。

演習 6: ログをクエリする

この演習では、ログをクエリします。

タスク: ログをクエリする

このタスクでは、ログをクエリします。

  1. pageViews と入力して、実行を選択します。

    「クエリの実行」ボタンのスクリーンショット。

  2. 結果タブに移動します。

  3. トレースが表示されます。 上下左右にスクロールして、トレースされた内容を確認します。

  4. 結果の 1 つを展開し、customDimensions を展開します。

    「customDimensions」の隣の「展開」ボタンのスクリーンショット。

  5. クエリをトレースに変更して、実行を再度選択します。

    クエリを再度実行する「クエリの実行」ボタンのスクリーンショット。

  6. 結果の 1 つを展開し、customDimensions を展開します。

  7. 検証ログをフィルター処理します。 クエリを次のクエリ ロジックで置き換えて、実行を選択します。

    traces
    | where message =="Validation Failed"
    

    「実行」ボタンが強調表示されたクエリのトレースのスクリーンショット。

  8. 結果の 1 つを展開し、customDimensions を展開します。

    クエリ結果のスクリーンショット。

  9. 連絡先名を持たないジョブをクエリします。 次のクエリを貼り付けて、実行を選択します。

    [実行] ボタンが表示されたトレースのクエリのスクリーンショット。

    連絡先名を持たないジョブが表示されます。