Поделиться через


Запросы для таблицы AzureMetrics

Сведения об использовании этих запросов на портале Azure см. в руководстве по Log Analytics. Сведения о REST API см. в разделе "Запрос".

Круговая диаграмма кодов ответа 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Обратите внимание, что этот запрос требует обновления параметра <SearchValue> для получения результатов.

// 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. Обратите внимание, что для получения результатов необходимо обновить параметр <SearchValue>.

// 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

График трафика ExpressRoute Circuit (бит/секунда)

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

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

График трафика ExpressRoute Circuit BitsOutPerSecond

График трафика, биты в секунду (последний час).

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

График доступности ARP для канала 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)