Click here to Skip to main content
15,881,768 members
Articles / Web Development / ASP.NET
Tip/Trick

ASP.NET Core 1.0 - Configure Application Insights

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
15 Oct 2016CPOL2 min read 14.7K   3   1
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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Devscope
Portugal Portugal
I am João Sousa, and since i finish my degree I’m working in software development using Microsoft technologies.

I was awarded

Microsoft Most Valuable Professional (MVP) 2015 – .Net

My profissional profile:

Azure Developer
.NET Developer

My Certifications:

MCTS - .NET Framework - Application Development Foundation
MCTS - .NET Framework 2.0 - Windows-based Client Development
MCTS - .NET Framework 3.5 ADO.NET Applications
MCTS - .NET Framework 3.5 ASP.NET Applications
MCSD - Programming in HTML5 with JavaScript and CSS3
MCSD - Developing ASP.NET MVC 4 Web Applications
MCSD - Developing Windows Azure and Web Services
MCSA Office 365 - Managing Office 365 Identities and Requirements
MCSA Office 365 - Enabling Office 365 Services
MCSD - Implementing Microsoft Azure Infrastructure Solutions

Comments and Discussions

 
SuggestionObsolete Methods Pin
Programm3r12-Jul-17 1:42
Programm3r12-Jul-17 1:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.