Microsoft Azure Functions Monitoring Tool


Microsoft Azure Functions - An Overview

Microsoft Azure Functions is a serverless compute service offered by Microsoft as part of the Azure cloud computing platform. Azure Functions allows developers to build, deploy, and run event-driven functions or applications without the need to manage infrastructure. Monitoring Microsoft Azure Functions is essential for maintaining the health, performance, and reliability of serverless applications running on the Azure Functions platform. Applications Manager's Azure Functions Monitoring tool provides various features for monitoring, helping you gain insights into their behavior and troubleshoot issues effectively. Read on to learn about the key aspects of monitoring Azure Functions.

Creating a new Microsoft Azure Functions Monitor

To learn how to create a new Microsoft Azure Functions Monitor, click here.

Monitored Parameters

Navigate to the Category View by clicking the Monitors tab. Hover over 'Child Monitors' under Microsoft Azure in the Cloud Apps table, and then select the Functions monitor from the displayed tooltip. This action will display the bulk configuration view for Azure Functions in three tabs:

  • Availability tab gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Azure monitoring tools like Applications Manager's Microsoft Azure monitor provides a brief detail of the Azure Functions under the given subscription. Following are the list of metrics monitored in Azure Functions Monitoring tool in their corresponding tabs:

Overview

Parameter Description
WEB APP STATUS
Default Host Name The default hostname of the function app.
Functions App Availbility State The management information availability state of the app. Possible values:
  • DisasterRecoveryMode
  • Limited
  • Normal
Function App State The current state of the app. Possible values: Running/Stopped.
Function App Usage This indicates whether the app has exceeded its quota usage or not. Possible values: Exceeded/Normal.
FUNCTION EXECUTION UNITS
Function Execution Units The total Function execution units between the poll interval (in GB-s). GB-s is a combination of execution time and your memory usage. Azure Functions uses this billing model to determine the cost associated with running your serverless functions.
FUNCTION EXECUTION RATE
Function Execution Rate The total Function Execution Rate per minute between the poll interval (in executions/min). The function execution count indicates the number of times your function app has executed. This value correlates to the number of times a function runs in your app.
RESPONSE TIME
Response Time The average time taken for the app to serve requests between the poll interval (in milliseconds).
FILE SYSTEM USAGE
File System Usage The average amount of storage space that is used by the files associated with your function app between the poll interval (in MB).

Performance

Parameter Description
MEMORY WORKING SET
Memory Working Set (Max) The maximum amount of memory used by the function app between the poll interval (in MB).
Memory Working Set (Avg) The average amount of memory used by the function app between the poll interval (in MB).
NETWORK BANDWIDTH USAGE
Incoming Traffic The total rate of incoming bandwidth consumed by the function app between the poll interval (in MB/s).
Outgoing Traffic The total rate of outgoing bandwidth consumed by the function app between the poll interval (in MB/s).
IO OPERATIONS
IO Read Operations Rate The average rate at which the app process is issuing read I/O operations between the poll interval (in MB/s).
IO Write Operations Rate The average rate at which the app process is issuing write I/O operations between the poll interval (in MB/s).
IO THROUGHPUT
IO Read Throughput The average rate at which the app process is reading bytes from I/O operations between the poll interval (in MB/s).
IO Write Throughput The average rate at which the app process is writing bytes to I/O operations between the poll interval (in MB/s).

Requests

