Sometimes you want to monitor the performance of an app but you don’t have access to the source code. For example, Microsoft Azure provides a Marketplace of third-party web apps you can configure and run on your own site. Ideally, telemetry – code that lets you monitor how your live app is performing and being used – should be integrated into your code and tested, configured, and deployed along with your application. But you can’t do that if you don’t have write access to the source code of the application. Fortunately, Application Insights provides a way to monitor an app without rebuilding or redeploying it.
As an example, we’ll use Orchard CMS, a .NET based CMS system that allows users to create blogs and personal websites. It’s available from the Azure online store. Today, I will demonstrate how to enable Application Insights on an Orchard CMS site created through the Azure portal.
Deploy an Orchard CMS website through portal
To deploy a new Orchard CMS site through the Azure Portal, select + New –> Web + Mobile –> Marketplace. You will then be brought to the marketplace blade for Web + Mobile where Orchard CMS is available under Blogs + CMS.
Notice in the process of deploying the Orchard CMS site though the Azure Portal you are not asked to provide source code. Simply provide a URL then select your preferred service plan and pricing tier.
After hitting the Create button, our new Orchard CMS website will be created in seconds! We already have basic monitoring, showing requests per second, because we created our new website through the Azure Portal. That’s very nice, but we definitely want more telemetry.
Enable Application Insights
To enable Application Insights, go to the blade for your website –> Tools –> Performance monitoring.
At this point a new blade will show up for Performance Monitoring. Select “Click here to collect insights into the performance of your .NET applications.” –> Application Insights –> {Name of your web application}. Your web app will appear on the Application Insights blade under “Resources for this website shown below.”
Now you are able to access much more data, like, Server Response Time, Server Requests and Failed Requests.
Without having access to the source code you may be uncertain of all the resources your application is depended on. With Application Insights you can see dependencies, how often they occur, and their duration. You can also search for specific requests, exceptions and more!
Summary
You can get performance, basic usage and diagnostic information for your Azure Web App by selecting the Application Insights extension, without the need to change the source code or redeploy the app. If you have access to the source code, we also recommend you add the Application Insights SDK and redeploy in order to gather richer usage and custom telemetry. Additionally for Orchard CMS there is already an Orchard plugin available that will enable Application Insights for your application.