我在这里努力寻找运行kusto查询的时间间隔。
我想要做的是计算在Azure应用服务上运行的某些特定API的停机时间。天蓝色APP服务的所有日志都显示在App分析中。
要绘制停机时间,我能够通过查询找到API的分钟数。
现在的挑战是计算启动时间百分比。该查询将运行在门户网站上提供的时间范围内所选的日志上。
表示如果我在控制台中更改时间范围,则将相应地计算停机时间分钟数。但由于我不知道时间范围,因此无法计算其正常运行时间的百分比。
现在,我每次必须更新查询,我从控制台更改时间范围以计算UP时间百分比。
编辑1
requests
| where client_Type != "Browser"
| where operation_Name =~ 'GET Account/Login'
| summarize failed_requests=sumif(itemCount, toint(resultCode) >= 500), total_requests=sum(itemCount) by bin(timestamp, 1m)
| extend failure_percentage=(failed_requests * 100/ total_requests)
| extend external_sla_failure=iff(failure_percentage < 100, 0, 1)
| extend internal_sla_failure=iff(external_sla_failure == 0 and failed_requests < 3, 0 , 1)
| summarize internal_sla_downtime_min=sum(internal_sla_failure), external_sla_downtime_min=sum(external_sla_failure)
此查询计算内部和外部两个停机时间。现在,我只想计算两个停机时间的%正常运行时间。要计算,我需要从门户网站时间范围选择器中选择的持续时间。
此时间范围是从azure门户应用程序分析时间范围选择器或azure仪表板时间选择器中选择的。是否有任何变量或某些东西来存储从门户网站(应用程序分析或天蓝色仪表板)上的时间选择器中选择的时间跨度(或开始时间和结束时间)?
编辑2
我可以通过在 时间戳 上使用 min 和 max 函数来放置一些骇人但不完美的逻辑和结束时间,但如果应用在所选时间的前 n 分钟或后 m 分钟内未收到任何请求,则会计算%正常运行时间显示不正确的数据。