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&region=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'