【问题标题】:Application Insights - Tracking user and session across schemasApplication Insights - 跨架构跟踪用户和会话
【发布时间】:2020-12-31 16:02:37
【问题描述】:

https://docs.microsoft.com/en-us/azure/application-insights/app-insights-usage-send-user-context 之后,我认为对用户进行跨模式跟踪会很容易。然而,我发现完全相反。

我创建了遥测初始值设定项(文档中有硬核错误):

public void Initialize(ITelemetry telemetry)
    {
        if (HttpContext.Current?.Session == null)
            return;

        if (HttpContext.Current.Session["UserId"] == null)
        {
            HttpContext.Current.Session["UserId"] = Guid.NewGuid().ToString();
        }

        telemetry.Context.User.Id = (string)HttpContext.Current.Session["UserId"];
        telemetry.Context.Session.Id = HttpContext.Current.Session.SessionID;

        var authUser = _sessionManager.GetAuthenticatedUser<UserDetails>();
        if (authUser != null)
        {
            telemetry.Context.User.AuthenticatedUserId = authUser.UserId;
        }
    }

然后我将其添加到 App Insights

TelemetryConfiguration.Active.TelemetryInitializers.Add(new UserTrackingTelemetryInitializer());

然后我开始玩我的网站,期待这些东西开始出现。它没。我继续获取 user_Id 和 session_Id 的随机字符串(诸如 NVhLF 之类的东西)。所以,我想,好吧,也许在我更新这些值之前它正在记录?我先去插入了我的初始化程序:

TelemetryConfiguration.Active.TelemetryInitializers.Insert(0, new UserTrackingTelemetryInitializer());

同样的事情。所以我开始研究我通常不看的模式。没有什么。所以我拉起了痕迹,我找到了它。最后,这是我的数据的去向。但是其他模式没有更新的值,那么这有什么用呢?虽然跟踪显示 user_Id 和 session_Id 的预期值,但其他人继续显示垃圾。我做错了吗?

【问题讨论】:

  • 您是否尝试过使用这些方法,例如 TrackEvent() / TrackRequest()?然后检查自定义的user_id/session_id是否设置正确?
  • 我不想输入代码来跟踪这些东西。 SDK 为我跟踪这些事情。问题是,为什么 SDK 不自动获取这些数据?
  • 很确定这会在 App Insights 中填充 Auth Id,而不是 User Id。似乎User Id 与特定的客户端/cookie 唯一相关,但它是由 Azure 生成的,因此并没有真正的帮助。你的代码应该设置Auth Id。可以查一下吗?

标签: azure azure-application-insights


【解决方案1】:

您关注的document确实无效,已提交反馈here

仅供参考,我可以找到设置这些值的方法是在实现your own telemetry initializer 后使用此类TrackEvent() / TrackRequest() or other Trackxxx() 方法

【讨论】:

  • 伙计,这是自 12/17 以来的一个已知问题?非常令人失望。
  • 是的,我们只能等待 :( 。但是如果我找到了一些解决方法,会通知您。
  • 您是否在 Azure 遥测日志中检查了 Auth Id 而不是 User Id
猜你喜欢
  • 1970-01-01
  • 2017-03-08
  • 2018-11-20
  • 1970-01-01
  • 2018-08-09
  • 2015-10-28
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多