Docs » Integrations Guide » Monitor Azure Functions

Monitor Azure Functions

SignalFx enables you to monitor the health and performance of your Azure functions via metrics on total invocations, errors, and durations. In addition, you can easily send custom application or business metrics from within your Azure functions.

  • If you have enabled the SignalFx Microsoft Azure integration and are syncing Azure metrics, those metrics will automatically be available to view in SignalFx charts and dashboards. We also import Azure resource metadata.
  • You can use one of our language-specific wrappers to monitor your functions. Using a wrapper lets you see invocations, errors and durations for your functions in real time. The wrapper also provides a way for you to send in custom application or business metrics from within an Azure function, analogous to what you can do with our client libraries for code running in non-Azure environments.

As with any other metric, custom metrics from Azure functions can be used in charts or detectors. To monitor the health and performance of your Azure functions, you can use our built-in Azure dashboards (discussed below) or the Infrastructure Navigator.

Using the built-in dashboards for Azure functions

SignalFx provides two sets of dashboards for Azure functions.

  • One set of dashboards reflects metrics that are sent in automatically if you are syncing with Azure Monitor. The Azure Function App is a dashboard that shows metrics for an individual Function App, and the Azure Function Apps dashboard is an overview (summary) dashboard that shows metrics all Azure Function Apps.
  • Another set of dashboards reflects metrics sent in via one of our wrappers. The Azure Function dashboard shows metrics emitted by the wrapper for an individual function, and the Azure Functions dashboard shows an overview of all functions via metrics emitted by the SignalFx wrapper.

If you are using both Azure Monitor and one of our wrappers, you will see four built‑in dashboards, as shown in the illustrations below.

Azure Function App

Use this dashboard to view invocations, errors, compute duration, bytes received, and bytes sent, sent from Azure Monitor, for a Function App you specify in the Overrides bar.

../_images/azure_function_app.png

Azure Function Apps

Use this dashboard to view a summary of invocation, error, and duration metrics for multiple functions. By default, data for all functions is represented. To narrow down the view to specific functions, use the Filter option.

../_images/azure_function_apps.png

Azure Function

Use this dashboard to view a summary of invocation, error, and duration metrics, emitted by the SignalFx Azure Function wrapper, for an individual function.

../_images/signalfx_azure_function.png

Azure Functions

Use this dashboard to view a summary of invocation, error, and duration metrics for all functions being monitored by the SignalFx Azure Function wrapper.

../_images/signalfx_azure_functions.png

Using the Infrastructure Navigator for Azure Functions

SignalFx provides two navigator views for Azure Functions. One view is for Azure Function Apps with metrics emitted from Azure Monitor. To open the Infrastructure Navigator for Azure Function Apps, hover over Infrastructure on the navigation bar and select Azure Function Apps. Each host displayed represents one Function App.

The other Infrastructure Navigator view for Azure Functions displays a list of all the Function Apps that are currently running in Azure with at least 1 function using the provided wrapper to emit metrics. The top portion of the screen displays stats on each function app. The bottom portion displays a set of information tabs containing data for the function, and may also contain additional dashboards on the right side. By default, aggregate data for all Azure functions is represented when you open the Infrastructure Navigator.

The image below shows the Function Apps view in the Infrastructure Navigator. Each element represents and invidivual Function App. The System Metrics tab displayed is the Azure Function Apps dashboard.

../_images/nav_function_apps.png
  • To see metrics for a specific Function App, click an individual element. In the following illustration, the default dashboard displayed in the System Metrics tab is the Azure Function App dashboard. You can use the other information tabs to view active alerts, properties, and a list of available metrics for the function.

    ../_images/nav_function_app.png

In the following illustration, the default dashboard displayed in the System Metrics tab is the Azure Functions dashboard. The corresponding dashboard for metrics from Azure Monitor, Azure Function Apps, is also available. You can also see currently active alerts for running functions in the Alerts tab.

../_images/nav_functions_wrapper.png
  • To see metrics for a specific function, click the function name. In the following illustration, the default dashboard displayed in the System Metrics tab is the Azure Function dashboard. The corresponding dashboard for metrics sent using our wrappers, Azure Function App, is also available (because both Azure Monitor and a wrapper apply to this function). You can use the other information tabs to view active alerts, properties, and a list of available metrics for the function.

    ../_images/nav_function_wrapper.png
  • To return to the default display of all functions, deselect the selected item in the functions list.

Using wrappers to monitor Azure functions and apps

In addition to (or instead of) using Azure Monitor data to monitor Azure Function Apps, you can also use one of our wrappers. Each wrapper sends standard monitoring metrics in real time, but a wrapper also lets you send custom metrics to monitor the apps running inside your Azure functions. We provide wrappers for NodeJS, C#, and Java.

The Azure wrappers send the following metrics to SignalFx:

Metric Name Type Description
azure.function.invocations Counter Count of function invocations
azure.function.errors Counter Count of errors from underlying Azure Function handler
azure.function.duration Gauge Milliseconds in execution time of underliny Azure Function handler

The Azure wrappers add several dimensions to datapoints sent to SignalFx. These dimensions can be used for filtering and aggregation.

Dimension Description
azure_function_name Name of Azure Function
azure_resource_name Name of Function App
azure_region Azure region where the function is executed
function_wrapper_version SignalFx function wrapper qualifier (e.g. signalfx-azurefunction-0.0.11)
is_Azure_Function Used to differentiate App Service metrics from Function App metrics
metric_source The literal value of ‘azure_function_wrapper’

If you want to monitor custom metrics you are sending from your apps, you can create a new dashboard and create charts for those metrics, or you can copy the Azure dashboard(s) and then add charts to the copies.