2017-11-03 14 views
0

私は、WebJobsプロジェクトのあるアプリケーションサービスであるfollowing these instructionsを使ってアプリケーションのインサイトを統合しています。Application InsightとWebJobの統合 - cloud_RoleInstanceをオーバーライドできません

aiポータルのcloud_RoleNameとcloud_RoleInstanceNameが意味を持ちません(ランダムな数値であり、時間とともに変化しているように見えます)。 私はapiの役割でカスタムTelemetryInitializerを使用しましたが、それらの値を必要に応じて変更しています。しかし、webjobプロジェクトは、カスタムイニシャライザで割り当てられたロール名を取得していないようです。ローカルでデバッグするとき、コードはカスタムイニシャライザのオーバーライド値を実行しますが、ログがAIに送信されるときに変更されているようです。ここで

は、私が使用するカスタム初期化子です:

public class AppInsightsTelemetryInitializer : ITelemetryInitializer 
{ 
    public void Initialize(ITelemetry telemetry) 
    { 
     telemetry.Context.Cloud.RoleName = ConfigurationManager.AppSettings["EnvironmentName"]; 
     telemetry.Context.Cloud.RoleInstance = $"webjob-{ConfigurationManager.AppSettings["InstanceId"]}"; 
    } 
} 

そして、それはWebJobs' Program.csのに夢中だ:

... 
ApplicationInsights.Extensibility.TelemetryConfiguration.Active.TelemetryInitializers.Add(new AppInsightsTelemetryInitializer()); 
... 

誰かがこれで私を助けてもらえますか? おかげで、

+0

それが有用である場合は、同じ問題を持っているより多くのコミュニティを助けるの答えとしてそれをマークしてください。 –

答えて

1

webjobプロジェクトがカスタムに割り当てられたロール名をピックアップしていないようですが、誰かがこれで私を助けinitializer.Could?

正常に統合Azure Webjobが動作するはずです。自分の側でテストします。 Application Insight Analyticsでログを取得してください。

enter image description here

関連する問題