Delen via


Overzicht van REST API voor Azure-bewaking

In dit artikel leest u hoe u de Naslaginformatie over de Azure Monitor REST API gebruikt.

Haal metrische definities, dimensiewaarden en metrische waarden op met behulp van de Azure Monitor-API en gebruik de gegevens in uw toepassingen of sla deze op in een database voor analyse. U kunt ook waarschuwingsregels weergeven en activiteitenlogboeken weergeven met behulp van de Azure Monitor-API.

Azure Monitor-aanvragen verifiëren

Aanvraag ingediend met behulp van de Azure Monitor-API maakt gebruik van het Azure Resource Manager-verificatiemodel. Alle aanvragen worden geverifieerd met Microsoft Entra-id. Een benadering voor het verifiëren van de clienttoepassing is het maken van een Microsoft Entra-service-principal en het ophalen van een verificatietoken. U kunt een Microsoft Entra-service-principal maken met behulp van Azure Portal, CLI of PowerShell. Zie Een app registreren om autorisatietokens aan te vragen en met API's te werken voor meer informatie.

Een token ophalen

Nadat u een service-principal hebt gemaakt, haalt u een toegangstoken op. Geef resource=https://management.azure.com op in de tokenaanvraag.

Haal een verificatietoken op met een van de volgende methoden:

  • CLI
  • REST-API
  • SDK

Wanneer u een token aanvraagt, moet u een resource parameter opgeven. De resource parameter is de URL van de resource die u wilt openen.

Resources zijn onder meer:

  • https://management.azure.com
  • https://api.loganalytics.io
  • https://monitoring.azure.com

Een token ophalen met behulp van een REST-aanvraag

Gebruik de volgende REST API-aanroep om een token op te halen. Deze aanvraag maakt gebruik van een client-id en clientgeheim om de aanvraag te verifiëren. De client-id en het clientgeheim worden verkregen wanneer u uw toepassing registreert bij Microsoft Entra-id. Zie Een app registreren om autorisatietokens aan te vragen en met API's te werken voor meer informatie

curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://monitoring.azure.com'

De hoofdtekst van het antwoord wordt weergegeven in de volgende indeling:

{
    "token_type": "Bearer",
    "expires_in": "86399",
    "ext_expires_in": "86399",
    "expires_on": "1672826207",
    "not_before": "1672739507",
    "resource": "https://monitoring.azure.com",
    "access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}

Nadat u een token hebt geverifieerd en opgehaald, gebruikt u het toegangstoken in uw Azure Monitor API-aanvragen door de header op te geven 'Authorization: Bearer <access token>'

Notitie

Zie de Naslaginformatie over de Azure REST API voor meer informatie over het werken met de Azure REST API.

De resource-id ophalen

Voor het gebruik van de REST API is de resource-id van de Azure-doelresource vereist. Resource-id's volgen het volgende patroon:

/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<provider>/<resource name>/

Bijvoorbeeld

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • Elastische SQL-pool: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Database (v12): /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/databases/<database-name>
  • Azure Service Bus: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • Azure Virtual Machine Scale Sets: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<vm-name>
  • Virtuele Azure-machines: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>
  • Azure Event Hubs: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.EventHub/namespaces/<eventhub-namespace>

Gebruik Azure Portal, PowerShell of De Azure CLI om de resource-id te vinden.

Als u de resource-id in de portal wilt vinden, selecteert u de JSON-weergave op de overzichtspagina van de resourceEen schermopname van de overzichtspagina voor een resource met de koppeling voor de JSON-weergave gemarkeerd.

De pagina Resource JSON wordt weergegeven. De resource-id kan worden gekopieerd met behulp van het pictogram rechts van de id.

Een schermopname van de pagina Resource JSON voor een resource.

API-eindpunten

De API-eindpunten gebruiken het volgende patroon:
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
De resource URI bestaat uit de volgende onderdelen:
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

Belangrijk

Zorg ervoor dat u deze opneemt /providers/microsoft.insights/ na de resource-URI wanneer u een API-aanroep uitvoert om metrische gegevens of metrische definities op te halen.

Metrische definities ophalen

Gebruik de REST API voor metrische azure Monitor-definities voor toegang tot de lijst met metrische gegevens die beschikbaar zijn voor een service. Gebruik de volgende aanvraagindeling om metrische definities op te halen.

GET /subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/providers/microsoft.insights/metricDefinitions?api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

Met de volgende aanvraag worden bijvoorbeeld de metrische definities voor een Azure Storage-account opgehaald.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01'
--header 'Authorization: Bearer eyJ0eXAiOi...xYz

In de volgende JSON ziet u een voorbeeld van de antwoordtekst. In dit voorbeeld heeft alleen de tweede metriek dimensies.

{
    "value": [
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/UsedCapacity",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Capacity",
            "name": {
                "value": "UsedCapacity",
                "localizedValue": "Used capacity"
            },
            "isDimensionRequired": false,
            "unit": "Bytes",
            "primaryAggregationType": "Average",
            "supportedAggregationTypes": [
                "Total",
                "Average",
                "Minimum",
                "Maximum"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                 ...
                {
                    "timeGrain": "PT12H",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ]
        },
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/Transactions",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Transaction",
            "name": {
                "value": "Transactions",
                "localizedValue": "Transactions"
            },
            "isDimensionRequired": false,
            "unit": "Count",
            "primaryAggregationType": "Total",
            "supportedAggregationTypes": [
                "Total"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT5M",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "PT30M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ],
            "dimensions": [
                {
                    "value": "ResponseType",
                    "localizedValue": "Response type"
                },
                {
                    "value": "GeoType",
                    "localizedValue": "Geo type"
                },
                {
                    "value": "ApiName",
                    "localizedValue": "API name"
                }
            ]
        },
        ...
    ]
}

