Azure 诊断中 timeTaken_d 的度量单位是什么?

Azure 诊断中 timeTaken_d 的度量单位是什么?

我想获得所有花费时间超过 2 秒的请求的列表,我认为这是正确的,因为它timeTaken_d似乎是一个浮点数,并且似乎以秒为单位。

AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and timeTaken_d  > 2
| project TimeGenerated, host_s, requestUri_s, httpStatus_d, backendPoolName_s, serverRouted_s, timeTaken_d 
| order by TimeGenerated desc 

然而,我在其他地方看到过这个度量单位是毫秒。

有人知道吗?更好的是,有人能给我指点一下文档吗?

答案1

以毫秒为单位,如下所示文档

timeTaken:处理请求并发送响应所需的时间(以毫秒为单位)。此时间计算为从应用程序网关收到 HTTP 请求的第一个字节到响应发送操作完成的时间间隔。需要注意的是,Time-Taken 字段通常包括请求和响应数据包在网络上传输的时间。

答案2

我有同样的问题标记并找到了山姆有帮助。但是我想指出的是,timeTaken_d 在 WAF_v1(毫秒)和 WAF_v2(秒)中以不同的单位报告。在 Azure 门户中,您可以通过查看应用程序网关的配置部分来查看您处于哪个层级。

https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-diagnostics#for-application-gateway-and-waf-v2-sku

答案3

timeTaken_d 字段中的时间以毫秒为单位。

所请求的信息位于以下文档的“分析日志”部分下 -

https://cbeveridge.co.uk/2020/03/07/troubleshooting-azure-gateway-web-application-firewall-waf-logs/

相关内容