Metrische gegevens van Azure Resource Manager in Azure Monitor
Wanneer u resources in Azure maakt en beheert, worden uw aanvragen ingedeeld via het besturingsvlak van Azure, Azure Resource Manager. In dit artikel wordt beschreven hoe u het volume en de latentie van aanvragen voor het besturingsvlak naar Azure bewaakt.
Met deze metrische gegevens kunt u verkeer en latentie voor aanvragen van besturingsvlakken in uw abonnementen observeren. U kunt nu bijvoorbeeld achterhalen wanneer uw aanvragen zijn beperkt of mislukt door te filteren op specifieke statuscodes door beperkte aanvragen te onderzoeken en serverfouten te onderzoeken.
De metrische gegevens zijn maximaal drie maanden (93 dagen) beschikbaar en volgen alleen synchrone aanvragen. Voor een scenario zoals het maken van een VM vertegenwoordigen de metrische gegevens niet de prestaties of betrouwbaarheid van de langdurige asynchrone bewerking.
Toegang tot metrische gegevens van Azure Resource Manager
U hebt toegang tot metrische gegevens van het besturingsvlak via de Azure Monitor REST API's, SDK's en de Azure Portal (door de metrische gegevens 'Azure Resource Manager' te selecteren). Zie Metrische gegevens van Azure Monitor voor een overzicht van Azure Monitor.
Er is geen opt-in- of registratieproces voor toegang tot metrische gegevens van het besturingsvlak.
Zie Azure REST API-naslaginformatie voor hulp bij het ophalen van een Bearer-token en het indienen van aanvragen naar Azure.
Definitie van metrische gegevens
De definitie voor metrische gegevens van Azure Resource Manager in Azure Monitor is alleen toegankelijk via de API-versie 2017-12-01-preview. Als u de definitie wilt ophalen, kunt u het volgende codefragment uitvoeren, waarbij uw abonnements-id '00000000-0000-0000-00000-0000000000' vervangt:
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metricDefinitions?api-version=2017-12-01-preview&metricnamespace=microsoft.resources/subscriptions' \
--header 'Authorization: bearer {{bearerToken}}'
Dit codefragment retourneert de definitie voor het schema voor metrische gegevens. Dit schema bevat met name de dimensies waarop u kunt filteren met de Monitor-API:
Dimensienaam | Beschrijving |
---|---|
ResourceUri | De volledige resource-id voor een bepaalde resource. |
RequestRegion | De Azure Resource Manager regio waar uw besturingsvlakaanvragen landen, zoals 'EastUS2'. Deze regio is niet de locatie van de resource. |
Statuscode | Antwoordtype van Azure Resource Manager voor uw aanvraag voor het besturingsvlak. Mogelijke waarden zijn (maar niet beperkt tot): - 0 - 200 - 201 - 400 - 404 - 429 - 500 - 502 |
StatusCodeClass | De klasse voor de statuscode die wordt geretourneerd door Azure Resource Manager. Mogelijke waarden zijn: - 2xx - 4xx - 5xx |
Naamruimte | De naamruimte voor de resourceprovider, in hoofdletters, zoals 'MICROSOFT. COMPUTE" |
Resourcetype | Elk resourcetype in Azure waarnaar u een aanvraag hebt gemaakt of verzonden, in hoofdletters, zoals 'VIRTUALMACHINES' |
Methode | De HTTP-methode die wordt gebruikt in de aanvraag voor Azure Resource Manager. Mogelijke waarden zijn: - GET -HOOFD - PUT - POST -PATCH -VERWIJDEREN |
Voorbeelden
Laten we nu enkele scenario's bekijken die u kunnen helpen bij het verkennen van metrische gegevens van Azure Resource Manager.
Query's uitvoeren op metrische gegevens van verkeer en latentiebesturingsvlak via Azure Portal
Ga eerst naar de blade Azure Monitor in de portal:
Nadat u Metrische gegevens verkennen hebt geselecteerd, selecteert u één abonnement en selecteert u vervolgens de metrische gegevens azure Resource Manager:
Nadat u Toepassen hebt geselecteerd, kunt u de metrische gegevens van het verkeers- of latentiebeheervlak visualiseren met aangepaste filters en splitsingen:
Metrische gegevens van verkeer en latentiecontrolevlak opvragen via REST API
Nadat u bent geverifieerd met Azure, kunt u een aanvraag indienen om metrische gegevens van het besturingsvlak voor uw abonnement op te halen. Vervang in het script '000000000-0000-0000-0000-000000000000' door uw abonnements-id. Het script haalt de gemiddelde latentie van aanvragen (in seconden) en het totale aantal aanvragen voor de periode van twee dagen op, opgesplitst in intervallen van één dag:
curl --location --request GET "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions®ion=global&aggregation=average,count×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
--header "Authorization: bearer {{bearerToken}}"
In het geval van metrische gegevens van Azure Resource Manager kunt u het aantal verkeer ophalen met behulp van de metrische waarde Latentie en inclusief de aggregatie 'aantal'. U ziet een JSON-antwoord voor de aanvraag:
{
"cost": 5758,
"timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
"interval": "P1D",
"value": [
{
"id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Latency",
"type": "Microsoft.Insights/metrics",
"name": {
"value": "Latency",
"localizedValue": "Latency"
},
"displayDescription": "Latency data for all requests to Azure Resource Manager",
"unit": "Seconds",
"timeseries": [
{
"metadatavalues": [],
"data": [
{
"timeStamp": "2021-11-01T00:00:00Z",
"count": 1406.0,
"average": 0.19345163584637273
},
{
"timeStamp": "2021-11-02T00:00:00Z",
"count": 1517.0,
"average": 0.28294792353328935
}
]
}
],
"errorCode": "Success"
}
],
"namespace": "microsoft.resources/subscriptions",
"resourceregion": "global"
}
Als u alleen het aantal verkeer wilt ophalen, kunt u de metrische gegevens Verkeer gebruiken met de aggregatie 'aantal':
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Traffic&metricnamespace=microsoft.resources/subscriptions®ion=global&aggregation=count×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
--header 'Authorization: bearer {{bearerToken}}'
Het antwoord op de aanvraag is:
{
"cost": 2879,
"timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
"interval": "P1D",
"value": [
{
"id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Traffic",
"type": "Microsoft.Insights/metrics",
"name": {
"value": "Traffic",
"localizedValue": "Traffic"
},
"displayDescription": "Traffic data for all requests to Azure Resource Manager",
"unit": "Count",
"timeseries": [
{
"metadatavalues": [],
"data": [
{
"timeStamp": "2021-11-01T00:00:00Z",
"count": 1406.0
},
{
"timeStamp": "2021-11-02T00:00:00Z",
"count": 1517.0
}
]
}
],
"errorCode": "Success"
}
],
"namespace": "microsoft.resources/subscriptions",
"resourceregion": "global"
}
Voor de metrische gegevens die dimensies ondersteunen, moet u de dimensiewaarde opgeven om de bijbehorende metrische waarden te zien. Als u zich bijvoorbeeld wilt richten op de latentie voor geslaagde aanvragen voor ARM, moet u de dimensie StatusCodeClass filteren met 2XX.
Als u wilt kijken naar het aantal aanvragen in uw abonnement voor netwerkresources, zoals virtuele netwerken en load balancers, moet u de dimensie Naamruimte filteren voor MICROSOFT. NETWERK.
Beperkte aanvragen onderzoeken
Als u alleen uw vertraagde aanvragen wilt weergeven, moet u alleen filteren op 429 statuscodereacties. Voor REST API-aanroepen wordt filteren uitgevoerd via de eigenschap $filter en de dimensie StatusCode door: $filter=StatusCode eq '429' toe te voegen, zoals te zien is aan het einde van de aanvraag in het volgende fragment:
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions®ion=global&aggregation=count,average×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCode%20eq%20%27429%27' \
--header 'Authorization: bearer {{bearerToken}}'
U kunt ook rechtstreeks filteren in de portal:
Serverfouten onderzoeken
Net als bij het kijken naar vertraagde aanvragen, bekijkt u alle aanvragen die een serverfoutreactiecode hebben geretourneerd door alleen 5xx-antwoorden te filteren. Voor REST API-aanroepen wordt filteren uitgevoerd via de eigenschap $filter en de dimensie StatusCodeClass door: $filter=StatusCodeClass eq '5xx' toe te voegen, zoals te zien is aan het einde van de aanvraag in het volgende fragment:
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions®ion=global&aggregation=count,average×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
--header 'Authorization: bearer {{bearerToken}}'
U kunt ook algemene serverfouten filteren in de portal door de filtereigenschap in te stellen op StatusCodeClass en de waarde op '5xx', vergelijkbaar met wat is gedaan in het beperkingsvoorbeeld.