Parameter Description
REQUESTS
Request Rate The total number of requests received by the function app per minute regardless of their resulting HTTP status code between the poll interval (in requests/min).
Total Requests The total number of requests regardless of their resulting HTTP status code received by the function app between the poll interval.
HTTP STATUS CODES
HTTP 101 - Protocol Switching The total number of requests resulting in a HTTP 101 status code (Switching protocols) between the poll interval.
HTTP 2xx - Success The total number of requests resulting in a HTTP 2xx status code (Success) between the poll interval.
HTTP 3xx - Redirection The total number of requests resulting in a HTTP 3xx status code (Redirection) between the poll interval.
HTTP 4xx - Client Errors The total number of requests resulting in a HTTP 4xx status code (Client Errors) between the poll interval.
HTTP 5xx - Server Errors The total number of requests resulting in a HTTP 5xx status code (Server Errors) between the poll interval.
HTTP 4XX ERRORS
HTTP 401 - Unauthorized The total number of requests resulting in HTTP 401 (Unauthorized) status code between the poll interval.
HTTP 403 - Forbidden The total number of requests resulting in HTTP 403 (Forbidden) status code between the poll interval.
HTTP 404 - Not Found The total number of requests resulting in HTTP 404 (Not Found) status code between the poll interval.
HTTP 406 - Not Acceptable The total number of requests resulting in HTTP 406 (Not Acceptable) status code between the poll interval.

OS Statistics

Note: The metrics marked under the * symbol are only supported in Windows Functions.
 
Parameter Description
CONNECTIONS
No of Connections (Avg) The average number of bound sockets existing in the sandbox (w3wp.exe and its child processes) between the poll interval. A bound socket is created by calling bind()/connect() APIs and remains that way until the said socket is closed with CloseHandle()/closesocket().
REQUESTS IN APPLICATION QUEUE
Requests in Application Queue (Avg) The average number of requests in the application request queue between the poll interval.
PRIVATE BYTES
Private Bytes The average size of memory that the app process has allocated that can't be shared with other processes between the poll interval (in MB).
NO OF THREADS*
No of Threads(Avg) The average number of threads that were active in the app process between the poll interval.
IO OTHER THROUGHPUT
IO Other Throughput The average rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations between the poll interval (in MB/s).
IO OTHER OPERATIONS
IO Other Operations Rate The average rate at which the app process is issuing I/O operations that aren't read or write operations between the poll interval (in MB/s).
NO OF HANDLES (AVG)
No. of Handles (Avg) The average number of handles currently opened by the app process between the poll interval.
NO OF CURRENT ASSEMBLIES (AVG)*
No of Current Assemblies (Avg) The average number of Assemblies loaded across all AppDomains in this application between the poll interval.
GARBAGE COLLECTIONS*
Gen 0 GCs The total number of times the generation 0 objects are garbage collected since the start of the app process between the poll interval. Higher generation GCs include all lower generation GCs.
Gen 1 GCs The total number of times the generation 1 objects are garbage collected since the start of the app process between the poll interval. Higher generation GCs include all lower generation GCs.
Gen 2 GCs The total number of times the generation 2 objects are garbage collected since the start of the app process between the poll interval.
APP DOMAINS
App Domains Loaded (Avg) The average number of AppDomains loaded in this application between the poll interval.
App Domains Unloaded (Avg) The average number of AppDomains unloaded since the start of the application between the poll interval.

Configuration

Parameter Description
CONFIGURATION
Resource Group Name The name of the Resource Group.
Location Location of the app service.
Function App Kind The type of Function App.
Number of Workers The number of workers for the Function App.
Function App Enabled Indicates whether the app is online (true) or offline (false).
Container Size The size of the Function Container (in MB).
Memory Time Quota (Daily) The maximum allowed daily memory-time quota (in seconds).
Repository Site Name The name of the Repository Site.
Last Modified Time Last modified time of the app in UTC.
Function App Version The version of the Function App.
VNet Content Sharing To enable accessing content over the virtual network.
FTP Hostname Hostname of the FTPS.
FTP Username Username of the FTPS.
HOST CONFIGURATION
Public Access Property to allow or block all public traffic. Possible Values: Enabled, Disabled or an empty string.
Accept Only HTTPs Requests Indicates whether the app only accepts HTTPS requests or not. Issues are redirected for http requests.
APP SERVICE PLAN
App Service Plan The name of the App service plan for the web app.
Server Farm ID Resource ID of the associated App Service plan, formatted as: /subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}.