Azure Monitor ログを設定し、Azure Logic Apps の診断データを収集するSet up Azure Monitor logs and collect diagnostics data for Azure Logic Apps

実行時にロジック アプリに関するより豊富なデバッグ情報を取得するには、Azure Monitor ログを設定して使用し、トリガー イベント、実行イベント、アクション イベントなどのランタイム データやイベントに関する情報を Log Analytics ワークスペースに記録して格納します。To get richer debugging information about your logic apps during runtime, you can set up and use Azure Monitor logs to record and store information about runtime data and events, such as trigger events, run events, and action events in a Log Analytics workspace. Azure Monitor を使用すると、クラウド環境とオンプレミス環境を監視して、可用性とパフォーマンスをより簡単に維持することができます。Azure Monitor helps you monitor your cloud and on-premises environments so that you can more easily maintain their availability and performance. Azure Monitor ログを使用することで、この情報を収集して確認するのに役立つログ クエリを作成できます。By using Azure Monitor logs, you can create log queries that help you collect and review this information. さらに、Azure Storage や Azure Event Hubs などの他の Azure サービスでこの診断データを使用することもできます。You can also use this diagnostics data with other Azure services, such as Azure Storage and Azure Event Hubs.

ロジック アプリのログを設定するには、ロジック アプリを作成するときに Log Analytics を有効にするか、既存のロジック アプリの Log Analytics ワークスペースに Logic Apps 管理ソリューション をインストールします。To set up logging for your logic app, you can enable Log Analytics when you create your logic app, or you can install the Logic Apps Management solution in your Log Analytics workspace for existing logic apps. このソリューションでは、ロジック アプリの実行に関する集約情報が提供され、状態、実行時間、再送信の状態、関連付け ID などの特定の詳細情報が含まれています。This solution provides aggregated information for your logic app runs and includes specific details such as status, execution time, resubmission status, and correlation IDs. 次に、この情報に対してログの記録とクエリの作成を有効にするために、Azure Monitor ログを設定しますThen, to enable logging and creating queries for this information, set up Azure Monitor logs.

この記事では、新しいロジック アプリと既存のロジック アプリで Log Analytics を有効にする方法、Logic Apps 管理ソリューションをインストールして設定する方法、および Azure Monitor ログのクエリを設定して作成する方法について説明します。This article shows how to enable Log Analytics on new logic apps and existing logic apps, how to install and set up the Logic Apps Management solution, and how to set up and create queries for Azure Monitor logs.

前提条件Prerequisites

開始する前に、Log Analytics ワークスペースが必要です。Before you start, you need a Log Analytics workspace. ワークスペースがない場合は、Log Analytics ワークスペースの作成方法について確認してください。If you don't have a workspace, learn how to create a Log Analytics workspace.

新しいロジック アプリの Log Analytics を有効にするEnable Log Analytics for new logic apps

ロジック アプリを作成するときに、Log Analytics を有効にすることができます。You can turn on Log Analytics when you create your logic app.

  1. Azure portal 内のロジック アプリを作成するための情報を指定するウィンドウで、次の手順を実行します。In the Azure portal, on the pane where you provide the information to create your logic app, follow these steps:

    1. [Log Analytics][オン] を選択します。Under Log Analytics, select On.

    2. Log Analytics ワークスペースの一覧から、ロジック アプリの実行からデータを送信するワークスペースを選択します。From the Log Analytics workspace list, select the workspace where you want to send the data from your logic app runs.

      ロジック アプリに関する情報の入力

      この手順を完了すると、Azure によりロジック アプリが作成されます。このアプリは、Log Analytics ワークスペースに関連付けられています。After you finish this step, Azure creates your logic app, which is now associated with your Log Analytics workspace. この手順では、ワークスペースに Logic Apps 管理ソリューションが自動的にインストールされます。Also, this step automatically installs the Logic Apps Management solution in your workspace.

  2. 完了したら [作成] を選択します。When you're done, select Create.

  3. ロジック アプリを実行した後、ロジック アプリの実行状態を表示するには、次の手順を続行しますAfter you run your logic app, to view your logic app runs, continue with these steps.

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

