次の方法で共有


Azure portal の論理ジョブ ダイアグラム (プレビュー) を使用したデバッグ

Azure portal のジョブ ダイアグラム (物理ダイアグラムと論理ダイアグラム) は、入力元、出力先、メトリックを使用してジョブのクエリ ステップを視覚化するのに役立ちます。 問題をトラブルシューティングするときに、ジョブ ダイアグラムを使用して各ステップのメトリックを調べることで、問題の原因を迅速に特定できます。

この記事では、論理ジョブ ダイアグラムを使用して、Azure portal でジョブを分析およびトラブルシューティングする方法について説明します。

論理ジョブ ダイアグラムは、VS Code 用 Stream Analytics 拡張機能でも使用できます。 デバイスでローカルに実行されるジョブをデバッグするときに、より多くのメトリックがある同様の機能が提供されます。 詳細については、「Visual Studio のジョブ ダイアグラムを使用して Azure Stream Analytics のクエリをローカルでデバッグする」を参照してください。

論理ジョブ ダイアグラムを使用する

Azure portal で、Stream Analytics ジョブを探して選択します。 次に、[開発者ツール][ジョブ ダイアグラム (プレビュー)] を選択します。

メトリックが場所のジョブ ダイアグラムのスクリーンショット。

透かしの遅延、入力イベント、出力イベント、バックログされた入力イベントなどの、ジョブ レベルの既定の直近の 30 分間のメトリックが、グラフ セクションに表示されます。 左側のウィンドウでメトリックを選択すると、グラフ内の他のメトリックを視覚化できます。

論理ジョブ ダイアグラムの概要が表示されたスクリーンショット。

ダイアグラム セクションでノードのいずれかを選択した場合、グラフ セクションのメトリック データとメトリック オプションは、選択したノードのプロパティに従ってフィルター処理されます。 たとえば、入力ノードを選択すると、入力ノード関連のメトリックとそのオプションのみが表示されます。

論理ジョブ ダイアグラムのノード選択を示すスクリーンショット。

対応するクエリ ステップをマッピングしているクエリ スクリプト スニペットを表示するには、以下のようにクエリ ステップ ノードで {}' アイコンを選びます。

論理ジョブ ダイアグラムのクエリ ステップのスクリプトへのマッピングを示すスクリーンショット。

ジョブの概要情報を表示するには、右側にある [ジョブの概要] ボタンを選びます。

論理ジョブ ダイアグラムのジョブの概要が表示されたスクリーンショット。

これは、メニュー セクションにジョブ操作アクションも表示します。 これらを使用して、ジョブの停止 ([停止] ボタン)、メトリック データの更新 ([更新] ボタン)、メトリックの時間範囲の変更 ([時間範囲]) を実行できます。

論理ジョブ ダイアグラムの制御メニューを示すスクリーンショット。

メトリックを使用したトラブルシューティング

ジョブのメトリックは、ジョブの正常性に関する多くの分析情報を提供します。 これらのメトリックは、ジョブ レベルまたはステップ レベルのグラフ セクションのジョブ ダイアグラムを使用して表示できます。 Stream Analytics のジョブ メトリックの定義については、「Azure Stream Analytics のジョブ メトリック」を参照してください。 ジョブ ダイアグラムは、これらのメトリックをクエリ ステップ (ダイアグラム) に統合します。 ジョブの監視と分析のステップで、これらのメトリックを使用できます。

ジョブが計算リソースで適切に実行されているか。

  • [SU (Memory) % utilization] (SU (メモリ) 使用率) は、ジョブで使用されるメモリの割合です。 [SU (Memory) % utilization] (SU (メモリ) 使用率) が一貫して 80% を超えている場合は、ジョブが割り当てられた最大メモリに近づいていることを示しています。
  • [CPU % utilization] (CPU 使用率) は、ジョブによって使用される CPU の割合です。 このメトリックに対して断続的にスパイクが発生する可能性があります。 したがって、多くの場合、その平均割合データを確認します。 高い CPU 使用率は、バックログされた入力イベントまたは透かしの遅延の数が同時に増加すると、CPU ボトルネックが発生する可能性があることを示しています。

読み取られているデータの量はどのくらいか。

入力データ関連のメトリックは、グラフ セクションの [入力] カテゴリで表示できます。 これらは、入力のステップで使用できます。

  • [Input events] (入力イベント) は、読み取られたデータ イベントの数です。
  • [Input events bytes] (入力イベントのバイト数) は、読み取られたイベント バイト数です。 イベントが入力ソースに送信されることを検証するために使用できます。
  • [Input source received] (受信した入力ソース) は、ジョブによって読み取られたメッセージの数です。

データ処理にエラーがあるか。

  • [Deserialization errors] (逆シリアル化エラー) は、逆シリアル化できなかった入力イベントの数です。
  • [Data conversion errors] (データ変換エラー) は、想定の出力スキーマに変換できなかった出力イベントの数です。
  • [ランタイム エラー] は、クエリ処理に関連するエラーの総数 (イベントの取り込み時、または結果の出力時に見つかったエラーを除く) です。

破棄または調整を実行中のイベントに順不同のものがあるか。

  • [順不同のイベント] は、イベント順序ポリシーに基づいて、削除されたか、調整されたタイムスタンプが付与された、順不同で受信したイベントの数です。 これは、Azure portal の [イベント順序] セクションの [順不同のイベント] 設定の構成によって影響を受ける可能性があります。

ジョブは入力データ ストリームの処理が遅れているか。

  • [バックログされた入力イベント] は、入力からのメッセージを処理する必要があるメッセージの数を示します。 この数値が 0 より大きいときは、データの取得後すぐにはジョブがデータを処理できないことを意味します。 この場合、必要に応じて、ストリーミング ユニット数を増やしたり、ジョブを並列処理できるようにしたりします。 詳細については、クエリの並列処理に関するページを参照してください。

ヘルプを取得

詳細については、Azure Stream Analytics に関する Microsoft Q&A 質問ページを参照してください。

次のステップ