我想从我的 vscodeazure cli
命令执行我的应用程序洞察跟踪。
我可以使用以下命令获取所有详细信息。
az monitor app-insights query --app myappinsight1 --analytics-query traces --resource-group myRG
但我需要更细粒度的过滤器,比如只转储最近 10 分钟的日志。在查询编辑器中
使用可以正常工作,但会出现命令错误。
这是我的查询
,我尝试在符号周围加上引号或转义,但没有奏效。
谁能帮助我在查询中做错了什么?traces | where timestamp > ago(10min)
Azure portal appinsights
azure cli
az monitor app-insights query --app myappinsight1 --analytics-query traces | where timestamp > ago(10min) --resource-group myRG
2 回答
看起来如果对查询进行粒度过滤,我们需要为"
查询引用。在我的情况下,命令的
报价是. 完整的 CLI 命令,我可以使用它获取日志:traces
"traces | where timestamp > ago(10min)"
az monitor app-insights query --app myappinsight1 --analytics-query "traces | where timestamp > ago(10min)" --resource-group myRG
您可以使用CLI运行它:az monitor app-insights query --app myappinsight1 --analytics-query "traces | where timestamp > ago(10min)" --resource-group myRG
您还可以在KQL上运行查询(如ASSAF所建议的那样)并在Azure 门户 > Dashboard上更改指标(如Andreas Wendl所建议的那样)。
选择的时间粒度被放入最终的summary bybin(timestamp, [time grain])
子句中。例如,如果您按位置拆分图表,并使用 10 分钟的时间粒度进行绘图,则 summarise 子句汇总为 ... by bin(timestamp, 10m)
, location。
set query_bin_auto_size=1h;
set query_bin_auto_at=datetime(2017-01-01 00:05);
range Timestamp from datetime(2017-01-01 00:05) to datetime(2017-01-01 00:15) step 1m
| summarize count() by bin_auto(Timestamp)
let interval = toscalar(requests
| summarize interval = (max(timestamp)-min(timestamp)) / numberOfBuckets
| project floor(interval, 1m));
requests
| summarize count() by bin(timestamp , interval)
您可以参考如何从查询中访问查询编辑器中选择的时间范围?,你能在同一个查询中有 2 个不同的时间范围吗?并在支持 Azure 门户仪表板中选择的时间粒度(通过 bin_auto?)