Application Monitoring for Azure App Service Overview
Enabling monitoring on your ASP.NET, ASP.NET Core, Java, and Node.js based web applications running on Azure App Services is now easier than ever. Whereas previously you needed to manually instrument your app, the latest extension/agent is now built into the App Service image by default.
Enable Application Insights
There are two ways to enable application monitoring for Azure App Services hosted applications:
Agent-based application monitoring (ApplicationInsightsAgent).
This method is the easiest to enable, and no code change or advanced configurations are required. It is often referred to as "runtime" monitoring. For Azure App Services we recommend at a minimum enabling this level of monitoring, and then based on your specific scenario you can evaluate whether more advanced monitoring through manual instrumentation is needed.
The following are support for agent-based 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 have to 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 agent-based monitoring, you would need to use this method. Check out the API for custom events and metrics article to learn more.
If both agent-based monitoring and manual SDK-based instrumentation is detected, in .NET only the manual instrumentation settings will be honored, while in Java only the agent-based instrumentation will be emitting the telemetry. This is to prevent duplicate data from being sent.
Snapshot debugger and profiler are only available in .NET and .NET Core