应用程序洞察:分析 - 如何在特定位置提取字符串

gra*_*a36 8 azure azure-application-insights ms-app-analytics kusto

我想做,

  • 在"2."中提取"查询"字符串,其中param = 1,如下所示
  • 使用表格为"3"获取Google Analytics中的网页视图

1. pageView中包含的实际网址

  • https://example.com/dir01/?query=apple&param=1
  • https://example.com/dir01/?query=apple&param=1
  • https://example.com/dir01/?query=lemon+juice&param=1
  • https://example.com/dir01/?query=lemon+juice&param=0
  • https://example.com/dir01/?query=tasteful+grape+wine&param=1

2.预期提取的价值

  • apple
  • lemon+juice
  • tasteful+grape+wine

3. AI Analytics的预期输出

  • 查询参数| 计数
    • 苹果| 2
    • 柠檬+果汁| 1
    • 雅致+葡萄+葡萄酒| 1

图片

试图这样做

https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-reference#parseurl

https://aka.ms/AIAnalyticsDemo

我认为extractparseurl(url)应该是有用的.我尝试了后者,parseurl(url)但不知道如何将"查询参数"提取为一列.

pageViews
| where timestamp > ago(1d)
| extend parsed_url=parseurl(url)
| summarize count() by tostring(parsed_url)
| render barchart 
Run Code Online (Sandbox Code Playgroud)
  • url
    • http://aiconnect2.cloudapp.net/FabrikamProd/
  • parsed_url
    • {"Scheme":"http","Host":"aiconnect2.cloudapp.net","Port":"","Path":"/FabrikamProd/","Username":"","Password":"","Query Parameters":{},"Fragment":""}

Asa*_*erg 12

是的,parseurl是这样做的方式.它会产生一个动态值,您可以将其用作json.要获取查询参数的"查询"值:

pageViews
| where timestamp > ago(1d)
| extend parsed_url=parseurl(url)
| extend query = tostring(parsed_url["Query Parameters"]["query"])
Run Code Online (Sandbox Code Playgroud)

并通过参数值总结:

pageViews
| where timestamp > ago(1d)
| extend parsed_url=parseurl(url)
| extend query = tostring(parsed_url["Query Parameters"]["query"])
| extend param = toint(parsed["Query Parameters"]["param"])
| summarize sum(param) by query
Run Code Online (Sandbox Code Playgroud)

您可以在演示门户中查看它对示例值的工作原理:

let vals = datatable(url:string)["https://example.com/dir01/?
query=apple&param=1", "https://example.com/dir01/?query=apple&param=1", 
"https://example.com/dir01/?query=lemon+juice&param=1", 
"https://example.com/dir01/?query=lemon+juice&param=0", 
"https://example.com/dir01/?query=tasteful+grape+wine&param=1"];
vals
| extend parsed = parseurl(url)
| extend query = tostring(parsed["Query Parameters"]["query"])
| extend param = toint(parsed["Query Parameters"]["param"])
| summarize sum(param) by query
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助,

阿萨夫