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}. |