Azure Logic Apps でのワークフローの診断データの監視と収集
適用対象: Azure Logic Apps (従量課金プラン + Standard)
Azure Logic Apps でワークフローをデバッグおよび診断するための豊富なデータを取得するために、トリガー イベント、実行イベント、アクション イベントなどのワークフロー ランタイム データとイベントをログに記録できます。これらのイベントは、Azure Monitor ログを設定して使用するときに、Log Analytics ワークスペース、Azure ストレージ アカウント、Azure イベント ハブ、別のパートナーの宛先、またはこれらすべての宛先に送信できます。
Note
Azure Monitor リソース ログは 100% 無損失ではありません。 リソース ログは、1 日あたりペタバイト単位のデータを手頃な価格で大規模に移動するように設計されたストアおよびフォワード アーキテクチャに基づいています。 この機能には、プラットフォーム全体での冗長性と再試行が組み込まれていますが、トランザクションは保証されません。 トランザクション監視により、監視対象サービスの信頼性とパフォーマンスが低下する場合があります。 また、ログ配信を確認できない場合は、一時的なログ エラーによってアップストリーム サービスを停止する必要があります。 Azure Monitor チームは、データ損失の永続的なソースを確認できた場合は常に、解決と防止を最優先事項と見なします。 ただし、Azure 全体に分散された一時的で繰り返されないサービスの問題により、小規模なデータ損失が引き続き発生する場合があり、すべてを認識できるわけではありません。
この攻略ガイドでは、従量課金または Standard のいずれかのロジック アプリ リソースがあるかに基づいて、次のタスクを完了する方法を示します。
従量課金ロジック アプリの作成時に、Log Analytics を有効にし、Log Analytics ワークスペースを指定します。
\- または -
既存の従量課金ロジック アプリの場合は、Log Analytics ワークスペースに Logic Apps 管理ソリューションをインストールします。 このソリューションでは、ロジック アプリの実行に関する集約情報が提供され、状態、実行時間、再送信の状態、関連付け ID などの特定の詳細情報が含まれています。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
従量課金ロジック アプリ リソースの場合、Azure Marketplace から Logic Apps 管理ソリューションをインストールできるように、Azure サブスクリプションの所有者または共同作成者のアクセス許可が必要です。 詳しくは、次のドキュメントをご覧ください。
診断データを送信する宛先リソース:
ロジック アプリのリソースとワークフロー
Log Analytics を有効にする
従量課金ロジック アプリの場合は、まず Log Analytics を有効にする必要があります。
ロジック アプリの作成時に Log Analytics を有効にする
Azure portal の [ロジック アプリの作成] ペインで、次の手順に従います。
[プラン] で [従量課金] を選択し、従量課金ワークフローのオプションのみが表示されるようにします。
[ログ分析を有効化] で [はい] を選択します。
Log Analytics ワークスペースの一覧から、ワークフローの実行からデータを送信するワークスペースを選択します。
ロジック アプリ リソースの作成を完了します。
完了すると、ロジック アプリが Log Analytics ワークスペースに関連付けられます。 また、この手順によって、ワークスペースに Logic Apps 管理ソリューションが自動的にインストールされます。
ワークフローを実行したら、ワークフローの実行状態を表示します。
Logic Apps 管理ソリューションをインストールする
ロジック アプリ リソースの作成時にすでに Log Analytics をオンにしている場合は、このセクションをスキップしてください。 Log Analytics ワークスペースには、Logic Apps 管理ソリューションが既にインストールされています。 それ以外の場合は、既存の従量課金ロジック アプリに対して次の手順を続行します。
Azure portal の検索ボックスに「Log Analytics ワークスペース」と入力し、結果から [Log Analytics ワークスペース] を選択します。
[Log Analytics ワークスペース] でワークスペースを選択します。
[概要] ウィンドウで [Log Analytics の使用を開始する]>[監視ソリューションの構成] の順に選択し、[ソリューションの表示] を選択します。
[概要] で [追加] を選択します。これにより、ワークスペースに新しいソリューションが追加されます。
[Marketplace] ページが開いたら、検索ボックスに「Logic Apps 管理」と入力し、[Logic Apps 管理] を選択します。
[Logic Apps 管理] タイルの [作成] 一覧から [Logic Apps 管理] を選択します。
[Create Logic Apps Management (Preview) Solution] (Logic Apps 管理 (プレビュー) ソリューションの作成) ペインで、ソリューションのインストール先となる Log Analytics ワークスペースを選択します。 [確認および作成] を選択し、情報を確認して [作成] を選択します。
Log Analytics ワークスペースが含まれる Azure リソース グループに Azure によってソリューションがデプロイされると、ワークスペースの概要ペインの [概要] にソリューションが表示されます。
診断設定を追加する
Azure portal で、従量課金ロジック アプリ リソースを開きます。
ロジック アプリ リソースのメニューの [監視] で、[診断設定] を選択します。 [診断設定] ページで、[診断設定の追加] を選択します。
[診断設定の名前] に、設定に必要な名前を指定します。
[ログ]>[カテゴリ] で、[ワークフロー ランタイム診断イベント] を選択します。 [メトリック] で [AllMetrics] を選択します。
[宛先の詳細] で、ログの送信先に基づいて 1 つ以上の宛先を選択します。
到着地 道順 Log Analytics ワークスペースに送信する Log Analytics ワークスペースとワークスペースの Azure サブスクリプションを選択します。 ストレージ アカウントへのアーカイブ Azure ストレージ アカウントの Azure サブスクリプションとストレージ アカウントを選択します。 詳細については、「診断データを Azure Storage と Azure Event Hubs に送信する」を参照してください。 イベント ハブへのストリーム イベント ハブの名前空間、イベント ハブ、イベント ハブ ポリシー名の Azure サブスクリプションを選択します。 詳細については、「診断データを Azure Storage と Azure Event Hubs に送信する」と「Azure Monitor パートナーとの統合」を参照してください。 パートナー ソリューションへの送信 Azure サブスクリプションと宛先を選択します。 詳細については、「Azure Native ISV Services の概要」を参照してください。 次の例では、宛先として Log Analytics ワークスペースを選択します。
診断設定の追加を完了するには、[保存] を選択します。
ワークフローの実行状態を表示する
ワークフローが実行されると、それらの実行に関するデータを Log Analytics ワークスペースに表示できます。
Azure portal で、Log Analytics ワークスペースを開きます。
ワークスペース メニューの [クラシック] で、[ワークスペースの概要] を選択します。 [概要] ページで、[Logic Apps 管理] を選択します。
注意
実行後すぐに [Logic Apps 管理] タイルに結果が表示されない場合は、 [最新の情報に更新] を選択するか、しばらく待ってから再試行してください。
概要ページには、名前または実行状態別にグループ化されたワークフローが表示されます。 このページには、ワークフロー実行のアクションまたはトリガーで発生したエラーに関する詳細も表示されます。
特定のワークフローまたは状態のすべての実行を表示するには、そのワークフローまたは状態の行を選択します。
この例では、特定のワークフローのすべての実行を示します。
追跡対象のプロパティを追加したアクションについては、列フィルターを使用して追跡対象プロパティを検索できます。 プロパティを表示するには、[追跡対象プロパティ] 列で [表示] を選択します。
結果をフィルター処理するには、クライアント側とサーバー側の両方でフィルター処理を実行します。
クライアント側のフィルター:列ごとに次のように必要なフィルターを選択します。
サーバー側のフィルター:特定の時間枠を選択するか、表示される実行の数を制限するには、ページの上部にあるスコープ コントロールを使用します。 既定では、一度に 1000 件のレコードのみ表示されます。
特定の実行のすべてのアクションとその詳細を表示するには、ロジック アプリ ワークフローの実行の行を選択します。
次の例は、特定のロジック アプリ ワークフロー実行のすべてのアクションとトリガーを示しています。
診断データを Azure Storage と Azure Event Hubs に送信する
Azure Monitor ログと共に、収集したデータを他の宛先に送信できます。次に例を示します。
これにより、Azure Stream Analytics や Power BI などの他のサービスのテレメトリと分析を使用したリアルタイム監視が可能になります。次に例を示します。
- Event Hubs からStream Analytics にデータをストリーミングする
- ストリーミング データを Stream Analytics で分析し、Power BI でリアルタイム分析ダッシュボードを作成する
注意
保有期間は、ストレージ アカウントを使用する場合にのみ適用されます。
カスタム プロパティをテレメトリに含める
ワークフローには、トリガーとアクションに次のカスタム プロパティを追加して、Log Analytics ワークスペースに出力されたテレメトリと共にそれらの値が表示されるようにする機能があります。
カスタム追跡 ID
ほとんどのトリガーには、式を使用して追跡 ID を指定できる カスタム追跡 ID プロパティがあります。 この式を使用して、受信したメッセージ ペイロードからデータを取得したり、一意の値を生成したりできます。次に例を示します。
このカスタム追跡 ID を指定しない場合、Azure によってこの ID が自動的に生成され、親ワークフローから呼び出される入れ子になったワークフローを含め、ワークフロー実行全体でイベントが関連付けられます。 この ID は、カスタム ID 値を指定した x-ms-client-tracking-id
ヘッダーをトリガー要求で渡すことで、トリガー内で手動で指定できます。 要求トリガー、HTTP トリガー、または Webhook ベースのトリガーを使用できます。
追跡対象のプロパティ
アクションには、[追跡対象プロパティ] セクションがあり、ここに式またはハードコーディングされた値を入力してカスタム プロパティの名前と値を指定し、特定の入力または出力を追跡できます。次に例を示します。
追跡対象プロパティで追跡できるのは、1 つのアクションの入出力のみです。ただし、イベントの correlation
プロパティを使用すると、1 回のワークフロー実行に含まれる複数のアクション間でそれらを相互に関連付けることができます。
追跡対象プロパティでは、自身のトリガーまたはアクションのパラメーター、入力、出力のみを参照できます。
セキュリティで保護された入力、セキュリティで保護された出力、またはその両方を持つトリガーまたはアクションでは、追跡対象プロパティを使用できません。 また、セキュリティで保護された入力、セキュリティで保護された出力、またはその両方を持つ別のトリガーまたはアクションを参照することもできません。
次の例は、Log Analytics ワークスペースにカスタム プロパティが表示される場所を示しています。
Log Analytics ワークスペース メニューの [クラシック] で、[ワークスペースの概要] を選択します。 [概要] ページで、[Logic Apps 管理] を選択します。
レビューするワークフローの行を選択します。
[実行] ページの [ロジック アプリの実行] テーブルで、[追跡 ID] 列と [追跡対象プロパティ] 列を見つけます。
追跡対象プロパティを検索するには、列フィルターを使用します。 プロパティを表示するには、[表示] を選択します。