--- id: azure-functions title: Azure Functions sidebar_label: Azure Functions keywords: - azure functions - azure functions app - azure functions monitoring description: This document outlines what are Azure Functions, how to set it up with Sumo Logic, and how to install and view the pre-configured Sumo Logic Azure dashboards. slug: /help/docs/integrations/microsoft-azure/azure-functions/ canonical: https://www.sumologic.com/help/docs/integrations/microsoft-azure/azure-functions/ --- import useBaseUrl from '@docusaurus/useBaseUrl'; Azure Functions icon [Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview) is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. This integration helps in monitoring the health, tracking executions, and estimating the cost of your function apps. ## Log and metric types The Sumo Logic app for Azure Functions app uses the following log and metrics types: * **Function Application Logs**. Log generated by the Function App. It includes the logs emitted by the Functions host and logs emitted by customer code. Use these logs to monitor application health, performance, and behavior. For more information on supported metrics, refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/functionapplogs). * **App Service Authentication Logs**. App Service Authentication Logs are generated for common *Warning* and *Error* logs from the App Service authentication requests. For more information on supported metrics, refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/appserviceauthenticationlogs). To learn more about configuring monitoring for Azure functions, refer to the [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-functions/configure-monitoring). * **Activity logs**. Provides insight into any subscription-level or management group level events that have occurred in Azure. To learn more, refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema). * **Azure Functions specific metrics**. These are metrics specific to Functions like execution count and execution units. For more information on supported metrics, refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/azure-functions/monitor-functions-reference#azure-functions-specific-metrics). * **General App Service metrics**. Metrics which App Service platform implements. These metrics are available in the `Microsoft.Web/sites` namespace. For more information on supported metrics, refer to [Azure documentation](https://learn.microsoft.com/en-us/azure/app-service/web-sites-monitor#understand-metrics). ### Sample queries ```sql title="Error by function app" tenant_name=* subscription_id=* location=* resource_group=* provider_name=microsoft.web resource_type=sites resource_name=* (metric=Http4xx or metric=Http5xx) statistic=total ``` ## Setup Azure service sends monitoring data to Azure Monitor, which can then [stream data to Eventhub](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/stream-monitoring-data-event-hubs). Sumo Logic supports: * Logs collection from [Azure Monitor](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-get-started) using our [Azure Event Hubs source](/docs/send-data/collect-from-other-data-sources/azure-monitoring/ms-azure-event-hubs-source/). * Metrics collection using our [Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source). You must explicitly enable diagnostic settings for each Azure Functions you want to monitor. Diagnostic Settings are not supported for function apps running on version 1.x. You can forward logs to the same Event Hub provided they satisfy the limitations and permissions as described [here](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings?tabs=portal#destination-limitations). When you configure the event hubs source or HTTP source, plan your source category to ease the querying process. A hierarchical approach allows you to make use of wildcards. For example: `Azure/FunctionApp/Logs`, `Azure/FunctionApp/Metrics`. ### Configure collector Create a hosted collector if not already configured and tag the `tenant_name` field. You can get the tenant name using the instructions [here](https://learn.microsoft.com/en-us/azure/active-directory-b2c/tenant-management-read-tenant-name#get-your-tenant-name). Make sure you create the required sources in this collector.
Azure Tag Tenant Name ### Configure metrics collection import MetricsSource from '../../reuse/metrics-source.md'; ### Configure logs collection #### Diagnostic logs In this section, you will configure a pipeline for shipping diagnostic logs from [Azure Monitor](https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-get-started) to an Event Hub. 1. To set up the Azure Event Hubs source in Sumo Logic, refer to the [Azure Event Hubs Source for Logs](/docs/send-data/collect-from-other-data-sources/azure-monitoring/ms-azure-event-hubs-source/). 2. To create the **Diagnostic setting** in the Azure portal, refer to the [Azure documentation](https://learn.microsoft.com/en-gb/azure/data-factory/monitor-configure-diagnostics). Perform the steps below for each Azure Functions that you want to monitor. 1. Choose `Stream to an event hub` as the destination. 1. Select `AllMetrics`. 1. Use the Event Hub namespace and Event Hub name configured in the previous step in the destination details section. You can use the default policy `RootManageSharedAccessKey` as the policy name.
Azure Functions app Tag Location 3. Tag the location field in the source with the right location value.
Azure Functions app Tag Location #### Activity logs (optional) import ActivityLogs from '../../reuse/apps/azure-activity-logs.md'; ##### Enabling Microsoft Defender for Cloud For Security events, make sure you enable [Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/tutorial-enable-app-service-plan#enable-the-defender-for-app-service-plan). In Defender Plans Settings page toggle the App Service status under Cloud Workload Protection section. Edit Settings Cloud Defender Plans ##### Enabling health check metric For getting the health check metric, make sure you enable **Health check** under the **Monitoring** dropdown. Enable Health Check Metric ## Installing the Azure Functions app This section provides instructions on how to install the Azure Functions app and shows examples of each of the preconfigured dashboards you can use to analyze your data. import AppInstallIndexV2 from '../../reuse/apps/app-install-index-option.md'; As part of the app installation process, the following fields will be created by default: - `tenant_name`. This field is tagged at the collector level. You can get the tenant name using the instructions [here](https://learn.microsoft.com/en-us/azure/active-directory-b2c/tenant-management-read-tenant-name#get-your-tenant-name). - `location`. The region to which the resource name belongs to. - `subscription_id`. ID associated with a subscription where the resource is present. - `resource_group`. The resource group name where the Azure resource is present. - `provider_name`. Azure resource provider name (for example, Microsoft.Network). - `resource_type`. Azure resource type (for example, storage accounts). - `resource_name`. The name of the resource (for example, storage account name). - `service_type`. Type of the service that can be accessed with a Azure resource. - `service_name`. Services that can be accessed with an Azure resource (for example, in Azure Container Instances the service is Subscriptions). ## Viewing the Azure Functions dashboards import ViewDashboardsIndex from '../../reuse/apps/view-dashboards-index.md'; ### Overview The **Azure Functions - Overview** dashboard provides comprehensive information on all the service health incidents or resource health events associated with Azure Functions in your Azure account. Use this dashboard to: * View recent resource and service health incidents. * View distribution of service and resource health by incident type. Azure Functions Overview dashboard ### Cost The **Azure Functions - Cost** dashboard provides information about the expenses associated with your Azure Functions. This includes details on the cost of resources, usage trends, and cost management insights. Use this dashboard to: * Monitor and analyze your spending on Azure Functions. * Review cost trends and identify areas where you can optimize spending. * Access detailed billing information and cost breakdowns. Azure Functions Cost dashboard ### Error The **Azure Functions - Error** dashboard provides insights into errors encountered by your Azure Functions. This includes error rates, types of errors, and patterns over time. Use this dashboard to: * Track and investigate error occurrences in your Azure Functions. * Identify and diagnose recurring error patterns. * Review error logs and detailed reports to improve function reliability. Azure Functions Error dashboard ### Memory The **Azure Functions - Memory** dashboard provides information on memory usage and consumption by your Azure Functions. This includes metrics on memory allocation, usage patterns, and any potential memory issues. Use this dashboard to: * Monitor memory consumption and efficiency of your Azure Functions. * Identify and address memory-related performance issues. * Analyze trends in memory usage to optimize function performance. Azure Functions Memory dashboard ### Network The **Azure Functions - Network** dashboard provides details on network traffic and connectivity related to your Azure Functions. This includes data on inbound and outbound traffic, network latency, and potential network issues. Use this dashboard to: * Track network activity and performance of your Azure Functions. * Diagnose network-related issues and connectivity problems. * Monitor network usage and optimize network configuration. Azure Functions Network dashboard ### Operations The **Azure Functions - Operations** dashboard provides an overview of operational metrics and activities related to your Azure Functions. This includes I/O Read, Write bytes/second and I/O Read, Write operations/second. Use this dashboard to: * Monitor the operational status and health of your Azure Functions. * Review deployment activities and execution metrics. * Analyze operational trends and optimize function management. Azure Functions Operations dashboard ### OS Statistics The **Azure Functions - OS Statistics** dashboard provides information on operating system metrics and statistics relevant to your Azure Functions. This includes details on current assemblies, the number of processor threads, and other OS-level performance indicators. Use this dashboard to: * Track OS-level performance metrics impacting your Azure Functions. * Monitor Current assemblies, threads, and handles for optimal performance. * Identify and address OS-related performance issues. Azure Functions OS Statistics dashboard ### Performance The **Azure Functions - Performance** dashboard provides insights into the performance of your Azure Functions. This includes metrics on execution times, throughput, and overall function efficiency. Use this dashboard to: * Monitor and analyze the performance of your Azure Functions. * Identify performance bottlenecks and optimize function execution. * Review performance metrics and trends to ensure optimal function performance. Azure Functions Performance dashboard ### Health The **Azure Functions - Health** dashboard provides information on any service health incidents or resource health events associated with Azure Functions in your Azure account. Use this dashboard to: * View recent resource and service health incidents. * View distribution of service and resource health by incident type. Azure Functions health dashboard ### Policy and Recommendations The **Azure Functions - Policy and Recommendations** dashboard provides information on all effect action operations performed by Azure policy and recommendations events from Azure Advisor. Use this dashboard to: * Monitor policy events with warnings and errors. * View recent failed policy events. * View total recommendation events. * Identify High Impact recommendations. * View recent recommendation events and navigate to the affected resource. Azure Functions - Policy and Recommendations dashboard ### Administrative Operations The **Azure Functions - Administrative Operations** dashboard provides details on read/write/delete specific changes, different operations used, the top 10 operations that caused the most errors, and users performing admin operations. Use this dashboard to: * Identify top users performing administrative operations. * View the Top 10 operations that caused the most errors. * View recent read, write, and delete operations. Azure Functions Administrative Operations dashboard ### Instances The **Azure Functions - Instances** dashboard provides information of all effect action details performed based on Azure Functions Instances. Use this dashboard to: * View recent resource usage and performance based on Instances. * View distribution and service usage of resources by Instance. Azure Functions Instances dashboard ## Create monitors for Azure Functions app import CreateMonitors from '../../reuse/apps/create-monitors.md'; ### Azure Functions alerts These alerts are metrics-based and will work for all Functions. | Alert Name | Description | Alert Condition | Recover Condition | |:------------------------------------------|:-------------------------------------------------------------------------------------------|:----------------|:------------------| | `Azure Functions - Average Response Time` | This alert gets triggered when there is high response time detected in any Azure Function. | Count < 1 | Count >= 1 | | `Azure Functions - Delete function app` | This alert gets triggered when a function app is deleted. | Count >= 1 | Count < 1 | | `Azure Functions - Health Check Status` | This alert gets triggered when there is Health Check Status average drops less than 100. | Count < 100 | Count >= 100 | | `Azure Functions - Http 4xx Error` | This alert gets triggered when HTTP 4xx errors are high in the Azure Functions. | Count > 25 | Count =< 25 | | `Azure Functions - Https Server Error` | This alert gets triggered when HTTP 5xx errors are high in the Azure Functions. | Count > 25 | Count =< 25 | ## Upgrade/Downgrade the Azure Functions app (Optional) import AppUpdate from '../../reuse/apps/app-update.md'; ## Uninstalling the Azure Functions app (Optional) import AppUninstall from '../../reuse/apps/app-uninstall.md'; ## Troubleshooting ### Metrics collection via Azure Metrics Source To troubleshoot metrics collection via Azure Metrics Source, follow the instructions in [Troubleshooting Azure Metrics Source](/docs/send-data/hosted-collectors/microsoft-source/azure-metrics-source/#troubleshooting). ## Additional resources - Blog: [Azure monitoring and troubleshooting](https://www.sumologic.com/blog/azure-services-monitoring) - Glossary: [Microsoft Azure](https://www.sumologic.com/glossary/microsoft-azure)