Замена параметров на основе результатов - PullRequest
0 голосов
/ 12 июня 2019

в приведенном ниже скрипте мы проверяем среднюю доступность статуса URL-адреса в выбранном временном диапазоне, а также последнее состояние работоспособности за последние 3 минуты, все работает хорошо, но, как вы знаете, внедрение данных аналитики журнала несколько раз происходит медленно из-за этого при последней проверкеЧерез 3 минуты для последнего состояния работоспособности мы получаем нулевые значения, поэтому оно будет отображаться как нездоровое, но значение avg будет отображаться как исправное, поскольку пользователь выбрал временной интервал за последние 4 часа, после чего появятся записи со всем состоянием работоспособности.

let start = {TimeRange:start};
let grain =  {TimeRange:grain};
workspace(name).login_CL
| extend healthy=iff(StatusCode_s == 'OK' , 100 , 0)
| where TimeGenerated>={TimeRange:end}-3m and TimeGenerated<={TimeRange:end}
| summarize Availability=avg(healthy) by EnvName_s, ClientName_s
| extend HealthStatus=0.000
| extend LatestHealthStatus=Availability
| project Client=ClientName_s,Environment=EnvName_s,HealthStatusAverage = HealthStatus,LatestHealthStatus
)
| union
workspace(name).login_CL
| extend healthy=iff(StatusCode_s == 'OK' , 100 , 0)
| where TimeGenerated>={TimeRange:start} and TimeGenerated<={TimeRange:end}
| summarize pageAvailability=avg(healthy) by EnvName_s, ClientName_s
| extend LatestHealthStatus=0.000
| extend HealthStatus=pageAvailability
| join
(  workspace(name).login_CL
| extend healthy=iff(StatusCode_s == 'OK' , 100 , 0)
| where TimeGenerated>={TimeRange:start} and TimeGenerated<={TimeRange:end}
| make-series lifeline = avg(healthy) on TimeGenerated from start to now() step grain by EnvName_s, ClientName_s
) 
on EnvName_s
| project  Environment=EnvName_s,HealthStatusAverage = HealthStatus,LatestHealthStatus,Lifeline=lifeline
| summarize AverageHealth=sum(HealthStatusAverage), 
  LatestHealth=sum(LatestHealthStatus),HearthbeatAvg=make_list(Lifeline) by 
  Environment

то, что нам нужно, это если последнее состояние здоровья нездорово по какой-либо причине, среднее значение также должно быть показано как нездоровое. Я приложил скриншот рабочей книги для справки

...