ケーススタディ7
ポリシーサービス
Policyserviceという名前のステートフルなASP.NETCore2.1Webアプリケーションを開発してAzureAppServiceWebアプリにデプロイします。アプリケーションはAzureEventGridからのイベントに反応し、それらのイベントに基づいてポリシーアクションを実行します。
アプリケーションには、すべてのApplicationInsightsテレメトリに[イベントグリッドイベントID]フィールドが含まれている必要があります。
ポリシーサービスは、Application Insightsを使用して、実行しているポリシーアクションの数に合わせて自動的にスケーリングする必要があります。
他の
異常検出サービス
ログの異常を分析する異常検出サービスがあります。これは、AzureMachineLearningモデルとして実装されています。モデルはWebサービスとしてデプロイされます。
異常が検出された場合、HTTP WebHookを使用して、管理者に電子メールを送信するAzure関数が呼び出されます。
健康状態の監視
すべてのWebアプリケーションとサービスには、/healthサービスエンドポイントでヘルスモニタリングがあります。
問題
ポリシーの喪失
ポリシーサービスを展開するときに、展開中にポリシーが適用されている場合、ポリシーが適用されない場合があります。
パフォーマンスの問題
負荷が高い場合、異常検出サービスの速度が低下し、接続が拒否されます。
通知の待ち時間
ユーザーは、異常が検出されてから数分後に異常検出メールが届くことがあると報告しています。
ポリシー
ログポリシー
すべてのAzureAppService Web Appsは、AzureBlobストレージにログを書き込む必要があります。すべてのログファイルは、logdropという名前のコンテナに保存する必要があります。ログは15日間コンテナに残しておく必要があります。
認証イベント
認証イベントは、サインインおよびサインアウトするユーザーを監視するために使用されます。すべての認証イベントは、ポリシーサービスによって処理される必要があります。サインアウトはできるだけ早く処理する必要があります。
PolicyLib
すべてのASP.NETCoreWebサービスおよびアプリケーションに共通の機能を含むPolicyLibという名前の共有ライブラリがあります。PolicyLibライブラリは次のことを行う必要があります。
*ApplicationInsightsテレメトリから非ユーザーアクションを除外します。
*Webサービスがそれ自体を拡張できるようにするメソッドを提供します。
*スケーリングアクションがアプリケーションの使用を妨げないことを確認してください。
アプリファイルの関連部分を以下に示します。行番号は参照用にのみ含まれており、それらが属する特定のファイルを示す2文字のプレフィックスが含まれています。

アプリファイルの関連部分を以下に示します。行番号は参照用にのみ含まれており、それらが属する特定のファイルを示す2文字のプレフィックスが含まれています。

ドラッグアンドドロップの質問
ユーザー以外のアクションにはテレメトリを実装する必要があります。
Filterクラスをどのように完了する必要がありますか?答えるには、適切なコードセグメントを正しい場所にドラッグします。各コードセグメントは、1回使用することも、複数回使用することも、まったく使用しないこともできます。コンテンツを表示するには、ペイン間で分割バーをドラッグするか、スクロールする必要がある場合があります。
注:正しい選択はそれぞれ1ポイントの価値があります。

正解:

Explanation:
シナリオ:ApplicationInsightsテレメトリから非ユーザーアクションを除外します。
ボックス1:ITelemetryProcessor
フィルタを作成するには、ITelemetryProcessorを実装します。この手法により、テレメトリストリームに含まれるものまたは含まれないものをより直接的に制御できます。
ボックス2:ITelemetryProcessor
ボックス3:ITelemetryProcessor
ボックス4:RequestTelemetry
ボックス5:/ health
アイテムを除外するには、チェーンを終了するだけです。
参照:
https://docs.microsoft.com/en-us/azure/azure-monitor/app/api-filtering-sampling