我将应用程序洞察与我的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());
...
有人可以帮我吗? 谢谢,
答案 0 :(得分:1)
然而,webjob项目似乎没有拿起在自定义初始化程序中分配的角色名称。有人可以帮我解决这个问题吗?
它应该可以正常集成Azure Webjob,我测试它在我身边。请尝试使用Application Insight Analytics获取日志。