Исключение данных из графиков KQL SLA

Мы показываем диаграммы SLA для URL-адресов, VPN и виртуальных машин, поэтому, если есть какое-либо запланированное плановое обслуживание, мы хотим исключить это время в диаграммах KQL SLA как известное время простоя.

Мы отключаем оповещения через PowerShell, в это время мы передаем столбцы ниже в настраиваемую таблицу Loganalytics.

     "resourcename": "$resourcename",
     "Alertstate": "Enabled",
     "Scheduledmaintenance" : "stop",
     "Environment" : "UAT",
     "timestamp": "$TimeStampField",

    Now we want to use join condition SLA charts queries  with custom table data and exclude the time range in SLA charts during scheduled maintenance.

    Adding query as per request
    ---------------------------

    url_json_CL
    | where Uri_s contains "xxxx"
    | extend Availablity = iff(StatusCode_d ==200,1.000,0.000)
    | extend urlhit = 1.000
    | summarize PassCount = sum(Availablity), TestCount = sum(urlhit) by Uri_s ,ClientName_s
    | extend AVLPERCENTAGE = ((PassCount / TestCount ) * 100)
    | join kind=leftouter 
(  scheduledmaintenance2_CL
     | where ResourceName_s == "VMname" 
     | where ScheduledMaintenance_s == "start" 
     | extend starttime = timestamp_t)
     on ClientName_s
    | join kind= leftouter
     (scheduledmaintenance2_CL
     | where ResourceName_s == "VMname" 
     | where ScheduledMaintenance_s == "stop" 
     | extend stoptime = timestamp_t )
     on ClientName_s
     | extend excludedtime=stoptime - starttime  
     | project ClientName_s, ResourceName_s, excludedtime, AVLPERCENTAGE , Uri_s 
     | top 3 by  ClientName_s  desc

person Dev Reddy    schedule 08.07.2019    source источник


Ответы (1)


Вы можете выполнять запросы журнала между ресурсами в Azure Monitor.

  1. Используя проводник Application Insights, мы также можем запрашивать настраиваемые таблицы рабочей области Log Analytics.

workspace("/subscriptions/xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx/resourcegroups/rgname/providers/Microsoft.OperationalInsights/workspaces/workspacename").Event | count

  1. Используя проводник журналов Log Analytics, вы можете запросить результаты доступности Application Insights.

app("applicationinsightsinstancename").availabilityResults

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

Дополнительная справочная документация.

Надеюсь это поможет.

person bharathn-msft    schedule 09.07.2019
comment
Вы также можете проголосовать за запрос функции в тех же строках в App Insights для запланированного простоя. feedback.azure.com/forums/602299-azure-monitor-alert-management/ - person bharathn-msft; 09.07.2019
comment
Спасибо за ответ .. нет, это не поможет - person Dev Reddy; 10.07.2019
comment
Не могли бы вы помочь поделиться запросом, который вы используете для присоединения к таблицам, или действиями, которые вы выполняете для получения диаграмм SLA. Это может помочь мне лучше понять проблему, с которой вы столкнулись. Спасибо - person bharathn-msft; 10.07.2019
comment
у нас есть одна настраиваемая таблица, которая содержит URL-адреса, запущенные в 1 виртуальной машине, мы создали панель мониторинга, показав SLA для этих URL-адресов, когда есть какой-либо запланированный клиент обслуживания, который знает об этом обслуживании, поэтому предположим, что время простоя на этой виртуальной машине составляет 1 час, когда мы выбираем В чатах SLA 24 часа он должен исключить этот 1 час простоя и показать его как 100%, потому что мы передаем время начала и окончания обслуживания расписания в другую настраиваемую таблицу, присоединившись к обоим, мы должны исключить это время - person Dev Reddy; 11.07.2019