---
title: Install Serverless Monitoring for Azure Logic Apps
description: >-
  Set up tracing and log forwarding for Azure Logic Apps using the Datadog Azure
  Automated Log Forwarding service and optional APM retention filters.
breadcrumbs: >-
  Docs > Serverless > Serverless Monitoring for Azure Logic Apps > Install
  Serverless Monitoring for Azure Logic Apps
---

# Install Serverless Monitoring for Azure Logic Apps

{% callout %}
##### Join the Preview!

Serverless Monitoring for Azure Logic Apps is in Preview. Complete the form to request access.

[Request Access](https://www.datadoghq.com/product-preview/serverless-monitoring-for-azure-logic-apps/)
{% /callout %}

Azure Logic Apps is a fully managed service, and the Datadog Agent cannot be directly installed on Logic Apps. However, Datadog can monitor Logic Apps through Azure diagnostic logs.

## Prerequisites{% #prerequisites %}

- The [Azure Automated Log Forwarding](https://docs.datadoghq.com/logs/guide/azure-automated-log-forwarding.md) service must be installed

## Setup{% #setup %}

### 1. Install Datadog Azure Automated Log Forwarding

Follow the instructions in the [Azure Automated Log Forwarding guide](https://docs.datadoghq.com/logs/guide/azure-automated-log-forwarding.md) to install the service and setup tags for filtering the intended resource logs. Once installed, all new Logic Apps will automatically have log forwarding configured to send diagnostic logs to Datadog.

**Note**: The Azure Automated Log Forwarding service creates a diagnostic setting named `datadog_log_forwarding_<ID>` on each Logic App. This setting captures workflow execution logs and forwards them to Datadog.

### 2. Configure tags (optional but recommended)

Add `service` and `env` tags to your Logic Apps to organize and filter your workflows in Datadog.

1. In the Azure Portal, open your Logic App
1. Navigate to the **Tags** section
1. Add the following tags:
   - `env`: The environment name (for example, `dev`, `staging`, or `prod`)
   - `service`: The service name for your Logic App

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/tags_configuration.37b5ab86581a14116031ecc7edaab5d2.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/tags_configuration.37b5ab86581a14116031ecc7edaab5d2.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Azure Logic App tags configuration showing env and service tags" /%}

The `env` tag is required to see traces in Datadog and defaults to `dev` if not set. The `service` tag defaults to the Logic App's workflow name if not set.

### 3. Invoke the workflow

After configuring log forwarding, invoke your Logic App workflow a couple of times to generate execution data.

### 4. Verify traces in Datadog

Use Live Search in Datadog APM to verify that traces are being received:

1. Navigate to [APM > Traces](https://app.datadoghq.com/apm/traces?query=operation_name%3Aazure.logicapps) in Datadog
1. Use the query `operation_name:azure.logicapps` to filter for Logic Apps traces
1. Live Search returns all spans without sampling, so you should see your executions after they complete

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/apm_live_search.2f610006a91cd354369a4a3d748b0d3a.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/apm_live_search.2f610006a91cd354369a4a3d748b0d3a.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Datadog APM Live Search showing azure.logicapps traces" /%}

## Additional configuration{% #additional-configuration %}

### Add a retention filter for APM spans (recommended){% #add-a-retention-filter-for-apm-spans-recommended %}

To control which traces are retained beyond the default live search period, add a retention filter:

1. In Datadog, search for **Retention Filters** (use Cmd+K and type "retention filters")
1. Click **Add Retention Filter**
1. Set the filter query to `operation_name:azure.logicapps`
1. Add any additional filters for your service, such as `service:<SERVICE_NAME>` and `env:<ENV_NAME>`
1. Configure the retention rate based on your needs

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/retention_filter_search.f44a3555235da9328a3f5e15b83655ad.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/retention_filter_search.f44a3555235da9328a3f5e15b83655ad.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Search for Retention Filters in Datadog" /%}

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/retention_filter_configuration.c45fa36863c48169fb5ff18a6ac4c836.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/retention_filter_configuration.c45fa36863c48169fb5ff18a6ac4c836.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Configure retention filter with operation_name:azure.logicapps query" /%}

Adding service and env tags to your retention filter helps save costs by retaining traces only for important environments and services.

See [Trace Retention](https://docs.datadoghq.com/tracing/trace_pipeline/trace_retention.md) for more information.

### Add a log index (recommended){% #add-a-log-index-recommended %}

To enable searching and analyzing historic Logic Apps logs, create a dedicated log index:

1. In Datadog, search for **Indexes** (use Cmd+K and type "index")
1. Navigate to **Logs > Configuration > Indexes**
1. Click **New Index**
1. Set the filter to `@properties.resource.workflowId:*`
1. Configure the index name and retention settings

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/log_index_search.10e2964716ca0cc9d7dca6e5bb75a839.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/log_index_search.10e2964716ca0cc9d7dca6e5bb75a839.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Search for Log Indexes in Datadog" /%}

{% image
   source="https://docs.dd-static.net/images/serverless/logic_apps/log_index_configuration.3de99d2031b386f3d053ef104c63d651.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/serverless/logic_apps/log_index_configuration.3de99d2031b386f3d053ef104c63d651.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Configure log index with workflowId filter" /%}

See [Log Indexes](https://docs.datadoghq.com/logs/log_configuration/indexes.md) for more information.

**Note**: Indexing logs may incur additional costs. Consider your retention requirements and budget when configuring indexes.

## See your Logic App traces in Datadog{% #see-your-logic-app-traces-in-datadog %}

After invoking your Logic App:

1. In Datadog, go to [**APM > Traces**](https://app.datadoghq.com/apm/traces?query=operation_name%3Aazure.logicapps).
1. Select **Live Search** in the upper right corner.
1. Search for `operation_name:azure.logicapps` to find your traces.

If you cannot see your traces, see [Troubleshooting](https://docs.datadoghq.com/serverless/logic_apps/troubleshooting.md).

## Further Reading{% #further-reading %}

- [Azure Integration](https://docs.datadoghq.com/integrations/azure.md)
- [Azure Automated Log Forwarding](https://docs.datadoghq.com/logs/guide/azure-automated-log-forwarding.md)
