Azure Logic Apps の状態の監視、診断ログの設定、アラートの有効化Monitor status, set up diagnostics logging, and turn on alerts for Azure Logic Apps

ロジック アプリを作成して実行すると、その実行の履歴、トリガーの履歴、状態、パフォーマンスを確認できます。After you create and run a logic app, you can check its runs history, trigger history, status, and performance. リアルタイムでのイベントの監視と高度なデバッグについては、ご利用のロジック アプリの診断ログを設定します。For real-time event monitoring and richer debugging, set up diagnostics logging for your logic app. このようにして、トリガー イベント、実行イベント、アクション イベントなど、イベントを検索して表示することができます。That way, you can find and view events, like trigger events, run events, and action events. また、Azure Storage や Azure Event Hubs などの他のサービスでこの診断データを使用することもできます。You can also use this diagnostics data with other services, like Azure Storage and Azure Event Hubs.

エラーやその他考えられる問題に関する通知を受け取るには、アラートを設定します。To get notifications about failures or other possible problems, set up alerts. たとえば、"1 時間に 5 件を超える実行が失敗したとき" を検出するアラートを作成できます。For example, you can create an alert that detects "when more than five runs fail in an hour." また、Azure 診断イベントの設定とプロパティを使用すると、監視、追跡、ログ記録をプログラムで設定することもできます。You can also set up monitoring, tracking, and logging programmatically by using Azure Diagnostics event settings and properties.

ロジック アプリの実行の履歴とトリガーの履歴を表示するView runs and trigger history for your logic app

  1. Azure Portal でご利用のロジック アプリを探すには、Azure のメイン メニューの [すべてのサービス] を選択します。To find your logic app in the Azure portal, on the main Azure menu, choose All services. 検索ボックスに「ロジック アプリ」と入力し、[ロジック アプリ] を選択します。In the search box, type "logic apps", and choose Logic apps.

    ロジック アプリを検索する

    Azure Portal には、所有する Azure サブスクリプションに関連付けられているロジック アプリがすべて表示されます。The Azure portal shows all the logic apps that are associated with your Azure subscription.

  2. ご利用のロジック アプリを選択し、[概要] を選択します。Select your logic app, then choose Overview.

    Azure Portal では、そのロジック アプリの実行の履歴とトリガーの履歴が表示されます。The Azure portal shows the runs history and trigger history for your logic app. 例: For example:

    ロジック アプリの実行の履歴とトリガーの履歴

    • [実行の履歴] には、ご利用のロジック アプリの実行がすべて表示されます。Runs history shows all the runs for your logic app.
    • [トリガーの履歴] には、ご利用のロジック アプリのトリガー アクティビティがすべて表示されます。Trigger History shows all the trigger activity for your logic app.

    状態の説明については、ロジック アプリのトラブルシューティングに関するページを参照してください。For status descriptions, see Troubleshoot your logic app.

    ヒント

    必要なデータが見つからない場合は、ツール バーの [更新] を選択してください。If you don't find the data that you expect, on the toolbar, choose Refresh.

  3. 特定の実行からステップを表示するには、[実行の履歴] でその実行を選択します。To view the steps from a specific run, under Runs history, select that run.

    モニター ビューには、その実行に含まれる各ステップが表示されます。The monitor view shows each step in that run. 例: For example:

    特定の実行のアクション

  4. その実行について詳細を確認するには、[実行の詳細] を選択します。To get more details about the run, choose Run Details. この情報は、その実行のステップ、状態、入出力をまとめたものです。This information summarizes the steps, status, inputs, and outputs for the run.

    [実行の詳細] を選択する

    たとえば、その実行の関連付け ID を取得できます。これは、Logic Apps 用の REST API を使用する際に必要になる場合があります。For example, you can get the run's Correlation ID, which you might need when you use the REST API for Logic Apps.

  5. 特定のステップの詳細を取得するには、そのステップを選択します。To get details about a specific step, choose that step. これで、そのステップに対して発生した入出力やエラー (ある場合) などの詳細を確認できるようになりました。You can now review details like inputs, outputs, and any errors that happened for that step. 例: For example:

    ステップの詳細

    注意

    Logic Apps サービス内では、実行時の詳細情報とイベントはすべて暗号化されます。All runtime details and events are encrypted within the Logic Apps service. これらの暗号化が解除されるのは、ユーザーがそのデータの表示を要求したときのみです。They are decrypted only when a user requests to view that data. また、これらのイベントへのアクセスは、Azure のロールベースのアクセス制御 (RBAC) で制御することができます。You can also control access to these events with Azure Role-Based Access Control (RBAC).

  6. 特定のトリガー イベントの詳細を取得するために、[概要] ウィンドウに戻ります。To get details about a specific trigger event, go back to the Overview pane. [トリガーの履歴] で、トリガー イベントを選択します。Under Trigger history, select the trigger event. これで、次のように、入出力などの詳細を確認できます。You can now review details like inputs and outputs, for example:

    トリガー イベントの出力の詳細

ロジック アプリの診断ログを有効にするTurn on diagnostics logging for your logic app