ロジック アプリの作成時にすでに Log Analytics をオンにしている場合は、この手順をスキップしてください。If you turned on Log Analytics when you created your logic app, skip this step. Log Analytics ワークスペースには、Logic Apps 管理ソリューションが既にインストールされています。You already have the Logic Apps Management solution installed in your Log Analytics workspace.

  1. Azure portal の検索ボックスに「log analytics workspaces」と入力し、 [Log Analytics ワークスペース] を選択します。In the Azure portal's search box, enter log analytics workspaces, and then select Log Analytics workspaces.

    [Log Analytics ワークスペース] を選択する

  2. [Log Analytics ワークスペース] でワークスペースを選択します。Under Log Analytics workspaces, select your workspace.

    Log Analytics ワークスペースを選択する

  3. [概要] ウィンドウで [Log Analytics の使用を開始する] > [監視ソリューションの構成] の順に選択し、 [ソリューションの表示] を選択します。On the Overview pane, under Get started with Log Analytics > Configure monitoring solutions, select View solutions.

    [概要] ウィンドウで [ソリューションの表示] を選択する

  4. [概要][追加] を選択します。Under Overview, select Add.

    [概要] ウィンドウで新しいソリューションを追加する

  5. [Marketplace] が開いたら、検索ボックスに「logic apps management」と入力し、 [Logic Apps 管理] を選択します。After the Marketplace opens, in the search box, enter logic apps management, and select Logic Apps Management.

    Marketplace から [Logic Apps 管理] を選択する

  6. [ソリューションの説明] ウィンドウで [作成] を選択します。On the solution description pane, select Create.

    [作成] を選択して [Logic Apps 管理] ソリューションを追加する

  7. ソリューションをインストールする Log Analytics ワークスペースを確認して確定し、もう一度 [作成] を選択します。Review and confirm the Log Analytics workspace where you want to install the solution, and select Create again.

    [Logic Apps 管理] の [作成] を選択する

    Log Analytics ワークスペースが含まれる Azure リソース グループに Azure によってソリューションがデプロイされると、ワークスペースの [概要] ウィンドウにソリューションが表示されます。After Azure deploys the solution to the Azure resource group that contains your Log Analytics workspace, the solution appears on your workspace's summary pane.

    ワークスペースの [概要] ウィンドウ

Azure Monitor ログを設定するSet up Azure Monitor logs

ランタイム イベントおよびデータに関する情報を Azure Monitor ログに格納するとき、この情報の検索と確認に役立つログ クエリを作成できます。When you store information about runtime events and data in Azure Monitor logs, you can create log queries that help you find and review this information.

注意

診断設定を有効にした後、診断データが指定された宛先 (Log Analytics、イベント ハブ、ストレージ アカウントなど) のログに最大 30 分間送信されない場合があります。After you enable diagnostics settings, diagnostics data might not flow for up to 30 minutes to the logs at the specified destination, such as Log Analytics, event hub, or storage account. この遅延は、この期間の診断データが存在しないため確認できない可能性があることを意味します。This delay means that diagnostics data from this time period might not exist for you to review. 完了したイベントと追跡対象プロパティは、10 ~ 15 分間 Log Analytics ワークスペースに表示されない場合があります。Completed events and tracked properties might not appear in your Log Analytics workspace for 10-15 minutes.

  1. Azure Portal で、ご利用のロジック アプリを探して選択します。In the Azure portal, find and select your logic app.

  2. ロジック アプリ メニューの [監視] で、 [診断設定] > [診断設定を追加する] を追加します。On your logic app menu, under Monitoring, select Diagnostic settings > Add diagnostic setting.

    [監視] で、[診断設定] > [診断設定を追加する] を選択する

  3. 設定を作成するには、次の手順を実行します。To create the setting, follow these steps:

    1. 設定の名前を入力します。Provide a name for the setting.

    2. [Log Analytics への送信] を選択します。Select Send to Log Analytics.

    3. [サブスクリプション] では、Log Analytics ワークスペースに関連付けられている Azure サブスクリプションを選択します。For Subscription, select the Azure subscription that's associated with your Log Analytics workspace.

    4. [Log Analytics ワークスペース] では、使用するワークスペースを選択します。For Log Analytics Workspace, select the workspace that you want to use.

    5. [ログ] にある [WorkflowRuntime] カテゴリを選択します。これは、記録するイベント カテゴリを指定します。Under log, select the WorkflowRuntime category, which specifies the event category that you want to record.

    6. すべてのメトリックを選択するには、 [メトリック][AllMetrics] を選択します。To select all metrics, under metric, select AllMetrics.

    7. 終了したら、 [保存] を選択します。When you're done, select Save.

    次に例を示します。For example:

    Log Analytics ワークスペースとログ対象のデータを選択する

ロジック アプリの実行状態を表示するView logic app runs status

