Application Insights URL 分组
Posted
技术标签:
【中文标题】Application Insights URL 分组【英文标题】:Application Insights URL Grouping 【发布时间】:2019-09-03 08:32:56 【问题描述】:我目前有一个使用以下路由设置的 api:
/api/v1.0/External/id/Player
/api/External/id/Player
当客户端点击这些 URL 时,我们会在 Application Insights 中看到许多不同的 URL,例如:
/api/v1.0/External/1/Player
/api/External/5/Player
/api/v1.0/External/7/Player
/api/External/1/Player
/api/v1.0/External/10/Player
/api/External/8/Player
在查看失败的操作时,这使得在端点中查找常见错误非常困难,因为这些错误遍布各处。
是否有任何方法可以获取应用程序洞察以将上述所有 URL 视为相同的 URL?
【问题讨论】:
【参考方案1】:您可以使用ITelemetryProcessor 在将数据发送到门户之前对其进行处理。在那里,您可以通过路由逻辑规范化 URL 路径。
另一个选项是在 Analytics 中搜索原始数据,可从“概览”标签顶部的按钮工具栏访问。在那里,您可以使用通配符代替占位符值来按路径查询。
【讨论】:
ITelemetryProcessor 意味着必须手动规范化 1000 个不同的 URL,并且每次添加新 api 时都需要不断更新,并且分析不会有帮助,因为如果我按 operation_Name 进行总结,通配符没有帮助 @bizzehdee 您可以使用正则表达式来制作一般搜索模式,例如/api/v1.0/External/(\d+)/Player
(未测试),并将找到的令牌替换为 id
或其他。但是,是的,维护会很痛苦。除非你能找到一种与路由共享代码的方法,例如使用路由来反向映射从 URL 到 Action(我认为 MVC 中有这样的 API)
其他 1000 个 URL 呢?我在系统中不仅有 1 个具有 2 个不同端点的单个 api,还有 1000 个 API。我希望我能够知道遥测初始化程序或处理器中的控制器和方法,但事实证明我不能。
也许this 会有所帮助?以上是关于Application Insights URL 分组的主要内容,如果未能解决你的问题,请参考以下文章
ILogger 到 Application Insights