Notitie

U wordt aangeraden API-versie 2018-01-01 of hoger te gebruiken. Oudere versies van de API voor metrische definities bieden geen ondersteuning voor dimensies.

Dimensiewaarden ophalen

Nadat u de beschikbare metrische definities hebt opgehaald, haalt u het bereik met waarden voor de dimensies van de metrische gegevens op. Gebruik dimensiewaarden om de metrische gegevens in uw query's te filteren of segmenteren. Gebruik de REST API voor metrische gegevens van Azure Monitor om alle waarden voor een bepaalde metrische dimensie te vinden.

Gebruik het element van name.value de metrische waarde in de filterdefinities. Als er geen filters zijn opgegeven, wordt de standaardwaarde geretourneerd. Met de API kan slechts één dimensie een jokertekenfilter hebben. Geef de aanvraag voor dimensiewaarden op met behulp van de "resultType=metadata" queryparameter. De resultType waarde wordt weggelaten voor een aanvraag voor metrische waarden.

Notitie

Als u dimensiewaarden wilt ophalen met behulp van de Azure Monitor REST API, gebruikt u de API-versie 2019-07-01 of hoger.

Gebruik de volgende aanvraagindeling om dimensiewaarden op te halen.

GET /subscriptions/<subscription-id>/resourceGroups/  
<resource-group-name>/providers/<resource-provider-namespace>/  
<resource-type>/<resource-name>/providers/microsoft.insights/  
metrics?metricnames=<metric>  
&timespan=<starttime/endtime>  
&$filter=<filter>  
&resultType=metadata  
&api-version=<apiVersion>   HTTP/1.1
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

In het volgende voorbeeld wordt de lijst met dimensiewaarden opgehaald die zijn verzonden voor de API Name dimensie van de Transactions metrische waarde, waarbij de GeoType dimensie een waarde heeft voor Primaryhet opgegeven tijdsbereik.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics  \
?metricnames=Transactions \
&timespan=2023-03-01T00:00:00Z/2023-03-02T00:00:00Z \
&resultType=metadata \
&$filter=GeoType eq \'Primary\' and ApiName eq \'*\' \
&api-version=2019-07-01'
-header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0e..meG1lWm9Y'

In de volgende JSON ziet u een voorbeeld van de antwoordtekst.

{
  "timespan": "2023-03-01T00:00:00Z/2023-03-02T00:00:00Z",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "DeleteBlob"
            }
          ]
        },
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "SetBlobProperties"
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Metrische waarden ophalen

Nadat u de metrische definities en dimensiewaarden hebt opgehaald, haalt u de metrische waarden op. Gebruik de REST API voor metrische gegevens van Azure Monitor om de metrische waarden op te halen.

Gebruik het element van name.value de metrische waarde in de filterdefinities. Als er geen dimensiefilters zijn opgegeven, wordt de samengevouwen, geaggregeerde metrische waarde geretourneerd.

Meerdere tijdreeksen

