Application Insight与WebJobs的集成 - 无法覆盖cloud_RoleInstance

时间:2017-11-03 16:23:59

标签: azure-webjobs azure-application-insights

我将应用程序洞察与我的App服务集成,后者有一个WebJobs项目following these instructions

除了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());
...

有人可以帮我吗? 谢谢,

1 个答案:

答案 0 :(得分:1)

  

然而,webjob项目似乎没有拿起在自定义初始化程序中分配的角色名称。有人可以帮我解决这个问题吗?

它应该可以正常集成Azure Webjob,我测试它在我身边。请尝试使用Application Insight Analytics获取日志。

enter image description here