Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

ASP.NET Core 1.0 - Configure Application Insights

0.00/5 (No votes)
15 Oct 2016 2  
This article will show how to integrate Microsoft Azure Application .Insights into a web application using ASP.NET Core 1.0 to Detect, triage, and diagnose issues in your web application

This article will show how to integrate Microsoft Azure Application .Insights into a web application using ASP.NET Core 1.0 to Detect, triage, and diagnose issues in your web application

Visual Studio Application Insights   monitors your live application to help you detect and diagnose performance issues and exceptions, and discover how your app is used. It can be used with a wide variety of application types. It works for apps that are hosted on your own on-premises IIS servers or on Azure VMs, as well as Azure web apps.

Download source - 2 MB

STEP1 - Create Azure Account

You need to get a Windows Azure account. Everyone can open a Windows Azure account for free.

Check the link below for more information.

http://www.windowsazure.com/en-us/pricing/free-trial/ 

STEP 2 - Create a new Application Insight into your Azure Account

After authentication, select new resource, and choose the option Monitoring + Management

A new tab will be open.

Choose the option Application Insight

  

 

It will appear a new window, to configure this resource has you can check on the image below

On the field Name set your ApplicationInsight configuration Name. On my case it will be called Demo.
Select the application Type, on our demo it will be ASP.NET Web Application.

 


 

After select all options, select the button Create.

This resource will be created on the subscription selected and it will be displayed

STEP 3 - Create ASP.NET Core Web Application

​ Using the Application Insights, it will be necessary create the project ASP.NET Core Web Application

Select the template Web Application on ASP.NET 5 Templates:

 

  

Add nuget package Microsoft.ApplicationInsights.AspNetCore to solution

  

STEP 4 - Configure Application Insights into your Web Application

​ After install the package we should configure the key from the resource created on Azure Portal.

For that select the file appsettings.json on your solution.

Go to the Azure Portal into the Demo Application Insight created and check the settings like on image below:

 


 

Open the appsettings.json file and copy your instrumentation key from Azure portal

  

We also need to change our Startup class like this:

C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using Microsoft.AspNetCore.Builder; 
using Microsoft.AspNetCore.Hosting; 
using Microsoft.Extensions.Configuration; 
using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Logging; 
 
namespace AppInsightsDemo 
{ 
    public class Startup 
    { 
        public Startup(IHostingEnvironment env) 
        { 
            var builder = new ConfigurationBuilder() 
                .SetBasePath(env.ContentRootPath) 
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) 
                .AddEnvironmentVariables(); 
 
            if (env.IsDevelopment()) 
            { 
                // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately. 
                builder.AddApplicationInsightsSettings(developerMode: true); 
            } 
 
           Configuration = builder.Build(); 
        } 
 
        public IConfigurationRoot Configuration { get; } 

        // This method gets called by the runtime. Use this method to add services to the container. 
        public void ConfigureServices(IServiceCollection services) 
        { 
            // Add framework services. 
            services.AddApplicationInsightsTelemetry(Configuration); 
 
            services.AddMvc(); 
        } 
 
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
        { 
            loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
            loggerFactory.AddDebug(); 
 
            app.UseApplicationInsightsRequestTelemetry(); 
 
            if (env.IsDevelopment()) 
            { 
                app.UseDeveloperExceptionPage(); 
                app.UseBrowserLink(); 
            } 
            else 
            { 
                app.UseExceptionHandler("/Home/Error"); 
            } 
 
            app.UseApplicationInsightsExceptionTelemetry(); 
 
            app.UseStaticFiles(); 
 
            app.UseMvc(routes => 
            { 
                routes.MapRoute( 
                    name: "default", 
                    template: "{controller=Home}/{action=Index}/{id?}"); 
            }); 
        } 
    } 
 

STEP 5 - Test Web Application

​To test the integration of Application Insights into our application, just need to run it.

The collect of information, will start immediately.



  

Resources

​Application Insights: https://www.visualstudio.com/products/application-insights-vs 

My personal blog: http://joaoeduardosousa.wordpress.com/

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here