Een tijdreeks is een set gegevenspunten die zijn geordend op tijd voor een bepaalde combinatie van dimensies. Een dimensie is een aspect van de metrische waarde die het gegevenspunt beschrijft, zoals resource-id, regio of ApiName.

  • Als u meerdere tijdreeksen met specifieke dimensiewaarden wilt ophalen, geeft u een filterqueryparameter op waarmee beide dimensiewaarden zoals "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'". In dit voorbeeld krijgt u een tijdreeks waarin ApiName zich ListContainers bevindt en een tweede tijdreeks waar ApiName zich bevindt GetBlobServiceProperties.
  • Als u een tijdreeks wilt retourneren voor elke waarde van een bepaalde dimensie, gebruikt u een * filter zoals "&$filter=ApiName eq '*'". Gebruik de Top parameters en OrderBy query's om het aantal geretourneerde tijdreeksen te beperken en te sorteren. In dit voorbeeld krijgt u een tijdreeks voor elke waarde in ApiNamede resultatenset. Als er geen gegevens worden geretourneerd, retourneert de API een lege tijdreeks "timeseries": [].

Notitie

Als u multidimensionale metrische waarden wilt ophalen met behulp van de Azure Monitor REST API, gebruikt u de API-versie 2019-07-01 of hoger.

Gebruik de volgende aanvraagindeling om metrische waarden op te halen.

GET /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<resource-provider-namespace>/<resource-type>/<resource-name>/providers/microsoft.insights/metrics?metricnames=<metric>&timespan=<starttime/endtime>&$filter=<filter>&interval=<timeGrain>&aggregation=<aggreation>&api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

In het volgende voorbeeld worden de drie belangrijkste API's opgehaald, op basis van het aantal Transactions in aflopende waardevolgorde, gedurende een bereik van vijf minuten, waarbij de GeoType dimensie een waarde heeft van Primary.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics \
?metricnames=Transactions \
&timespan=2023-03-01T02:00:00Z/2023-03-01T02:05:00Z \
& $filter=apiname eq '\''GetBlobProperties'\'
&interval=PT1M \
&aggregation=Total  \
&top=3 \
&orderby=Total desc \
&api-version=2019-07-01"' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer yJ0eXAiOi...g1dCI6Ii1LS'

In de volgende JSON ziet u een voorbeeld van de antwoordtekst.