実行時の詳細情報やイベントを使用した高度なデバッグの場合は、Azure Log Analytics を使用して診断ログを設定できます。For richer debugging with runtime details and events, you can set up diagnostics logging with Azure Log Analytics. Log Analytics は Azure のサービスであり、クラウド環境とオンプレミス環境を監視して可用性とパフォーマンスを維持するうえで役立ちます。Log Analytics is a service in Azure that monitors your cloud and on-premises environments to help you maintain their availability and performance.

開始する前に、Log Analytics ワークスペースを用意しておく必要があります。Before you start, you need to have a Log Analytics workspace. Log Analytics ワークスペースの作成方法に関するページを参照してください。Learn how to create a Log Analytics workspace.

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

  2. ロジック アプリ ブレードのメニューの [監視] で、[診断] > [診断設定] の順に選択します。On the logic app blade menu, under Monitoring, choose Diagnostics > Diagnostic Settings.

    [監視]、[診断]、[診断設定] の順に移動する

  3. [診断設定][オン] を選択します。Under Diagnostics settings, choose On.

    診断ログを有効にする

  4. ここで、次のように、ログ用に Log Analytics ワークスペースとイベント カテゴリを選択します。Now select the Log Analytics workspace and event category for logging as shown:

    1. [Log Analytics への送信] を選択します。Select Send to Log Analytics.
    2. [Log Analytics] で、[構成] を選択します。Under Log Analytics, choose Configure.
    3. [OMS ワークスペース] で、ログに使用するワークスペースを選択します。Under OMS workspaces, select the workspace to use for logging. > [!NOTE] > OMS ワークスペースは、Log Analytics ワークスペースと呼ばれるようになりました。OMS workspaces are now referred to as Log Analytics workspaces.
    4. [ログ] で、[WorkflowRuntime] カテゴリを選択します。Under Log, select the WorkflowRuntime category.
    5. メトリックの間隔を選択します。Choose the metric interval.
    6. 完了したら、[保存] を選択します。When you're done, choose Save.

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

これで、トリガー イベント、実行イベント、アクション イベントに関して、イベントとその他のデータを検索できるようになりました。Now, you can find events and other data for trigger events, run events, and action events.

ロジック アプリのイベントとデータを検索するFind events and data for your logic app

トリガー イベント、実行イベント、アクション イベントなど、ご利用のロジック アプリのイベントを検索して表示するには、次の手順に従います。To find and view events in your logic app, like trigger events, run events, and action events, follow these steps.

  1. Azure Portal で、[すべてのサービス] を選択します。In the Azure portal, choose All Services. 次に示すように、"ログ分析" を検索し、[Log Analytics] を選択します。Search for "log analytics", then choose Log Analytics as shown here:

    [Log Analytics] を選択する

  2. [Log Analytics] で、ご利用の Log Analytics ワークスペースを見つけて選択します。Under Log Analytics, find and select your Log Analytics workspace.

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

  3. [管理] で、[ログ検索] を選択します。Under Management, choose Log Search.

    [ログ検索] を選択する

  4. 検索ボックスに、検索するフィールドを指定し、Enter キーを押します。In the search box, specify a field that you want to find, and press Enter. 入力を開始すると、一致候補と使用できる操作が表示されます。When you start typing, you see possible matches and operations that you can use.

    たとえば、発生した上位 10 件のイベントを検索するには、search Category == "WorkflowRuntime" | limit 10 という検索クエリを入力して選択します。For example, to find the top 10 events that happened, enter and select this search query: search Category == "WorkflowRuntime" | limit 10

    検索文字列を入力する

    詳細については、Log Analytics でのデータの検索方法に関する記事を参照してください。Learn more about how to find data in Log Analytics.

  5. 結果ページの左側のバーで、表示する期間を選択します。On the results page, in the left bar, choose the timeframe that you want to view. フィルターを追加してクエリを絞り込むには、[+ 追加] を選択します。To refine your query by adding a filter, choose +Add.

    クエリ結果の期間を選択する

  6. [フィルターの追加] で、フィルター名を入力すると、目的のフィルターを見つけることができます。Under Add Filters, enter the filter name so you can find the filter you want. そのフィルターを選択し、[+追加] を選択します。Select the filter, and choose +Add.

    この例では、"status" という単語を使用して、AzureDiagnostics で失敗したイベントを検索します。This example uses the word "status" to find failed events under AzureDiagnostics. ここでは、status_s のフィルターが既に選択されています。Here the filter for status_s is already selected.

    フィルターを選択する

  7. 左側のバーで、使用するフィルター値を選択し、[適用] を選択します。In the left bar, select the filter value that you want to use, and choose Apply.

    フィルター値を選択して [適用] を選択する

  8. ここで、作成しているクエリに戻ります。Now return to the query that you're building. このクエリは、選択したフィルターと値によって更新されます。Your query is updated with your selected filter and value. 以前の結果もフィルター処理されています。Your previous results are now filtered too.

    フィルター処理された結果が表示されているクエリに戻る

  9. クエリを将来使用するために保存するには、[保存] を選択します。To save your query for future use, choose Save. クエリの保存方法を確認してください。Learn how to save your query.

