リソース ログを使用した Azure Stream Analytics のトラブルシューティング
Azure 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 でアクティビティ ジョブを使用するためには、次の手順を実行します。
Azure portal にサインインし、 [概要] で [アクティビティ ログ] を選択します。
実行された操作の一覧を確認できます。 ジョブが失敗する原因となったすべての操作には、赤い情報バブルが表示されます。
操作を選択すると、その概要ビューが表示されます。 多くの場合、ここにある情報は制限されています。 操作の詳細を表示するには、[JSON] を選択します。
JSON の [プロパティ] セクションまで下へスクロールして、失敗した操作の原因となったエラーの詳細を表示します。 この例では、失敗は範囲外の緯度値からのランタイム エラーが原因でした。 Stream Analytics ジョブによって処理されるデータに矛盾があると、データ エラーが発生します。 さまざまな入力データと出力データのエラーとそれらの発生する理由を学習できます。
JSON のエラー メッセージに基づいて是正措置を取ることができます。 この例では、-90 度から 90 度の間の緯度値をクエリに追加する必要があることを確認します。
根本原因を特定するのにアクティビティ ログのエラー メッセージが役に立たない場合は、リソース ログを有効にして Azure Monitor ログを使用します。
Azure Monitor ログへの診断データの送信
リソース ログをオンにして Azure Monitor ログに送信することを、強くお勧めします。 既定では、[オフ] になっています。 オンにするには、次の手順を完了します。
Log Analytics ワークスペースを作成します (まだ作成していない場合)。 対象の Stream Analytics ジョブと同じリージョン内に Log Analytics ワークスペースを用意することをお勧めします。
Azure portal にサインインして、Stream Analytics ジョブに移動します。 [監視] の下の [診断ログ] を選択します。 次に、 [診断を有効にする] を選択します。
[診断設定の名前] に名前を指定し、 [ログ] の下にある [実行] および [作成] と、 [メトリック] の下にある [AllMetrics] の各ボックスをオンにします。 次に、 [Log Analytics への送信] を選択し、ワークスペースを選択します。 [保存] を選択します。
Stream Analytics ジョブが開始すると、リソース ログが Log Analytics ワークスペースにルーティングされます。 ジョブのリソース ログを表示するには、 [監視] セクションの [ログ] を選択します。
Stream Analytics には、関心のあるログを簡単に検索できる定義済みのクエリが用意されています。 左側のペインで定義済みのクエリを選択し、[実行] を選択できます。 下部のペインにクエリの結果が表示されます。
リソース ログのカテゴリ
Azure Stream Analytics では、次の 2 つのカテゴリのリソース ログをキャプチャします。
作成:ジョブ作成操作 (ジョブの作成、入出力の追加と削除、クエリの追加と更新、ジョブの開始と停止など) に関連するログ イベントを取得します。
実行:ジョブの実行中に発生したイベントを取得します。
- 接続エラー
- データ処理エラー。次のエラーが含まれます。
- クエリ定義に準拠していないイベント (フィールドの種類と値の不一致、フィールドの不足など)
- 式評価エラー
- その他のイベントとエラー
すべてのログは JSON 形式で格納されます。 リソース ログのスキーマについては、「リソース ログのスキーマ」を参照してください。