1

Azure App ServicesでホストされているVisual Studio Community 2015 Update 3で、ASP.NET Core MVCプロジェクト(コンソールアプリケーションとして起動するこれらの新機能) 。私はApplicationInsightsTraceListenerで診断トレースを取得したいので、Application Insightsをセットアップしようとしていますが、他の機能も便利です。 Azureポータルに何かを表示させるための正しい設定をまだ見つけていません。ASP.NET InsightとASP.NET Core Webアプリケーションを接続できない

Visual Studio拡張機能を使用して、プロジェクトにApplication Insightsサポートを追加しました。しかし、これは事が間違って始まるところであると思われます。ではなく、ApplicationInsights.configです。いくつかのDLLを追加して、InstrumentationKeyを私のアプリケーション設定ファイルに入れて、Microsoft.ApplicationInsights.WebMicrosoft.ApplicationInsights.TraceListenerを含むNuGet経由でいくつかのアセンブリを手動で追加しました。この時点で公開すると、Azureポータルではメトリックが有効にならず、ライブストリームではと表示されます。利用できません:あなたのアプリはオフラインまたは古いSDKを使用しています。

2.1.0と2.2.0の両方のベータ版を試しました。私は、すべてのApplication Insightsのものを削除して、拡張機能を再インストールして、やり直してみました。また、拡張子を使用してスキップして、手作業でMicrosoft.ApplicationInsights.Webなどを追加しようとしました。これは、設定ファイルも作成する必要がありますが、運のないものです。他のユーザーのApplicationInsights.configファイルをWebからダウンロードし、自分の環境に合ったものにしようとしました。ポータルのApplication Insights部分ではこれまでどおり何もできませんでした。

設定ファイルの作成に加えて、拡張機能に加えて追加の手順はありますか? Startup.csにコードを追加する必要はありますか?ほとんどのドキュメントは、最初の設定がうまくいくことを当然のように思っています。

答えて

3

あなたのInstrumentationKeyappsettings.json上にあることを考慮すると、あなたのStartup.csを変更する必要があります

public void ConfigureServices(IServiceCollection services) 
{ 
    /*Simple Mvc web app*/ 
    services.AddMvc(); 

    services.AddApplicationInsightsTelemetry(Configuration); 
} 


public void Configure(IApplicationBuilder app, IHostingEnvironment env, IAntiforgery antiforgery) 
{ 
    /*This should be before UseMvc*/ 
    app.UseApplicationInsightsRequestTelemetry(); 
    app.UseApplicationInsightsExceptionTelemetry(); 
    app.UseMvc(); 


} 

それはapp.UseApplicationInsightsRequestTelemetry()app.UseMvc()であることが重要です。別のAI SDKは、ASP.NETコア・プロジェクトのためにあります

2

が収集を開始するには、あなたがproject on GitHub(ApplicationInsights-aspnetcore)を見つけることができるとNuget package on Nuget.org(Microsoft.ApplicationInsights.AspNetCore)、AIミドルウェアはする必要がありますプロジェクトコード(適切なNugetパッケージを追加した後)に、RequestとExceptionコレクションのミドルウェアが組み込まれています。 AI構成を構築するための追加のステップをスタートアップに追加する必要があります。

Getting Started GitHubプロジェクトでこれをカバーする必要がありますが、今日は空であることが判明しましたが、ConfigureにはInstrumentationKeyと追加のコレクションを追加する方法が記載されています。

SET ApplicationInsights:InstrumentationKey=11111111-2222-3333-4444-555555555555 

注:あなたは、環境変数を使用している場合はconfig.json

"ApplicationInsights": { 
    "InstrumentationKey": "11111111-2222-3333-4444-555555555555" 
} 

に以下を追加します - あなたは、JSON構成プロバイダを使用している場合

:コンフィギュレーションのためのiKeyを設定するためのアプローチをベースAzure Webサイト(APPINSIGHTS_INSTRUMENTATIONKEY)で設定されている環境変数はサポートされていません。

それとも、あなたのアプリケーションで定義された任意の他の構成プロバイダ形式(コンフィギュレーション設定名はApplicationInsightsです:InstrumentationKey)呼び出しの前にはStartup.csで洞察にテレメトリを追加する:

services.AddApplicationInsightsTelemetry(Configuration); 
+0

 "ApplicationInsights": { "InstrumentationKey": "xxxxxxx-xxxxx-xxxx-xxx-xxxxxxxxxx" } 

私Startup.csがあることになります_拡張子が機能していませんでした。 – Thom

0

UseApplicationInsightsExceptionTelemetryはUseMvc前にする必要があります。私がUseMvcの後でそれを使用した場合、例外は保存されませんでした。もちろん、あなたも「Microsoft.ApplicationInsights.AspNetCore」をnugetパッケージを追加し、appsettings.jsonに追加する必要があります良いこのためのおかげで、知っている

public Startup(IHostingEnvironment env) 
    { 
     ... 
     if (env.IsDevelopment()) 
     { 
      builder.AddApplicationInsightsSettings(developerMode: true); 
     } 
    } 

    public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddApplicationInsightsTelemetry(Configuration); 
     services.AddMvc(); 
     .... 
    } 

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     app.UseApplicationInsightsRequestTelemetry(); 
     app.UseApplicationInsightsExceptionTelemetry(); 

     app.UseMvc(); 
    } 
関連する問題