Azure 監視器 REST API 篩選語法
許多 Azure 監視器 API 都會採用 參數 {filter-expression}
,您可以用來篩選或限制所收集的數據集。
在要求多個資源中使用篩選 '*'
重要
*
多個資源的篩選中的 不是通配符。 它是用來要求多個資源的常值字串。
*
用來要求單一時間序列中的多個資源。
在下列 $filter=Microsoft.ResourceId eq '*'
範例中,會指示 API 針對訂用帳戶和區域中的每個虛擬機資源傳回個別的時間序列。 如果沒有篩選,API 會傳回單一時間序列,匯總所有 VM 的平均 CPU。 每個資源的時間序列會依每個時間序列專案的 Microsoft.ResourceId 元數據值來區分。
如果您使用 $filter=Microsoft.ResourceId eq '*'
且沒有任何資源,在此案例中為指定時間序列中的 VM,則會傳回空的時間範圍 timeseries:[]
,因為要求的維度集合沒有任何結果包含 ResourceId
沒有篩選的相同查詢會傳回單一時間序列,針對所有 VM 傳回匯總的平均 CPU = 0
,因為這是所有要求維度的總和。
GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01®ion=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'
使用範例 $filter
以下是您可以傳遞為 {filter-expression}
的可能表達式字串。 不允許任何其他語法。
列出資源群組的事件
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceGroupName eq '<ResourceGroupName>'
範例:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z 和 eventTimestamp le 2014-12-29T23:36:37Z 和 eventChannels eq '管理員, Operation' 和 resourceGroupName eq 'CloudLab'
列出資源的事件
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceUri eq '<ResourceURI>'
範例:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z 和 eventTimestamp le 2014-12-29T23:36:37Z 和 eventChannels eq '管理員, Operation' and resourceUri eq '/subscriptions/089bd33f-d4ec-47fe-8ba5-0753aa5c5b33/resourcegroups/CloudLab/providers/Microsoft.Web/sites/mytestweb004'
列出 Azure 訂用帳戶的事件
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation'
範例:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z 和 eventTimestamp le 2014-12-29T23:36:37Z 和 eventChannels eq '管理員, Operation'
列出 Azure 資源提供者的事件
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceProvider eq '<ResourceProviderName>'
範例:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z 和 eventTimestamp le 2014-12-29T23:36:37Z 和 eventChannels eq '管理員,Operation' 和 resourceProvider eq 'Microsoft.Web'
列出相互關聯標識碼的事件
api-version=2014-04-01&$filter=eventTimestamp ge 2014-07-16T04:36:37.6407898Z and eventTimestamp le 2014-07-20T04:36:37.6407898Z and eventChannels eq 'Admin, Operation' and correlationId eq '<CorrelationID>'
範例:api-version=2014-04-01&$filter=eventTimestamp ge 2014-12-29T22:00:37Z 和 eventTimestamp le 2014-12-29T23:36:37Z 和 eventChannels eq '管理員, Operation' and correlationId eq '07c85493-5e87-4efd-9200-0c64d904d878'