ロジック アプリが実行されると、それらの実行に関するデータを Log Analytics ワークスペースに表示できます。After your logic app runs, you can view the data about those runs in your Log Analytics workspace.

  1. Azure portal で、Log Analytics ワークスペースを探して開きます。In the Azure portal, find and open your Log Analytics workspace.

  2. ワークスペースのメニューで、 [ワークスペースの概要] > [Logic Apps 管理] を選択します。On your workspace's menu, select Workspace summary > Logic Apps Management.

    ロジック アプリの実行状態と実行件数

    注意

    実行後すぐに [Logic Apps 管理] タイルに結果が表示されない場合は、 [最新の情報に更新] を選択するか、しばらく待ってから再試行してください。If the Logic Apps Management tile doesn't immediately show results after a run, try selecting Refresh or wait for a short time before trying again.

    ここでは、ロジック アプリの実行は名前または実行状態でグループ化されます。Here, your logic app runs are grouped by name or by execution status. このページには、ロジック アプリの実行のアクションまたはトリガーで発生したエラーに関する詳細も表示されます。This page also shows details about failures in actions or triggers for the logic app runs.

    ロジック アプリの実行状態の概要

  3. 特定のロジック アプリまたは状態のすべての実行を表示するには、そのロジック アプリまたは状態の行を選択します。To view all the runs for a specific logic app or status, select the row for that logic app or status.

    特定のロジック アプリのすべての実行を表示する例は次の通りです。Here is an example that shows all the runs for a specific logic app:

    ロジック アプリの実行と状態を表示する

    注意

    このページの再送信機能は現在使用できません。The Resubmit capability on this page is currently unavailable.

    追跡対象プロパティを設定したアクションでは、 [追跡対象プロパティ] 列で [表示] を選択してプロパティを表示することもできます。For actions where you set up tracked properties, you can also view those properties by selecting View in the Tracked Properties column. 追跡対象プロパティを検索するには、列フィルターを使用します。To search the tracked properties, use the column filter.

    ロジック アプリの追跡対象プロパティを表示する

  4. 結果をフィルター処理するには、クライアント側とサーバー側の両方でフィルター処理を実行します。To filter your results, you can perform both client-side and server-side filtering.

    • クライアント側のフィルター:列ごとに次のように必要なフィルターを選択します。Client-side filter: For each column, select the filters that you want, for example:

      列フィルターの例

    • サーバー側のフィルター:特定の時間枠を選択するか、表示される実行の数を制限するには、ページの上部にあるスコープ コントロールを使用します。Server-side filter: To select a specific time window or to limit the number of runs that appear, use the scope control at the top of the page. 既定では、一度に 1000 件のレコードのみ表示されます。By default, only 1,000 records appear at a time.

      時間枠を変更する

  5. 特定の実行のすべてのアクションとその詳細を表示するには、ロジック アプリの実行の行を選択します。To view all the actions and their details for a specific run, select the row for a logic app run.

    特定のロジック アプリの実行のすべてアクションとトリガーを表示する例は次のとおりです。Here is an example that shows all the actions and triggers for a specific logic app run:

    ロジック アプリの実行のアクションを表示する

診断データを Azure Storage と Azure Event Hubs に送信するSend diagnostic data to Azure Storage and Azure Event Hubs

Azure Monitor ログと併せて、ロジック アプリの診断データを他の Azure サービスで使用する方法を次のように拡張できます。Along with Azure Monitor logs, you can extend how you use your logic app's diagnostic data with other Azure services, for example:

これにより、Azure Stream AnalyticsPower BI などの他のサービスのテレメトリと分析を使用したリアルタイム監視が可能になります。You can then get real-time monitoring by using telemetry and analytics from other services, like Azure Stream Analytics and Power BI. 次に例を示します。For example:

診断データを送信する場所に応じて、まず Azure ストレージ アカウントを作成するか、Azure イベント ハブを作成することを確認してください。Based on the locations where you want to send diagnostic data, make sure that you first create an Azure storage account or create an Azure event hub. その後、データの送信先を選択できます。You can then select the destinations where you want to send that data. 保有期間は、ストレージ アカウントを使用する場合にのみ適用されます。Retention periods apply only when you use a storage account.

データを Azure ストレージ アカウントまたはイベント ハブに送信する

Azure Monitor の診断イベントAzure Monitor diagnostics events

