Sintassi del filtro API REST di Monitoraggio di Azure

Molte API di Monitoraggio di Azure accettano un parametro , {filter-expression}che è possibile usare per filtrare o vincolare il set di dati raccolti.

Uso del filtro '*' nella richiesta di più risorse

Importante

In * un filtro per più risorse non è un carattere jolly. Si tratta di una stringa letterale usata per richiedere più risorse. viene * usato per richiedere più risorse in una singola serie temporale.

Nell'esempio seguente $filter=Microsoft.ResourceId eq '*' l'API indica all'API di restituire una serie temporale separata per ogni risorsa macchina virtuale nella sottoscrizione e nell'area. Senza il filtro, l'API restituirà una singola serie temporale aggregando la CPU media per tutte le macchine virtuali. La serie temporale per ogni risorsa viene differenziata in base al valore dei metadati Microsoft.ResourceId in ogni voce della serie temporale.

Se si usa $filter=Microsoft.ResourceId eq '*' e non sono presenti risorse, in questo caso le macchine virtuali nella serie temporale specificata vengono restituite le ore vuote timeseries:[] perché non sono presenti risultati per il set richiesto di dimensione che include ResourceId
La stessa query senza il filtro restituirà una singola serie temporale che restituisce una CPU media aggregata = 0 per tutte le macchine virtuali, poiché si tratta della somma in tutte le dimensioni richieste.

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 '*'

Esempio di utilizzo $filter

Ecco le possibili stringhe di espressione che è possibile passare come {filter-expression}. Non sono consentite altre sintassi.

  • Elencare eventi per un gruppo di risorse

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceGroupName eq '<ResourceGroupName>'
    

    Esempio:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z e eventTimestamp le 2014-12-29T23:36:37Z ed eventChannels eq 'Amministrazione, Operation' e resourceGroupName eq 'CloudLab'

  • Elencare eventi per una risorsa

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceUri eq '<ResourceURI>'
    

    Esempio:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z e eventTimestamp le 2014-12-29T23:36:37Z ed eventChannels eq 'Amministrazione, Operation' e resourceUri eq '/subscriptions/089bd33f-d4ec-47fe-8ba5-0753a5c5b33/resourcegroups/CloudLab/providers/Microsoft.Web/sites/mytestweb004'

  • Elencare eventi per una sottoscrizione di Azure

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation'
    

    Esempio:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z e eventTimestamp le 2014-12-29T23:36:37Z ed eventChannels eq 'Amministrazione, Operation'

  • Elencare eventi per un provider di risorse di Azure

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceProvider eq '<ResourceProviderName>'
    

    Esempio:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z e eventTimestamp le 2014-12-29T23:36:37Z ed eventChannels eq 'Amministrazione, Operation' e resourceProvider eq 'Microsoft.Web'

  • Elencare gli eventi per un ID di correlazione

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

    Esempio: api-version=2014-04-01&$filter=eventTimestamp ge 2014-12-29T22:00:37Z e eventTimestamp le 2014-12-29T23:36:37Z ed eventChannels eq 'Amministrazione, Operation' e correlationId eq '07c85493-5e87-4efd-9200-0c64d904d878'