Запросы к таблице AzureMetrics

Круговая диаграмма кодов HTTP-ответов

Разбивка кодов ответов для каждой метрики за последние 12 часов.

AzureMetrics 
| where TimeGenerated > ago(12h)  
| where MetricName in ("Http2xx", "Http3xx", "Http4xx", "Http5xx") 
| summarize sum(Total) by MetricName  
| render piechart

График времени отклика

Временной ряд среднего времени отклика (более 5 минут).

AzureMetrics 
| extend timeBin = bin(TimeGenerated, 5m) 
| summarize ResponseTime = sumif(Average, MetricName=="AverageResponseTime") by timeBin, bin(TimeGenerated, 1h) 
| sort by TimeGenerated desc 
| render timechart

[Классическая модель] Поиск в AzureMetrics

[Классическая модель] Поиск в AzureMetrics для поиска определенного значения в таблице AzureMetrics./nПримечание, что этот запрос требует обновления <параметра SeachValue> для получения результатов

// This query requires a parameter to run. Enter value in SearchValue to find in table.
let SearchValue =  "<SearchValue>";//Please update term you would like to find in the table.
AzureMetrics
| where * contains tostring(SearchValue)
| take 1000

Последние метрики

Отображение последних отчетов о метриках для каждой сообщаемой метрики.

AzureMetrics 
| summarize arg_max(TimeGenerated, UnitName, Total, Count, Maximum, Minimum, Average) by MetricName

Поиск в AzureMetrics

Поиск в AzureMetrics для поиска определенного значения в таблице AzureMetrics./nПримечание, что этот запрос требует обновления <параметра SeachValue> для получения результатов

// This query requires a parameter to run. Enter value in SearchValue to find in table.
let SearchValue =  "<SearchValue>";//Please update term you would like to find in the table.
AzureMetrics
| where * contains tostring(SearchValue)
| take 1000

Биты канала ExpressRouteInPerSecond граф трафика

График трафика BitsInPerSecond (последний час).

AzureMetrics
| where MetricName == "BitsInPerSecond"
| summarize by Average, bin(TimeGenerated, 1h), Resource
| render timechart

BitsOutPerSecond канала ExpressRoute граф трафика

График трафика BitsOutPerSecond (последний час).

AzureMetrics
| where MetricName == "BitsOutPerSecond"
| summarize by Average, bin(TimeGenerated, 1h), Resource
| render timechart

Граф ArpAvailablility канала ExpressRoute

График трафика для ArpAvailability (5 минут).

AzureMetrics
| where MetricName == "ArpAvailability"
| summarize by Average, bin(TimeGenerated, 5m), Resource
| render timechart

Доступность BGP канала ExpressRoute

График трафика для BgpAvailability (5 минут).

AzureMetrics
| where MetricName == "BgpAvailability"
| summarize by Average, bin(TimeGenerated, 5m), Resource
| render timechart

Ср. загрузка ЦП

Среднее использование ЦП за последний час по имени ресурса.

//consistently high averages could indicate a customer needs to move to a larger SKU
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL" // /DATABASES
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent') 
| parse _ResourceId with * "/microsoft.sql/servers/" Resource  // subtract Resource name for _ResourceId
| summarize CPU_Maximum_last15mins = max(Maximum), CPU_Minimum_last15mins = min(Minimum), CPU_Average_last15mins = avg(Average) by Resource , MetricName

Устранение проблем с производительностью

Потенциальное выполнение запросов или взаимоблокировки в системе, что может привести к снижению производительности.

//potentially a query or deadlock on the system that could lead to poor performance
AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >=ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource // subtract Resource name for _ResourceId
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

Загрузка данных

Отслеживайте загрузку данных за последний час.

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource// subtract Resource name for _ResourceId
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

Число подключений P2S

Число активных подключений P2S за последние 30 дней.

AzureMetrics 
| where TimeGenerated > ago(30d)
| where MetricName == "P2SConnectionCount"
| summarize by Maximum, bin(TimeGenerated,1h), Resource
| render timechart

Использование пропускной способности P2S

Среднее использование пропускной способности P2S за последние 12 часов в битах в секунду.

AzureMetrics
| where TimeGenerated > ago(24h)
| where MetricName == "P2SBandwidth" 
| summarize by Average, bin(TimeGenerated, 1h), Resource
| render timechart

Пропускная способность шлюза

Совокупная пропускная способность шлюза в байтах/с.

AzureMetrics 
| where TimeGenerated > ago(24h)
| where MetricName == "AverageBandwidth"
| summarize by Average, bin(TimeGenerated, 1h), Resource
| render timechart

Отображение журналов из таблицы AzureMetrics

Списки последние журналы в таблице AzureMetrics, отсортированные по времени (последняя первая).

AzureMetrics
| top 10 by TimeGenerated

Отображение журналов из таблицы AzureMetrics

Списки последние журналы в таблице AzureMetrics, отсортированные по времени (последняя первая).

AzureMetrics
| top 10 by TimeGenerated

Доступность кластера (KeepAlive)

Отображение доступности кластера за последний час.

// To create an alert for this query, click '+ New alert rule'
AzureMetrics 
| where ResourceProvider == "MICROSOFT.KUSTO"
| where TimeGenerated > ago(1d)
| where MetricName == "KeepAlive"
| parse _ResourceId with * "providers/microsoft.kusto/clusters/" cluster_name // Get the cluster name from the ResourceId string
| summarize heartbeat_count = count() by bin(TimeGenerated, 30m), cluster_name // bin is used to set the time grain to 30 minutes
| extend alive=iff(heartbeat_count > 0, true, false)
| sort by TimeGenerated asc // sort the results by time (ascending order)