リソース ログを使用した Azure Stream Analytics のトラブルシューティング

Azure Stream Analytics ジョブは予期せず処理を停止することがあります。 障害は、予期しないクエリ結果、デバイスへの接続、または予期しないサービス停止によって引き起こされる可能性があります。 Azure Stream Analyticsのリソース ログは、これらのエラーの原因を特定し、復旧時間を短縮するのに役立ちます。

デバッグと監視に役立つすべての Stream Analytics ジョブのリソース ログを有効にします。

Stream Analytics ログの種類

Stream Analytics には 2 種類のログがあります。

  • アクティビティ ログ (常に有効) では、ジョブで実行される操作の分析情報が得られます。

  • リソース ログ (構成可能) では、ジョブで発生するあらゆるイベントに関してより豊富な分析情報が得られます。 リソース ログはジョブの作成時に開始され、ジョブが削除されると終了します。 これらは、ジョブが更新されたときと実行中のイベントを対象としています。

注意

Azure Storage、Azure Event Hubs、Azure Monitor ログなどのサービスを使用して、問題となったデータを分析できます。 これらのサービスの価格モデルに基づいて課金されます。

注意

この記事は最近、Log Analytics ではなく Azure Monitor ログという用語を使うように更新されました。 ログ データは引き続き Log Analytics ワークスペースに格納され、同じ Log Analytics サービスによって収集されて分析されます。 Azure Monitor のログの役割をより適切に反映させるために、用語を更新しています。 詳しくは、Azure Monitor の用語の変更に関するページをご覧ください。

アクティビティ ログを使用して Stream Analytics ジョブをデバッグする

アクティビティ ログは既定で有効になっていて、Stream Analytics ジョブで実行される操作の高度な分析情報が得られます。 アクティビティ ログに存在する情報は、ジョブに影響を与える問題の根本原因を見つけるのに役立つ場合があります。 Stream Analytics でアクティビティ ログを使用するには、次の手順に従います。

  1. Azure portal にサインインし、 [概要][アクティビティ ログ] を選択します。

    Azure ポータルの Stream Analytics ジョブの [アクティビティ ログ] ページのスクリーンショット。

  2. 実行された操作の一覧を確認できます。 ジョブが失敗する原因となったすべての操作には、赤い情報バブルが表示されます。

  3. 操作を選択すると、その概要ビューが表示されます。 ここでの情報は、多くの場合、制限されています。 操作の詳細を表示するには、[JSON] を選択します。

    Stream Analytics ジョブのアクティビティ ログの操作の概要ビューのスクリーンショット。

  4. JSON の [プロパティ] セクションまで下へスクロールして、失敗した操作の原因となったエラーの詳細を表示します。 この例では、バインド外の緯度値からのランタイム エラーが原因でエラーが発生しました。 Stream Analytics ジョブが処理するデータの不一致により、データ エラーが発生します。 さまざまな入力データと出力データのエラーとそれらの発生する理由を学習できます。

    失敗した操作のエラーの詳細を示す [JSON プロパティ] セクションのスクリーンショット。

  5. JSON のエラー メッセージに基づいて修正アクションを実行します。 この例では、緯度の値が -90 度から 90 度の間であることを確認するチェックを追加します。

  6. アクティビティ ログのエラー メッセージが根本原因の特定に役立たない場合は、リソース ログを有効にして、Azure Monitorログを使用します。

Stream Analytics 診断をAzure Monitorログに送信する

リソース ログを有効にして、Azure Monitorログに送信します。 リソース ログは既定で オフ になっています。

  1. Log Analytics ワークスペースを作成します (まだ作成していない場合)。 Log Analytics ワークスペースを Stream Analytics ジョブと同じリージョンに配置します。

  2. Azure portal にサインインして、Stream Analytics ジョブに移動します。 [監視] の下の [診断ログ] を選択します。 次に、 [診断を有効にする] を選択します。

    リソース ログへのナビゲーションを示すスクリーンショット。

  3. [診断設定の名前]名前を指定し、 [ログ] の下にある [実行] および [作成] と、 [メトリック] の下にある [AllMetrics] の各ボックスをオンにします。 次に、 [Log Analytics への送信] を選択し、ワークスペースを選択します。 [保存] を選択します。

    Stream Analytics ジョブでリソース ログを構成するための診断設定ページのスクリーンショット。

  4. Stream Analytics ジョブが開始すると、リソース ログが Log Analytics ワークスペースにルーティングされます。 ジョブのリソース ログを表示するには、 [監視] セクションの [ログ] を選択します。

    [ログ] が選択された [全般] メニューを示すスクリーンショット。

  5. Stream Analytics には、関心のあるログを簡単に検索できる定義済みのクエリが用意されています。 左側のペインで定義済みのクエリを選択し、[実行] を選択できます。 下部のペインにクエリの結果が表示されます。

    Stream Analytics ジョブの [ログ] ページを示すスクリーンショット。

Stream Analytics リソース ログのカテゴリ

Azure Stream Analytics では、次の 2 つのカテゴリのリソース ログをキャプチャします。

  • 作成:ジョブ作成操作 (ジョブの作成、入出力の追加と削除、クエリの追加と更新、ジョブの開始と停止など) に関連するログ イベントを取得します。

  • 実行:ジョブの実行中に発生したイベントを取得します。

    • 接続エラー
    • データ処理エラー。次のエラーが含まれます。
      • クエリ定義に準拠していないイベント (フィールドの種類と値の不一致、フィールドの不足など)
      • 式評価エラー
    • その他のイベントとエラー

すべてのログは JSON 形式で格納されます。 リソース ログのスキーマについては、「リソース ログのスキーマ」を参照してください。

次のステップ