各診断イベントには、ご利用のロジック アプリとそのイベントに関する詳細 (状態、開始時刻、終了時刻など) が含まれています。Each diagnostic event has details about your logic app and that event, for example, the status, start time, end time, and so on. 監視、追跡、ログをプログラムで設定する際に、この情報を Azure Logic Apps 用 REST APIAzure Monitor 用 REST API で使用できます。To programmatically set up monitoring, tracking, and logging, you can use this information with the REST API for Azure Logic Apps and the REST API for Azure Monitor. また、次に示す clientTrackingId および trackedProperties プロパティを使用することもできます。You can also use the clientTrackingId and trackedProperties properties, which appear in

  • clientTrackingId:指定しなかった場合、自動的にこの ID が生成され、ロジック アプリの実行でイベント (このロジック アプリから呼び出される入れ子になったワークフローなど) どうしが関連付けられます。clientTrackingId: If not provided, Azure automatically generates this ID and correlates events across a logic app run, including any nested workflows that are called from the logic app. この ID は、カスタム ID 値を指定した x-ms-client-tracking-id ヘッダーをトリガー要求で渡すことで、トリガー内で手動で指定できます。You can manually specify this ID in a trigger by passing a x-ms-client-tracking-id header with your custom ID value in the trigger request. 要求トリガー、HTTP トリガー、または webhook トリガーを使用できます。You can use a request trigger, HTTP trigger, or webhook trigger.

  • trackedProperties:診断データの入力または出力を追跡するには、ロジック アプリ デザイナーを使用するか、またはロジック アプリの JSON 定義から直接、アクションに trackedProperties セクションを追加します。trackedProperties: To track inputs or outputs in diagnostics data, you can add a trackedProperties section to an action either by using the Logic App Designer or directly in your logic app's JSON definition. 追跡対象プロパティで追跡できるのは、1 つのアクションの入出力のみです。ただし、イベントの correlation プロパティを使用すると、1 回の実行に含まれる複数のアクションにわたってそれらを相互に関連付けることができます。Tracked properties can track only a single action's inputs and outputs, but you can use the correlation properties of events to correlate across actions in a run. 1 つ以上のプロパティを追跡するには、trackedProperties セクションと必要なプロパティをアクションの定義に追加します。To track more than one property, one or more properties, add the trackedProperties section and the properties that you want to the action definition.

    次に示す例では、アクションの入力からの追跡対象プロパティが [変数を初期化する] アクションの定義に含まれています。このプロパティには、レコードではなく配列を入力します。Here's an example that shows how the Initialize variable action definition includes tracked properties from the action's input where the input is an array, not a record.

    {
       "Initialize_variable": {
          "type": "InitializeVariable",
          "inputs": {
             "variables": [
                {
                   "name": "ConnectorName", 
                   "type": "String", 
                   "value": "SFTP-SSH" 
                }
             ]
          },
          "runAfter": {},
          "trackedProperties": { 
             "myTrackedPropertyName": "@action().inputs.variables[0].value"
          }
       }
    }
    

    次の例では、複数の追跡対象プロパティを示します。This example show multiple tracked properties:

    "HTTP": {
       "type": "Http",
       "inputs": {
          "body": "@triggerBody()",
          "headers": {
             "Content-Type": "application/json"
          },
          "method": "POST",
          "uri": "http://store.fabrikam.com",
       },
       "runAfter": {},
       "trackedProperties": {
          "myActionHTTPStatusCode": "@action()['outputs']['statusCode']",
          "myActionHTTPValue": "@action()['outputs']['body']['<content>']",
          "transactionId": "@action()['inputs']['body']['<content>']"
       }
    }
    

次の例では、ActionCompleted イベントに clientTrackingIdtrackedProperties 属性がどのように含まれるかを示します。This example shows how the ActionCompleted event includes the clientTrackingId and trackedProperties attributes:

{
   "time": "2016-07-09T17:09:54.4773148Z",
   "workflowId": "/subscriptions/XXXXXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp",
   "resourceId": "/subscriptions/<subscription-ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp/runs/<run-ID>/actions/Http",
   "category": "WorkflowRuntime",
   "level": "Information",
   "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
   "properties": {
      "$schema": "2016-06-01",
      "startTime": "2016-07-09T17:09:53.4336305Z",
      "endTime": "2016-07-09T17:09:53.5430281Z",
      "status": "Succeeded",
      "code": "OK",
      "resource": {
         "subscriptionId": "<subscription-ID>",
         "resourceGroupName": "MyResourceGroup",
         "workflowId": "<logic-app-workflow-ID>",
         "workflowName": "MyLogicApp",
         "runId": "08587361146922712057",
         "location": "westus",
         "actionName": "Http"
      },
      "correlation": {
         "actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
         "clientTrackingId": "<my-custom-tracking-ID>"
      },
      "trackedProperties": {
         "myTrackedPropertyName": "<value>"
      }
   }
}

次のステップNext steps