Why Application Insights now?
If Azure cloud service performance is not working for you in terms of performance and speed we would need to explore solutions that improve the health of your application.
Application Insights is an application monitoring service that is hosted in the Microsoft Azure cloud, similar to New Relic that allows you to monitor an application, analyze its performance and get a deeper look into errors that occur in production. All of that without having to care about the infrastructure and management of the monitoring tools.
It provides a rest API and SDKs for application instrumentation and a backend that collects data and creates reports and dashboards.
The overall goal of Application Insights is to give you a clear picture of your application’s usage, helping track whether your application is available, performing, and improving. There are many different tools in the market to help with these different aspects – be it for automated performance management (APM), client analytics, crash analytics, performance monitoring, outside-in test tools, web application analytics, and so on.
Using Application Insights, the focus is to make this simple, accessible, and actionable as a developer. We really want all applications to optimally work to their potential by using real world data. Data-driven insights should be able to identify where the gap is, what you do to make your application robust, which bugs to fix, which performance issues to work on first, which features are not being used and when your service is down.
How to setup Application Insights?
A typical setup would require:
- Microsoft Azure Account
- Microsoft Visual studio 2015.2
Once you have installed that, there are just two ways to start adding Application Insights to your project. If you have an existing application, you can right click your project in your Visual Studio solution, and then click the Add Application Insights Telemetry context menu item in solution explorer. Or if you are creating a brand new project, you can check the Add Application Insights to your project checkbox to the right of the Create New Project dialog. For more information, please click the following link https://azure.microsoft.com/en-us/services/application-insights/
Top Six Application Insights Features
We identified the following six features that we believe most useful for development teams.
- Custom Events – This feature captures and analyzes key user interactions and events. An event can be a click event or any activity performed by the user.
- Web Tests – After deploying a web application, you can set up web tests to monitor its availability and responsiveness. Web tests are important if your application is a website or web service that is visible on the public Internet. These tests tell you if your site goes down or responds slowly.
- Metric Alerts – This feature allows you to receive alerts when any metric crosses a threshold value for some period—such as failure counts, memory or page views.
- Continuous Export – With continuous export, you can export the live trace logs and exception data for your app into storage.
- Failure Detection – It’s important to know when your application fails as well as the cause of failure so you can act and troubleshoot easily. Application Insights uses failure telemetry data to check for the number of failed requests for a given time range.
- Diagnostic Search – Diagnostic Search is the blade in Application Insights that you can use to find and explore individual telemetry items, such as page views, exceptions, or web requests. You can also view log traces and events that you have coded.
Application Insights Workflow
Once we have set up the Application Insights as per the rule, we can see the daily failed requests down to zero. The main focus of the first blade is the ‘Overview timeline’ chart, which gives you an excellent view of the health of your application.
Application Insights Overview timeline
- Users: The count of distinct active users over the time range of the chart.
- Sessions: The count of active sessions
- Page views: Counts the number of calls to trackPageView(), typically called once in each web page.
App insights quickly identifies if there is any problem in our azure app services, how many users are impacted, and performs a root cause analysis to find and fix the issue. It’s really simple to get started with Application Insights and get a pulse of your application when it’s out there in the wild.
- Monitoring Azure AppServices health with Application Insights - January 11, 2017