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 を有効にする

  1. Azure portal[ロジック アプリの作成] ペインで、次の手順に従います。

    1. [プラン][従量課金] を選択し、従量課金ワークフローのオプションのみが表示されるようにします。

    2. [ログ分析を有効化][はい] を選択します。

    3. Log Analytics ワークスペースの一覧から、ワークフローの実行からデータを送信するワークスペースを選択します。

      Azure portal と従量課金ロジック アプリの作成ページが示されているスクリーンショット。

  2. ロジック アプリ リソースの作成を完了します。

    完了すると、ロジック アプリが Log Analytics ワークスペースに関連付けられます。 また、この手順によって、ワークスペースに Logic Apps 管理ソリューションが自動的にインストールされます。

  3. ワークフローを実行したら、ワークフローの実行状態を表示します

Logic Apps 管理ソリューションをインストールする

ロジック アプリ リソースの作成時にすでに Log Analytics をオンにしている場合は、このセクションをスキップしてください。 Log Analytics ワークスペースには、Logic Apps 管理ソリューションが既にインストールされています。 それ以外の場合は、既存の従量課金ロジック アプリに対して次の手順を続行します。

  1. Azure portal の検索ボックスに「Log Analytics ワークスペース」と入力し、結果から [Log Analytics ワークスペース] を選択します。

    ログ分析ワークスペースが選択された Azure portal の検索ボックスが示されているスクリーンショット。

  2. [Log Analytics ワークスペース] でワークスペースを選択します。

    Azure portal、Log Analytics ワークスペース リスト、選択された特定のワークスペースが示されているスクリーンショット。

  3. [概要] ウィンドウで [Log Analytics の使用を開始する][監視ソリューションの構成] の順に選択し、[ソリューションの表示] を選択します。

    Azure portal、Log Analytics ワークスペース リスト、および選択された特定のワークスペースが示されているスクリーンショット。

  4. [概要][追加] を選択します。これにより、ワークスペースに新しいソリューションが追加されます。

  5. [Marketplace] ページが開いたら、検索ボックスに「Logic Apps 管理」と入力し、[Logic Apps 管理] を選択します。

    Azure portal が示されているスクリーンショット。[Marketplace] ページの検索ボックスに「Logic Apps 管理」が入力され、[Logic Apps 管理] が選択されています。

  6. [Logic Apps 管理] タイルの [作成] 一覧から [Logic Apps 管理] を選択します。

    Azure portal、[Marketplace] ページ、[Logic Apps 管理] タイルが示されているスクリーンショット。、[リストの作成] が開き、[Logic Apps 管理 (プレビュー)] が選択されています。

  7. [Create Logic Apps Management (Preview) Solution] (Logic Apps 管理 (プレビュー) ソリューションの作成) ペインで、ソリューションのインストール先となる Log Analytics ワークスペースを選択します。 [確認および作成] を選択し、情報を確認して [作成] を選択します。

    Azure portal、[Logic Apps 管理 (プレビュー) ソリューションの作成] ページ、ワークスペース情報が示されているスクリーンショット。

    Log Analytics ワークスペースが含まれる Azure リソース グループに Azure によってソリューションがデプロイされると、ワークスペースの概要ペインの [概要] にソリューションが表示されます。

    Azure portal の Logic Apps 管理ソリューションを含むワークスペースの概要ウィンドウが示されているスクリーンショット。

診断設定を追加する

  1. Azure portal で、従量課金ロジック アプリ リソースを開きます。

  2. ロジック アプリ リソースのメニューの [監視] で、[診断設定] を選択します。 [診断設定] ページで、[診断設定の追加] を選択します。

    Azure portal が示されているスクリーンショット。[従量課金ロジック アプリ リソース] メニューで [診断設定] が選択され、[診断設定の追加] が選択されています。

  3. [診断設定の名前] に、設定に必要な名前を指定します。

  4. [ログ]>[カテゴリ] で、[ワークフロー ランタイム診断イベント] を選択します。 [メトリック][AllMetrics] を選択します。

  5. [宛先の詳細] で、ログの送信先に基づいて 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 ワークスペースを選択します。

    Azure portal、Log Analytics ワークスペース、収集するデータが示されているスクリーンショット。

  6. 診断設定の追加を完了するには、[保存] を選択します。

ワークフローの実行状態を表示する

