我们有一个运行ASP.Net Core的后端API,有两个前端:一个SPA网站(Vuejs)和一个渐进式网页(面向移动用户)。前端基本上只是客户端代码,所有服务都在不同的域上。我们不使用cookie作为身份验证使用承载令牌。
我们一直在使用Application Insights进行监控,但由于文档对我们的情况并不十分具有描述性,因此我想获得更多关于什么是最佳策略和可能性的输入:
答案 0 :(得分:2)
到目前为止你尝试了什么?大部分"最适合你的方式"但是,有些事情会成为意见。
一般答案:
如果您已经将用户信息/身份验证用于其他目的,则只需使用您在传入请求的遥测上下文中提供的信息设置各种context.user.*
字段。使用相同的遥测环境发生的所有其他遥测都将使您已经拥有的任何用户信息无效。
如果您已经将此作为不同的服务/域执行,并且您已经在两个地方使用相同的检测密钥,那么网页浏览量或请求的域/主机信息已经存在,您可以过滤/分组在门户网站上进行此操作或在分析门户中进行自定义查询以进行分析。如果您知道无论主机是哪个站点,您都可以将其添加为遥测上下文中的自定义属性,您也可以这样做以避免处理主机信息。
同样,如果您已经公开api并使用auth,您应该(理想情况下)已经知道入站呼叫者是谁,并且您也可以在自定义属性中设置该信息。
一般,custom properties(字符串:字符串键值对)和自定义指标(字符串:双键值对)是您的朋友。您可以在上下文中设置它们,以便在该上下文中生成的所有事件都继承相同的属性,您可以在单个TrackEvent
(或任何其他Track*
调用)上显式设置它们以发送特定属性/指标任何单一事件。
您还可以使用telemetry initializers来扩充或过滤自动生成的任何遥测(如服务器端的请求或依赖项,或页面视图和ajax依赖项客户端)