Найти время начала и окончания (или промежуток времени) запроса kusto в Azure Log Analytics?

Я пытаюсь найти временной интервал, в течение которого выполняется запрос kusto.

Я пытаюсь вычислить время простоя некоторых определенных API, которые работают в службе приложений Azure. Все журналы службы Azure APP присутствуют в аналитике приложений.

Чтобы составить график времени простоя, я смог найти количество минут, которое API рассматривает в запросе.

Теперь задача состоит в том, чтобы рассчитать процент времени UP. Запрос выполняется по журналам, выбранным за период времени, указанный на портале.

То есть, если я изменю временной диапазон в консоли, минуты простоя рассчитываются соответственно. Но так как я не знаю временной интервал, я не могу рассчитать время% выполнения для него.

Прямо сейчас мне приходится обновлять запрос каждый раз, я меняю временной диапазон с консоли, чтобы рассчитать процент времени 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. Существует ли какая-либо переменная или что-то, что хранит промежуток времени (или время начала и окончания), который был выбран из средства выбора времени на портале (аналитика приложений или панель управления Azure)?

Редактировать 2

Я могу поставить хакерскую, но несовершенную логику с помощью функции min и max на отметке времени, чтобы получить время начала и окончания, но если приложение не получит никакого запроса в течение первых n минут или последних m минут выбранного времени, вычисление % up time покажет неверно данные.

1 ответ

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

Как вы обнаружили, нет способа получить эти значения с помощью переменных или других приемов.

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

      let mintime = toscalar(TheAlwaysPresentMetric | summarize MinTS=min(TimeGenerated));
let maxtime = toscalar(TheAlwaysPresentMetric | summarize MaxTS=max(TimeGenerated));
requests
| where [...use the mintime/maxtime...]
Другие вопросы по тегам