Application monitoring for Azure App Service overview
It's now easier than ever to enable monitoring on your web applications based on ASP.NET, ASP.NET Core, Java, and Node.js running on Azure App Service. Previously, you needed to manually instrument your app, but the latest extension/agent is now built into the App Service image by default.
Enable Application Insights
There are two ways to enable monitoring for applications hosted on App Service:
Auto-instrumentation application monitoring (ApplicationInsightsAgent).
This method is the easiest to enable, and no code change or advanced configurations are required. It's often referred to as "runtime" monitoring. For App Service, we recommend that at a minimum you enable this level of monitoring. Based on your specific scenario, you can evaluate whether more advanced monitoring through manual instrumentation is needed.
For a complete list of supported auto-instrumentation scenarios, see Supported environments, languages, and resource providers.
The following platforms are supported for auto-instrumentation monitoring:
Manually instrumenting the application through code by installing the Application Insights SDK.
This approach is much more customizable, but it requires the following approaches: SDK for .NET Core, .NET, Node.js, Python, and a standalone agent for Java. This method also means you must manage the updates to the latest version of the packages yourself.
If you need to make custom API calls to track events/dependencies not captured by default with auto-instrumentation monitoring, you'll need to use this method. To learn more, see Application Insights API for custom events and metrics.
If both auto-instrumentation monitoring and manual SDK-based instrumentation are detected, in .NET only the manual instrumentation settings will be honored, while in Java only the auto-instrumentation will be emitting the telemetry. This practice is to prevent duplicate data from being sent.
Snapshot Debugger and Profiler are only available in .NET and .NET Core.