Skip to content

Commit

Permalink
Merge pull request #19616 from newrelic/NR-336708-azure-function-moni…
Browse files Browse the repository at this point in the history
…toring

feat(serverless monitoring): Azure functions monitoring
  • Loading branch information
WriteMayur authored Jan 8, 2025
2 parents 94fd907 + 26c537c commit 9c3e494
Show file tree
Hide file tree
Showing 7 changed files with 495 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
title: Compatibility and requirements for instrumenting Azure functions
metaDescription: Azure function monitoring agent compatibility and requirements.
freshnessValidatedDate: never
---

Before you [instrument Azure Functions](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/configure-serverless-aws-monitoring), make sure your system meets the following requirements.

## Basic requirements [#requirements]


* Azure Functions hosted on [consumption plan](https://learn.microsoft.com/en-us/azure/azure-functions/consumption-plan) or [dedicated plan](https://learn.microsoft.com/en-us/azure/azure-functions/dedicated-plan).

* 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](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model/#roles) or an [Infrastructure manager role](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on).

* A <InlinePopover type="userKey" />.

* .NET agent version 10.30 or above.


<Callout variant="tip" title="NOTE">

End-to-end distributed tracing is supported only for HTTP requests. Additionally, traces for calls to external services, such as Databases, and Service Bus, are still available.
</Callout>





## Supported runtimes

Based on your hosting environment, the following runtimes are supported.

<Tabs>
<TabsBar>

<TabsBarItem id="1">Linux</TabsBarItem>
<TabsBarItem id="2">Windows</TabsBarItem>
<TabsBarItem id="3">Containerized functions</TabsBarItem>

</TabsBar>
<TabsPages>


<TabsPageItem id="1">
* .NET: `dotnet6.0`, `dotnet8.0`

</TabsPageItem>


<TabsPageItem id="2">

* .NET: `dotnet6.0`, `dotnet8.0`

</TabsPageItem>

<TabsPageItem id="3">

* .NET: `dotnet6.0`, `dotnet8.0`
</TabsPageItem>

</TabsPages>

</Tabs>

## What's next

<DocTiles>
<DocTile title="Install and configure Azure Functions monitoring" path="/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring" >Get started with instrumentation and configuration for your Azure Functions</DocTile>

</DocTiles>




Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
title: Environment variables for Azure function monitoring
metaDescription: "Configure environment variables to monitor your Azure functions with New Relic"
freshnessValidatedDate: never
tags:
- AWS Lambda
- Environment Variables
- Configuration
- Secrets Management
---
Environment variables are a way to store configuration and secrets outside of your code. The following tables display the mandatory variables and runtime specific variables that you can set to monitor your Azure functions with New Relic.

<table>
<thead>
<tr>
<th>Environment variable</th>
<th>Default value</th>
<th>Options</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>`CORECLR_ENABLE_PROFILING`</td>
<td>`0`</td>
<td>`0`, `1`</td>
<td>**Required**. Enable profiling by setting this to `1`.</td>
</tr>
<tr>
<td>`CORECLR_PROFILER`</td>
<td></td>
<td></td>
<td>**Required**. Set this to enable the .NET agent.</td>
</tr>
<tr>
<td>`CORECLR_NEWRELIC_HOME`</td>
<td></td>
<td></td>
<td>**Required**. Set this to enable the .NET agent.</td>
</tr>
<tr>
<td>`CORECLR_PROFILER_PATH`</td>
<td></td>
<td></td>
<td>**Required**. Set this to enable the .NET agent.</td>
</tr>

<tr>
<td>`NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`</td>
<td>`true`</td>
<td>`true`, `false`</td>
<td>Generate traces by enabling distributed tracing.</td>
</tr>

<tr>
<td>`NEW_RELIC_APP_NAME`</td>
<td></td>
<td></td>
<td>Set the application name, though it is not used in the New Relic UI.</td>
</tr>
<tr>
<td>`NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED`</td>
<td>`1`</td>
<td>`1`, `0`</td>
<td>Disable Azure Functions mode by setting the value to `0`.</td>
</tr>
<tr>
<td>`NEW_RELIC_LOG_DIRECTORY`</td>
<td></td>
<td></td>
<td>Modify the location where you want to stroe the agent and profiler logs. </td>
</tr>
<tr>
<td>`NEW_RELIC_LOG_LEVEL`</td>
<td>`info`</td>
<td>`info`, `debug`, `finest`</td>
<td>Set the agent log level.</td>
</tr>
</tbody>
</table>


## What's next

<DocTiles>
<DocTile title="Install and configure Azure Functions monitoring" path="/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring" >Get started with instrumentation and configuration for your Azure Functions</DocTile>

</DocTiles>
Loading

0 comments on commit 9c3e494

Please sign in to comment.