{
  "cost": 0,
  "timespan": "2023-03-01T02:00:00Z/2023-03-01T02:05:00Z",
  "interval": "PT1M",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "GetBlobProperties"
            }
          ],
          "data": [
            {
              "timeStamp": "2023-09-19T02:00:00Z",
              "total": 2
            },
            {
              "timeStamp": "2023-09-19T02:01:00Z",
              "total": 1
            },
            {
              "timeStamp": "2023-09-19T02:02:00Z",
              "total": 3
            },
            {
              "timeStamp": "2023-09-19T02:03:00Z",
              "total": 7
            },
            {
              "timeStamp": "2023-09-19T02:04:00Z",
              "total": 2
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Query's uitvoeren op metrische gegevens voor meerdere resources tegelijk.

Naast het uitvoeren van query's op metrische gegevens voor een afzonderlijke resource, ondersteunen sommige resourcetypen ook het uitvoeren van query's voor meerdere resources in één aanvraag. Deze API's zijn de kracht van de multi-resource-ervaring in De Verkenner voor metrische gegevens van Azure. De set resourcetypen die ondersteuning bieden voor het uitvoeren van query's voor meerdere metrische gegevens, kunt u zien op de blade Metrische gegevens in Azure Monitor via de vervolgkeuzelijst resourcetype in de bereikkiezer op de contextblade. Zie de UX-documentatie voor meerdere resources voor meer informatie.

Er zijn enkele belangrijke verschillen tussen het opvragen van metrische gegevens voor meerdere en afzonderlijke resources.

  • Metrische API's voor meerdere resources werken op abonnementsniveau in plaats van op resource-id-niveau. Deze beperking betekent dat gebruikers die query's uitvoeren op deze API's, machtigingen voor bewakingslezer moeten hebben voor het abonnement zelf.
  • Metrische API's voor meerdere resources ondersteunen slechts één resourceType per query. Deze moeten worden opgegeven in de vorm van een parameter voor de metrische naamruimtequery.
  • Metrische API's voor meerdere resources ondersteunen slechts één Azure-regio per query. Deze moeten worden opgegeven in de vorm van een regioqueryparameter.

Query's uitvoeren op metrische gegevens voor voorbeelden van meerdere resources

In het volgende voorbeeld ziet u een aanvraag voor afzonderlijke metrische definities:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01

De volgende aanvraag toont de equivalente aanvraag voor metrische definities voor meerdere resources. De enige wijzigingen zijn het abonnementspad in plaats van een resource-id-pad en de toevoeging van region en metricNamespace queryparameters.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines

In het volgende voorbeeld ziet u een aanvraag voor afzonderlijke metrische gegevens.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/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

Hieronder ziet u een equivalente aanvraag voor metrische gegevens voor meerdere resources:

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

Notitie

Er wordt een Microsoft.ResourceId eq '*' filter toegevoegd in het voorbeeld voor aanvragen voor metrische gegevens voor meerdere resources. Het * filter geeft aan dat de API een afzonderlijke tijdreeks retourneert voor elke virtuele-machineresource met gegevens in het abonnement en de regio. Zonder het filter retourneert de API één tijdreeks die de gemiddelde CPU voor alle VM's samenvoegt. De tijdreeksen voor elke resource worden onderscheiden door de Microsoft.ResourceId metagegevenswaarde voor elke tijdreeksvermelding, zoals te zien is in de volgende retourwaarde van het voorbeeld. Als er geen resourceIds zijn opgehaald door deze query, wordt er een lege tijdreeks"timeseries": [] geretourneerd.

{
    "timespan": "2023-06-25T22:35:00Z/2023-06-26T22:40:00Z",
    "interval": "PT6H",
    "value": [
        {
            "id": "subscriptions/12345678-abcd-98765432-abcdef012345/providers/Microsoft.Insights/metrics/Percentage CPU",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Percentage CPU",
                "localizedValue": "Percentage CPU"
            },
            "displayDescription": "The percentage of allocated compute units that are currently in use by the Virtual Machine(s)",
            "unit": "Percent",
            "timeseries": [
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 3.2618888888888886
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 4.696944444444445
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 6.19701388888889
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 2.630347222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 21.288999999999998
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM2"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 7.567069444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 5.111835883171071
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 10.078277777777778
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 8.399097222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 2.647
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/Common-TESTING/providers/Microsoft.Compute/virtualMachines/CommonVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 6.892319444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 3.5054305555555554
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 8.398817802503476
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 6.841666666666667
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 3.3850000000000002
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.compute/virtualmachines",
    "resourceregion": "eastus"
}

Problemen met het uitvoeren van query's op metrische gegevens voor meerdere resources oplossen

  • Lege tijdreeks geretourneerd "timeseries": []

    • Er wordt een lege tijdreeks geretourneerd wanneer er geen gegevens beschikbaar zijn voor het opgegeven tijdsbereik en filter. De meest voorkomende oorzaak is het opgeven van een tijdsbereik dat geen gegevens bevat. Als het tijdsbereik bijvoorbeeld is ingesteld op een toekomstige datum.
    • Een andere veelvoorkomende oorzaak is het opgeven van een filter dat niet overeenkomt met resources. Als met het filter bijvoorbeeld een dimensiewaarde wordt opgegeven die niet bestaat op resources in de combinatie van het abonnement en de regio, "timeseries": [] wordt deze geretourneerd.
  • Jokertekenfilters
    Het gebruik van een jokertekenfilter, zoals Microsoft.ResourceId eq '*' ervoor zorgt dat de API een tijdreeks retourneert voor elke resourceId in het abonnement en de regio. Als de combinatie van het abonnement en de regio geen resources bevat, wordt er een lege tijdreeks geretourneerd. Dezelfde query zonder het jokertekenfilter retourneert één tijdreeks, waarbij de aangevraagde metrische waarde wordt samengevoegd ten opzichte van de aangevraagde dimensies, bijvoorbeeld abonnement en regio.

  • 401-autorisatiefouten:
    Voor de API's voor metrische gegevens van afzonderlijke resources moet een gebruiker de machtiging Lezer voor bewaking hebben voor de resource waarop een query wordt uitgevoerd. Omdat de API's voor metrische gegevens voor meerdere resources API's op abonnementsniveau zijn, moeten gebruikers de machtiging Lezer voor bewaking hebben voor het opgevraagde abonnement om de API's voor metrische gegevens voor meerdere resources te kunnen gebruiken. Zelfs als gebruikers Bewakingslezer hebben voor alle resources in een abonnement, mislukt de aanvraag als de gebruiker geen bewakingslezer voor het abonnement zelf heeft.

Volgende stappen