无代码 Application Insights 自定义计数器

Codeless Application Insights Custom Counters

我 运行 Windows Server 2016 Azure VM 中的 Application Insights 无代码版本。例如,我知道使用 SDK 可以添加自定义遥测,以便我可以更新出现在我的指标中的 cloudRoleName 值。

我的问题是,对于 Application Insights 推送的性能计数器,它只为进程相关数据提供类似 w3wp#1 的值,但我真的希望能够将此进程与应用程序池相关联(最好是 cloudRoleName)

我可以向 App Insights 代理添加任何配置以允许我添加自定义遥测,还是我必须将 SDK 添加到此 VM 上 运行 的每个 Dotnet 应用程序才能实现此目的?

如果我没理解错的话,您想为 cloudRoleName 提供自定义值,对吗?

如果是这样,唯一的办法就是使用代码(没有代码的方法,看这个issue.) by using ITelemetryInitializer,这里有一个例子:

public class CloudRoleNameTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
      // set custom role name here
      telemetry.Context.Cloud.RoleName = "Custom RoleName";
    }
}

更详细的可以参考这篇article.