ワークフローが実行されると、それらの実行に関するデータを Log Analytics ワークスペースに表示できます。

  1. Azure portal で、Log Analytics ワークスペースを開きます。

  2. ワークスペース メニューの [クラシック] で、[ワークスペースの概要] を選択します。 [概要] ページで、[Logic Apps 管理] を選択します。

    注意

    実行後すぐに [Logic Apps 管理] タイルに結果が表示されない場合は、 [最新の情報に更新] を選択するか、しばらく待ってから再試行してください。

    Azure portal と、従量課金ロジック アプリ ワークフローの実行状態とカウントを含む Log Analytics ワークスペースが示されているスクリーンショット。

    概要ページには、名前または実行状態別にグループ化されたワークフローが表示されます。 このページには、ワークフロー実行のアクションまたはトリガーで発生したエラーに関する詳細も表示されます。

    従量課金ロジック アプリ ワークフローの実行の状態の概要が示されているスクリーンショット。

  3. 特定のワークフローまたは状態のすべての実行を表示するには、そのワークフローまたは状態の行を選択します。

    この例では、特定のワークフローのすべての実行を示します。

    特定の従量課金ロジック アプリ ワークフローの実行と状態が示されているスクリーンショット。

    追跡対象のプロパティを追加したアクションについては、列フィルターを使用して追跡対象プロパティを検索できます。 プロパティを表示するには、[追跡対象プロパティ] 列で [表示] を選択します。

    特定の従量課金ロジック アプリ ワークフローの追跡対象プロパティが示されているスクリーンショット。

  4. 結果をフィルター処理するには、クライアント側とサーバー側の両方でフィルター処理を実行します。

    • クライアント側のフィルター:列ごとに次のように必要なフィルターを選択します。

      列フィルターを使用したクライアント側フィルターの例が示されているスクリーンショット。

    • サーバー側のフィルター:特定の時間枠を選択するか、表示される実行の数を制限するには、ページの上部にあるスコープ コントロールを使用します。 既定では、一度に 1000 件のレコードのみ表示されます。

      時間枠を変更するサーバー側フィルターの例が示されているスクリーンショット。

  5. 特定の実行のすべてのアクションとその詳細を表示するには、ロジック アプリ ワークフローの実行の行を選択します。

    次の例は、特定のロジック アプリ ワークフロー実行のすべてのアクションとトリガーを示しています。

    特定のロジック アプリ ワークフロー実行のすべての操作と詳細が示されているスクリーンショット。

診断データを Azure Storage と Azure Event Hubs に送信する

Azure Monitor ログと共に、収集したデータを他の宛先に送信できます。次に例を示します。

これにより、Azure Stream AnalyticsPower BI などの他のサービスのテレメトリと分析を使用したリアルタイム監視が可能になります。次に例を示します。

注意

保有期間は、ストレージ アカウントを使用する場合にのみ適用されます。

Azure portal、従量課金ロジック アプリ リソース、ストレージ アカウントとイベント ハブ オプションを含む診断設定が示されているスクリーンショット。

カスタム プロパティをテレメトリに含める

ワークフローには、トリガーとアクションに次のカスタム プロパティを追加して、Log Analytics ワークスペースに出力されたテレメトリと共にそれらの値が表示されるようにする機能があります。

カスタム追跡 ID

ほとんどのトリガーには、式を使用して追跡 ID を指定できる カスタム追跡 ID プロパティがあります。 この式を使用して、受信したメッセージ ペイロードからデータを取得したり、一意の値を生成したりできます。次に例を示します。

このカスタム追跡 ID を指定しない場合、Azure によってこの ID が自動的に生成され、親ワークフローから呼び出される入れ子になったワークフローを含め、ワークフロー実行全体でイベントが関連付けられます。 この ID は、カスタム ID 値を指定した x-ms-client-tracking-id ヘッダーをトリガー要求で渡すことで、トリガー内で手動で指定できます。 要求トリガー、HTTP トリガー、または Webhook ベースのトリガーを使用できます。

追跡対象のプロパティ

アクションには、[追跡対象プロパティ] セクションがあり、ここに式またはハードコーディングされた値を入力してカスタム プロパティの名前と値を指定し、特定の入力または出力を追跡できます。次に例を示します。

追跡対象プロパティで追跡できるのは、1 つのアクションの入出力のみです。ただし、イベントの correlation プロパティを使用すると、1 回のワークフロー実行に含まれる複数のアクション間でそれらを相互に関連付けることができます。

追跡対象プロパティでは、自身のトリガーまたはアクションのパラメーター、入力、出力のみを参照できます。

セキュリティで保護された入力、セキュリティで保護された出力、またはその両方を持つトリガーまたはアクションでは、追跡対象プロパティを使用できません。 また、セキュリティで保護された入力、セキュリティで保護された出力、またはその両方を持つ別のトリガーまたはアクションを参照することもできません。

次の例は、Log Analytics ワークスペースにカスタム プロパティが表示される場所を示しています。

  1. Log Analytics ワークスペース メニューの [クラシック] で、[ワークスペースの概要] を選択します。 [概要] ページで、[Logic Apps 管理] を選択します。

  2. レビューするワークフローの行を選択します。

  3. [実行] ページの [ロジック アプリの実行] テーブルで、[追跡 ID] 列と [追跡対象プロパティ] 列を見つけます。

    特定の従量課金ワークフローの実行と状態が示されているスクリーンショット。

  4. 追跡対象プロパティを検索するには、列フィルターを使用します。 プロパティを表示するには、[表示] を選択します。

    特定の従量課金ワークフローの追跡対象プロパティの例が示されているスクリーンショット。

次のステップ