Microsoft Azure App Service

Overview

Azure App Service is a platform-as-a-service that runs web, mobile, API, and business logic applications and automatically manages the resources required by those apps.

Get metrics from Azure App Service to:

  • Visualize your app performance
  • Correlate the performance of your Azure Apps with the rest of your apps

Azure App Service view

In addition to the Azure App Service preset dashboard, you can also use the dedicated Azure App Service view.

Use Azure App Service view to:

  • Quickly identify apps with high latency or errors

  • Track the utilization of your Web Apps, Function Apps, and App Service Plans

  • Get insights into the costs of your App Service Plans by visualizing the number of active instances and seeing which are running apps that are submitting traces or logs to Datadog

  • Map which apps are running on which App Service Plans to identify apps that may be impacting costs or performance

To enable Datadog APM and custom metrics for your applications running in Azure App Service, see the documentation for the Datadog Azure App Service extension.

Setup

Installation

If you haven’t already, set up the Microsoft Azure integration first. There are no other installation steps that need to be performed.

For additional monitoring options, including logs and trace ID injection, see the Azure App Service extension.

Data Collected

Metrics

azure.app_services.cpu_time
(gauge)
The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see:https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage(CPU time vs CPU percentage). For WebApps only.
Shown as second
azure.app_services.cpu_time.max
(gauge)
The maximum amount of cpu time of the app (Max Aggregated)
Shown as second
azure.app_services.bytes_received
(count)
The amount of incoming bandwidth consumed by the app, in MiB. For WebApps and FunctionApps.
Shown as byte
azure.app_services.bytes_sent
(count)
The amount of outgoing bandwidth consumed by the app, in MiB. For WebApps and FunctionApps.
Shown as byte
azure.app_services.memory_working_set
(gauge)
The average memory used by the app
Shown as byte
azure.app_services.memory_working_set.max
(gauge)
The maximum memory used by the app (Max Aggregated)
Shown as byte
azure.app_services.response_time
(gauge)
The time taken for the app to serve requests
Shown as second
azure.app_services.response_time.max
(gauge)
The maximum time taken for the app to serve requests (Max Aggregated)
Shown as second
azure.app_services.status
(gauge)
The status of Azure App Services (deprecated)
azure.app_services.count
(gauge)
The count of Azure App Services resources
azure.app_services.total_app_domains
(gauge)
The current number of App Domains loaded in this application
azure.app_services.total_app_domains_unloaded
(gauge)
The total number of App Domains unloaded since the start of the application
azure.app_services.requests
(count)
The total number of requests regardless of their resulting HTTP status code. For WebApps and FunctionApps.
azure.app_services.requests_in_application_queue
(gauge)
The number of requests in the application request queue. For WebApps and FunctionApps.
azure.app_services.thread_count
(gauge)
The number of threads currently active in the app process. For WebApps and FunctionApps.
azure.web_serverfarms.maximum_number_of_workers
(gauge)
The maximum number of workers configured for an App Service Plan
azure.web_serverfarms.number_of_sites
(gauge)
The number of sites configured for an App Service Plan
azure.web_serverfarms.target_worker_count
(gauge)
The target number of workers configured for an App Service Plan
azure.web_serverfarms.current_instance_count
(gauge)
The current number of instances running inside an App Service Plan
azure.web_serverfarms.status
(gauge)
Status of App Service Plan (deprecated)
azure.web_serverfarms.count
(gauge)
The count of all App Service Plan resources
azure.web_sites_slots.app_connections
(gauge)
The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().
azure.web_sites_slots.average_memory_working_set
(gauge)
The average amount of memory used by the app, in megabytes (MiB).
Shown as byte
azure.app_services.handle_count
(gauge)
The total number of handles currently open by the app process. For WebApps and FunctionApps.
azure.web_sites_slots.average_response_time
(gauge)
The average time taken for the app to serve requests, in seconds.
Shown as second
azure.web_sites_slots.cpu_time
(gauge)
The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see:https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage(CPU time vs CPU percentage).
Shown as second
azure.web_sites_slots.current_assemblies
(gauge)
The current number of Assemblies loaded across all AppDomains in this application.
azure.web_sites_slots.file_system_usage
(gauge)
Percentage of filesystem quota consumed by the app.
Shown as byte
azure.web_sites_slots.function_execution_count
(count)
Function Execution Count
azure.web_sites_slots.function_execution_units
(count)
Function Execution Units
azure.web_sites_slots.gen0_collections
(count)
The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
azure.web_sites_slots.gen1_collections
(count)
The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
azure.web_sites_slots.gen2_collections
(count)
The number of times the generation 2 objects are garbage collected since the start of the app process.
azure.web_sites_slots.handles
(gauge)
The total number of handles currently open by the app process.
azure.web_sites_slots.health_check_status
(gauge)
Health check status
azure.web_sites_slots.http101
(count)
The count of requests resulting in an HTTP status code 101.
azure.web_sites_slots.http2xx
(count)
The count of requests resulting in an HTTP status code = 200 but < 300.
azure.web_sites_slots.http3xx
(count)
The count of requests resulting in an HTTP status code = 300 but < 400.
azure.web_sites_slots.http401
(count)
The count of requests resulting in HTTP 401 status code.
azure.web_sites_slots.http403
(count)
The count of requests resulting in HTTP 403 status code.
azure.web_sites_slots.http404
(count)
The count of requests resulting in HTTP 404 status code.
azure.web_sites_slots.http406
(count)
The count of requests resulting in HTTP 406 status code.
azure.web_sites_slots.http4xx
(count)
The count of requests resulting in an HTTP status code = 400 but < 500.
azure.web_sites_slots.http5xx
(count)
The count of requests resulting in an HTTP status code = 500 but < 600.
azure.web_sites_slots.http_response_time
(gauge)
The time taken for the app to serve requests, in seconds.
Shown as second
azure.web_sites_slots.io_other_bytes_per_second
(count)
The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.
Shown as byte
azure.web_sites_slots.io_other_operations_per_second
(count)
The rate at which the app process is issuing I/O operations that aren't read or write operations.
Shown as byte
azure.web_sites_slots.io_read_bytes_per_second
(count)
The rate at which the app process is reading bytes from I/O operations.
Shown as byte
azure.web_sites_slots.io_read_operations_per_second
(count)
The rate at which the app process is issuing read I/O operations.
Shown as byte
azure.web_sites_slots.io_write_bytes_per_second
(count)
The rate at which the app process is writing bytes to I/O operations.
Shown as byte
azure.web_sites_slots.io_write_operations_per_second
(count)
The rate at which the app process is issuing write I/O operations.
Shown as byte
azure.web_sites_slots.memory_working_set
(gauge)
The current amount of memory used by the app, in MiB.
Shown as byte
azure.web_sites_slots.private_bytes
(gauge)
Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.
Shown as byte
azure.web_sites_slots.requests
(count)
The total number of requests regardless of their resulting HTTP status code.
azure.web_sites_slots.requests_in_application_queue
(gauge)
The number of requests in the application request queue.
azure.web_sites_slots.scm_cpu_time
(count)
ScmCpuTime
Shown as second
azure.web_sites_slots.scm_private_bytes
(gauge)
ScmPrivateBytes
Shown as byte
azure.web_sites_slots.threads
(gauge)
The number of threads currently active in the app process.
azure.web_sites_slots.total_app_domains
(gauge)
The current number of AppDomains loaded in this application.
azure.web_sites_slots.total_app_domains_unloaded
(gauge)
The total number of AppDomains unloaded since the start of the application.
azure.web_sites_slots.status
(gauge)
Status of app deployment slots (deprecated)
azure.web_sites_slots.count
(gauge)
The count of all app deployment slots resources

Events

The Azure App Service integration does not include any events.

Service Checks

The Azure App Service integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.