Application Insights:分析 - 如何在特定位置提取字符串

Application Insights: Analytics - how to extract string at specific position

我愿意,

1。 pageView

中包含的实际网址

2。预计提取的价值

3。 AI Analytics 的预期输出

尝试过

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

https://aka.ms/AIAnalyticsDemo

我认为extractparseurl(url)应该有用。我尝试了后者 parseurl(url) 但不知道如何将 "Query Parameters" 提取为一列。

pageViews
| where timestamp > ago(1d)
| extend parsed_url=parseurl(url)
| summarize count() by tostring(parsed_url)
| render barchart 

是的,parseurl 是实现此目的的方法。它会产生一个动态值,您可以将其用作 json。 获取查询参数的"query"值:

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

并通过参数值进行总结:

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

您可以在 demo portal:

中查看它如何处理您的示例值
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

希望这对您有所帮助,

阿萨夫