過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure ソリューションのセキュリティ保護・監視・トラブルシューティング 問5

Azure ソリューションのセキュリティ保護・監視・トラブルシューティング/Azure ソリューションの監視とトラブルシューティング(OpenTelemetry・KQL)

Application Insights のログで、直近24時間に失敗した要求の件数を5分ごとに集計し、傾向を確認したいと考えています。KQL として適切なものはどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure ソリューションのセキュリティ保護・監視・トラブルシューティング」に対応。実際の試験問題ではありません)

正解:B

解説

KQL では、where で行を絞り込み、summarize で集計します。bin(timestamp, 5m) は時刻を5分ごとの区切りにまとめる関数で、summarize count() by bin(timestamp, 5m) と組み合わせると5分ごとの件数が得られます。期間の絞り込みは ago(24h) で書けます。なお、ワークスペース ベースのテーブル(AppRequests)では、列名が TimeGenerated や Success になります。

選択肢ごとの解説

  • A誤り。project は出力する列を選ぶ演算子で、集計はできません。また、失敗した要求に絞り込む条件もありません。
  • B正しい。期間と失敗の条件で絞り込み、summarize と bin で5分ごとの件数を集計しています。
  • C誤り。top 5 は上位5行を返すだけで、5分ごとの件数の集計にはなりません。期間の条件もありません。
  • D誤り。summarize のあとには集計に使った列(この例では success と件数)しか残らないため、その後の where で timestamp を参照できません。期間の絞り込みは summarize の前に書く必要があります。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く