---
title: Compatibility and requirements for instrumenting Azure functions
source: https://docs.newrelic.com/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring
---

Before you [instrument Azure Functions](https://docs.newrelic.com/docs/serverless-function-monitoring/azure-function-monitoring/introduction-azure-monitoring/#config), make sure your system meets the following requirements.

## Basic requirements [#requirements]

-   You must have the [required permission to access kudu service](https://learn.microsoft.com/en-us/azure/app-service/resources-kudu#access-kudu-for-your-app).

-   A New Relic account with either an [admin role](https://docs.newrelic.com/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model/#roles) or an [Infrastructure manager role](https://docs.newrelic.com/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on).

-   A user key.

-   Azure Functions hosted on either any of the following plan:
    -   [Consumption plan](https://learn.microsoft.com/en-us/azure/azure-functions/consumption-plan)
    -   [Flex consumption plan](https://learn.microsoft.com/en-us/azure/azure-functions/flex-consumption-plan)
    -   [Premium plan](https://learn.microsoft.com/en-us/azure/azure-functions/functions-premium-plan)
    -   [Dedicated plan](https://learn.microsoft.com/en-us/azure/azure-functions/dedicated-plan)

## Supported runtimes

Based on your hosting environment, the following Azure Function runtime stacks are supported.

### Linux

| Runtime | Requirements                                                                                                                                        |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Node.js | - New Relic NodeJS agent version `12.18.0` or above. - NodeJS version 18 or above.                                                                  |
| Python  | - New Relic Python agent version `10.14.0` or above. - Python version 3.9 or above.                                                                 |
| .NET    | - New Relic .NET agent version `10.37.0` or above, or `10.46.0` or above for .NET 10. - .NET stack: - .NET 8, 9, and 10, isolated worker model only |

### Windows

| Runtime | Requirements                                                                                                                                                                                                                                                                      |
| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Node.js | - New Relic NodeJS agent version `12.18.0` or above. - NodeJS version 18 or above.                                                                                                                                                                                                |
| .NET    | - New Relic .NET agent version `10.37.0` or above, or `10.46.0` or above for .NET 10. - .NET stack, isolated worker model: - .NET 8, 9, and 10 - .NET Framework 4.8 - .NET stack, in-process model: - .NET 8 (.NET agent version 10.39.0 and later; 10.40.0 or later recommended) |

### Containerized functions

| Runtime | Requirements                                                                                                                                   |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Node.js | - New Relic NodeJS agent version `12.18.0` or above. - NodeJS version 18 or above.                                                             |
| Python  | - New Relic Python agent version `10.14.0` or above. - Python version 3.9 or above.                                                            |
| .NET    | - New Relic .NET agent version `10.37.0` or above, or `10.46.0` or above for .NET 10. - .NET stack: - .NET 8, 9, and 10, isolated worker model |

## Supported triggers and Distributed Tracing

**For NodeJS**

You can instrument the following trigger type:

-   HttpTrigger
-   HTTPTrigger for response streaming
-   TimerTrigger

**For Python**

You can instrument the following trigger type:

-   HttpTrigger

**For .NET**

You can instrument all trigger types. Distributed tracing is supported in the following cases:

-   Isolated worker model:
    -   HttpTrigger
        -   The agent reads distributed trace headers from the inbound HTTP request.
-   In-process model (.NET agent version 10.39.0 and later):
    -   HttpTrigger
        -   The agent reads distributed trace headers when the function method has a parameter of type `Microsoft.AspNetCore.Http.DefaultHttpRequest`, `Microsoft.AspNetCore.Http.HttpRequest`, or `System.Net.Http.HttpRequestMessage`.
    -   ServiceBusTrigger
        -   The agent reads inbound distributed trace headers from the `ApplicationProperties` collection of the received message.
        -   The agent inserts distributed trace headers into the `ApplicationProperties` collection of outbound Service Bus messages.
        -   Service Bus distributed tracing requires the `Azure.Messaging.ServiceBus` library. Apps that use the older `Microsoft.Azure.ServiceBus` library aren't supported.

## Related articles [#related-docs]

[Linux instrumentation](https://docs.newrelic.com/docs/serverless-function-monitoring/azure-function-monitoring/linux)

Learn how to set up your Azure Functions for Linux to monitor them in New Relic.

[Windows instrumentation](https://docs.newrelic.com/docs/serverless-function-monitoring/azure-function-monitoring/windows)

Learn how to set up your Azure Functions for Windows to monitor them in New Relic.

[Container instrumentation](https://docs.newrelic.com/docs/serverless-function-monitoring/azure-function-monitoring/container)

Learn how to set up your Azure Functions for Containers to monitor them in New Relic.
