查询获取多个 y 系列以使用 ysplit=panels 呈现多个面板
Query to Get Multiple y-series for Using ysplit=panels to render multiple panels
如何编写查询以创建正确格式的数据结果,以便使用 | render timechart with (ysplit=panels)
输出在多个面板中绘制?
查看 Microsoft 的示例,我需要让 IPPrefix
列在一行中生成多个列。相反,我的查询为 IPPrefix
.
中的每个分组生成单独的行
我有以下查询:
let startTime = datetime('2020.07.23 20:00:00');
let endTime = datetime('2020.07.23 23:59:00');
AzureDiagnostics
| where TimeGenerated between (startTime..endTime)
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| where requestUri_s contains "api/auth/ping"
| extend IPParts = split(clientIP_s, '.')
| extend IPPrefix = strcat(IPParts[0], '.', IPParts[1], '.', IPParts[2])
| make-series Count = count() on TimeGenerated in range(startTime, endTime, 5m) by IPPrefix
//| summarize AggregatedValue = count() by IPPrefix, bin(TimeGenerated, 1m)
| render timechart with (ysplit=panels)
我希望结果类似于:
但是,所有 y 系列都绘制在一个面板中,例如:
我想我没有以正确的方式使用 make-series
来产生我需要的结果,但我无法以不同的方式应用它来使其工作。
我意识到我需要在渲染之前以数据为中心。我还了解到 ysplit=panels
选项有 5 个面板的限制。我不得不将系列限制为五个,然后对聚合数据执行透视。
...
| make-series Count = count() on TimeGenerated in range(startTime, endTime, 1m) by IPPrefix
| take 5
| evaluate pivot(IPPrefix, any(Count), TimeGenerated)
| render timechart with(ysplit=panels)
生成的包含五个面板的图表。
如何编写查询以创建正确格式的数据结果,以便使用 | render timechart with (ysplit=panels)
输出在多个面板中绘制?
查看 Microsoft 的示例,我需要让 IPPrefix
列在一行中生成多个列。相反,我的查询为 IPPrefix
.
我有以下查询:
let startTime = datetime('2020.07.23 20:00:00');
let endTime = datetime('2020.07.23 23:59:00');
AzureDiagnostics
| where TimeGenerated between (startTime..endTime)
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| where requestUri_s contains "api/auth/ping"
| extend IPParts = split(clientIP_s, '.')
| extend IPPrefix = strcat(IPParts[0], '.', IPParts[1], '.', IPParts[2])
| make-series Count = count() on TimeGenerated in range(startTime, endTime, 5m) by IPPrefix
//| summarize AggregatedValue = count() by IPPrefix, bin(TimeGenerated, 1m)
| render timechart with (ysplit=panels)
我希望结果类似于:
但是,所有 y 系列都绘制在一个面板中,例如:
我想我没有以正确的方式使用 make-series
来产生我需要的结果,但我无法以不同的方式应用它来使其工作。
我意识到我需要在渲染之前以数据为中心。我还了解到 ysplit=panels
选项有 5 个面板的限制。我不得不将系列限制为五个,然后对聚合数据执行透视。
...
| make-series Count = count() on TimeGenerated in range(startTime, endTime, 1m) by IPPrefix
| take 5
| evaluate pivot(IPPrefix, any(Count), TimeGenerated)
| render timechart with(ysplit=panels)
生成的包含五个面板的图表。