診断データを他のサービスで使用する方法と場所を拡張するExtend how and where you use diagnostic data with other services

Azure Log Analytics と併せて、ロジック アプリの診断データを他の Azure サービスで使用する方法を次のように拡張できます。Along with Azure Log Analytics, 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 options that you want set up, make sure that you first create an Azure storage account or create an Azure event hub. その後、診断データの送信先のオプションを選択してください。Then select the options for where you want to send diagnostic data:

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

注意

保有期間は、ストレージ アカウントの使用を選択した場合にのみ適用されます。Retention periods apply only when you choose to use a storage account.

ロジック アプリのアラートを設定するSet up alerts for your logic app

ご利用のロジック アプリの特定のメトリックまたは超過したしきい値を監視するには、Azure のアラートを設定します。To monitor specific metrics or exceeded thresholds for your logic app, set up alerts in Azure. Azure のメトリックについて確認してください。Learn about metrics in Azure.

Azure Log Analytics を使用せずにアラートを設定するには、次の手順に従います。To set up alerts without Azure Log Analytics, follow these steps. 高度なアラートの条件とアクションの場合は、Log Analytics も設定してくださいFor more advanced alerts criteria and actions, set up Log Analytics too.

  1. ロジック アプリ ブレードのメニューの [監視] で、次に示すように、[診断] > [アラート ルール] > [アラートの追加] の順に選択します。On the logic app blade menu, under Monitoring, choose Diagnostics > Alert rules > Add alert as shown here:

    ロジック アプリのアラートを追加する

  2. [アラート ルールの追加] ブレードで、次のようにアラートを作成します。On the Add an alert rule blade, create your alert as shown:

    1. [リソース] で、ご利用のロジック アプリを選択します (まだ選択されていない場合)。Under Resource, select your logic app, if not already selected.
    2. アラートの名前と説明を指定します。Give a name and description for your alert.
    3. 追跡するメトリックまたはイベントを選択します。Select a Metric or event that you want to track.
    4. 条件を選択し、メトリックのしきい値を指定して、このメトリックを監視する期間を選択します。Select a Condition, specify a Threshold for the metric, and select the Period for monitoring this metric.
    5. このアラートに関するメールを送信するかどうかを選択します。Select whether to send mail for the alert.
    6. アラートを送信する場合は、その他のメール アドレスを指定します。Specify any other email addresses for sending the alert. また、アラートの送信先の webhook URL も指定できます。You can also specify a webhook URL where you want to send the alert.

    たとえば、次のルールでは、1 時間以内に 5 件以上の実行が失敗したときにアラートを送信します。For example, this rule sends an alert when five or more runs fail in an hour:

    メトリックのアラート ルールを作成する

ヒント

アラートからロジック アプリを実行するために、要求トリガーをワークフローに含めることができます。これにより、次の例のようなタスクを実行できます。To run a logic app from an alert, you can include the request trigger in your workflow, which lets you perform tasks like these examples:

Azure 診断イベントの設定と詳細Azure Diagnostics event settings and details

各診断イベントには、ご利用のロジック アプリとそのイベントに関する詳細 (状態、開始時刻、終了時刻など) が含まれています。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 診断用 REST API で使用できます。To programmatically set up monitoring, tracking, and logging, you can use these details with the REST API for Azure Logic Apps and the REST API for Azure Diagnostics.

たとえば、ActionCompleted イベントには、追跡と監視に使用できる clientTrackingId プロパティと trackedProperties プロパティがあります。For example, the ActionCompleted event has the clientTrackingId and trackedProperties properties that you can use for tracking and monitoring:

{
    "time": "2016-07-09T17:09:54.4773148Z",
    "workflowId": "/SUBSCRIPTIONS/<subscription-ID>/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/MYLOGICAPP",
    "resourceId": "/SUBSCRIPTIONS/<subscription-ID>/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/MYLOGICAPP/RUNS/08587361146922712057/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": "cff00d5458f944d5a766f2f9ad142553",
            "workflowName": "MyLogicApp",
            "runId": "08587361146922712057",
            "location": "westus",
            "actionName": "Http"
        },
        "correlation": {
            "actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
            "clientTrackingId": "<my-custom-tracking-ID>"
        },
        "trackedProperties": {
            "myTrackedProperty": "<value>"
        }
    }
}
  • 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 from 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: To track inputs or outputs in diagnostics data, you can add tracked properties to actions 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 one or more properties, add the trackedProperties section and the properties you want to the action definition. たとえば、"オーダー ID" などテレメトリ内のデータを追跡する場合は次のとおりです。For example, suppose you want to track data like an "order ID" in your telemetry:

    "myAction": {
      "type": "http",
      "inputs": {
          "uri": "http://uri",
          "headers": {
              "Content-Type": "application/json"
          },
          "body": "@triggerBody()"
      },
      "trackedProperties": {
          "myActionHTTPStatusCode": "@action()['outputs']['statusCode']",
          "myActionHTTPValue": "@action()['outputs']['body']['<content>']",
          "transactionId": "@action()['inputs']['body']['<content>']"
      }
    }
    

次の手順Next steps