Application Insights is an Azure Service which helps to monitor applications in real time. It’s a powerful service for Developer and DevOps professional which provide insights of your applications in terms of Performance, Application Health, Application Interaction, User flows, Availability, and its live metrics. Application Insights works on applications hosted on-premises, hybrid or any other cloud service provider. Application Insights comes with capability like Querying the metrics, dashboard for representing different metrics, ability to configure alerts, Integrating with Azure DevOps etc.
Application Insights can be used for monitoring Azure Services like Azure App service, VMs, Azure Function etc. Similarly, if you have existing application already build or deployed you can easily configure application-based monitoring using Application Insights SDK. We will see below how easy to integrate with new or existing application.
Below are the steps involved in configuring Application Insights for a .Net/.Net Core application.
1. Application Insight service is provisioned from Azure portal.
2. Right click on Start up project like WebAPI/MVC app and navigate to “Application Insights Telementry” as shown below.
3. In the start up class following code will be auto populated if not place it manually
services.AddApplicationInsightsTelemetry();
4. Appsettings.json populate Instrumentation key which will be available from Azure portal of Application Insights
Below is an example where I have deployed few services in Azure. There is a Front end application which is interacts with database for fetching data, front end app interacts with External webapi and External webapi in turn interacts with Azure Function(HTTP trigger).
Note: All your services sending telemetry to the same Application Insights instance. The Application Insights UI in the Azure Portal has no ability to display this visualizations across multiple Application Insights instances.
One frequent question I hear from developers “Can I use Application Insights because we are not on Azure”. Well you don’t need to host your application on Azure it can be hosted anywhere as long Azure Insights is created in Azure and integrated with your application using Instrumentation key.
Composite Application Map
You can see the full application topology across multiple levels of related application components. Components could be different Application Insights resources, or different roles in a single resource.
Using Application Insights you can drill down to application flow as shown below e.g. if we see from Front end component http call is made to WebAPI and from WebAPI it makes call to Azure function.
Comments
Post a Comment