Dela via


Resursavgränsade frågor för Azure Monitor-arbetsyta

Den här artikeln beskriver hur du frågar azure monitor-arbetsytemått i kontexten för specifika Azure-resurser i stället för att fråga arbetsytan direkt. Med frågor med resursomfattning kan du fråga efter mått för resurser som du har åtkomst till utan att kräva direkt åtkomst till den underliggande Azure Monitor-arbetsytan.

Översikt

Resursomfattande frågningar ger ett mer flexibelt och säkert sätt att komma åt mått som lagras i Azure Monitor-arbetsytor.

  • Fråga efter resurskontext: Frågemått som är begränsade till specifika Azure-resurser, resursgrupper eller prenumerationer
  • Förenklad åtkomstkontroll: Användarna behöver bara läsåtkomst till de resurser som de övervakar, inte själva arbetsytan (när arbetsytan är korrekt konfigurerad)
  • Automatisk resursidentifiering: Du behöver inte veta vilken arbetsyta som innehåller mått för en viss resurs
  • Förbättrad säkerhet: Följer principer för lägsta behörighetsåtkomst genom att begränsa måttsynlighet till auktoriserade resurser

Förutsättningar

Frågor med resursomfattning jämfört med arbetsyteomfattning

Aspekt Arbetsytans omfattning Resursbegränsad
Frågeslutpunkt https://<workspace-id>.<region>.prometheus.monitor.azure.com https://query.<region>.prometheus.monitor.azure.com
Scope Alla mått på en specifik arbetsyta Mått för specifika resurser, resursgrupper eller prenumerationer
Åtkomstkrav Läsbehörigheter för arbetsytan krävs Behörigheter för resursläsning krävs (arbetsyteåtkomst är valfritt, beror på åtkomstläge)
Användningsfall Centrala övervakningsteam med bred åtkomst Programteam som övervakar sina egna resurser
Resursfiltrering Manuell filtrering med dimension Microsoft.resourceid Automatisk filtrering baserat på frågeomfång

Frågeslutpunkt och autentisering

Regional förfrågningsendpunkt

Resursomfattande frågor använder en regional slutpunkt som automatiskt dirigerar begäranden till lämpliga arbetsytor:

https://query.<region>.prometheus.monitor.azure.com

Exempel:

  • https://query.centralus.prometheus.monitor.azure.com
  • https://query.westeurope.prometheus.monitor.azure.com

Tips/Råd

Även om du kan fråga från valfri region ger frågor från samma region som dina arbetsytor optimala prestanda. Frågor mellan regioner dirigeras automatiskt men kan ha något högre svarstid. Tänk dessutom på GDPR-efterlevnad när du samlar in frågediagnostikloggar, eftersom den regionala slutpunkt som du kör frågor mot informerar regionen som loggarna lagras i.

Omfattningsrubrik

Resursomfattningsfrågor kräver ett HTTP-huvud för att ange omfånget:

Rubriknyckel Rubrikvärde
x-ms-azure-scoping Fullständigt Azure-resurs-ID, resursgrupps-ID eller prenumerations-ID

Exempel:

# Resource scope
x-ms-azure-scoping: /subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Compute/virtualMachines/{vm-name}

# Resource group scope  
x-ms-azure-scoping: /subscriptions/{subscription-id}/resourceGroups/{resource-group}

# Subscription scope
x-ms-azure-scoping: /subscriptions/{subscription-id}

Authentication

Frågeställningar med resursavgränsning stöder följande autentiseringsmetoder:

  • Microsoft Entra-ID (tidigare Azure AD): Användarautentiseringsuppgifter eller tjänstens huvudnamn
  • Hanterad identitet: Systemtilldelade eller användartilldelade hanterade identiteter

Den autentiserade identiteten måste ha rollen Övervakningsläsare (eller högre) för de resurser som frågas om.

Resursdimensioner

Azure Monitor stämplar automatiskt följande dimensioner på mått som matas in via Azure Monitor Agent (från och med september 2024):

Mått Description Exempelvärde
Microsoft.resourceid Fullständigt resurs-ID /subscriptions/.../virtualMachines/vm-01
Microsoft.subscriptionid Prenumerations-GUID 12345678-1234-1234-1234-123456789012
Microsoft.resourcegroupname Namn på resursgrupp production-rg
Microsoft.resourcetype Resurstyp Microsoft.Compute/virtualMachines
Microsoft.amwresourceid Arbetsyta som lagrar metriken /subscriptions/.../providers/Microsoft.Monitor/accounts/my-amw

Viktigt!

När du frågar i resursomfångsläge filtrerar du på "Microsoft.resourceid" i stället för andra identifierare som instance, host.nameeller service.instance.id för att säkerställa korrekt omfång.

Dimensionssynlighet

  • Frågor med resursomfattning: Alla Microsoft.* dimensioner är synliga och kan användas i PromQL-frågor
  • Frågor med arbetsytans omfattning: Endast Microsoft.resourceid visas som standard för att minimera förvirringen för containercentrerade scenarier

Frågeexempel

Grundläggande resursomfattningsfråga

# Query CPU utilization for a specific VM
curl -X GET \
  'https://query.eastus.prometheus.monitor.azure.com/api/v1/query?query=avg({"system.cpu.utilization"})+by+("Microsoft.resourceid")' \
  -H 'Authorization: Bearer <token>' \
  -H 'x-ms-azure-scoping: /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/prod-rg/providers/Microsoft.Compute/virtualMachines/vm-01'

Resursgruppsomfång

# Query all VMs in a resource group
avg({"system.cpu.utilization"}) by ("Microsoft.resourceid")

Med sidhuvud:

x-ms-azure-scoping: /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/prod-rg

Prenumerationsomfång med filtrering

# Query specific resource types across a subscription
avg({"system.cpu.utilization"}) by ("Microsoft.resourceid")
{
  "Microsoft.resourcetype"="Microsoft.Compute/virtualMachines"
}

Med sidhuvud:

x-ms-azure-scoping: /subscriptions/12345678-1234-1234-1234-123456789012

Att använda med Grafana

  1. Skapa en ny Prometheus-datakälla i Grafana.
  2. Ange Prometheus-serverns URL till https://query.eastus.prometheus.monitor.azure.com (eller din region).
  3. Konfigurera autentisering:
    • För Azure Managed Prometheus-datakälla: Använd Azure-autentisering.
    • För OSS Prometheus-datakälla: Använd Hanterad Identitet med rollen Övervakningsläsare.
  4. Lägg till ett anpassat HTTP-huvud:
    • Nyckel: x-ms-azure-scoping
    • Värde: Resurs-ID, resursgrupps-ID eller prenumerations-ID

Exempel med Grafana-variabler:

Skapa en variabel för dynamisk räckvidd

  • Namn: ResourceScope
  • Typ: Custom
  • Värden: Lista över resurs-ID:t eller prenumerations-ID:t

Använd ${ResourceScope} som rubrikvärde för att växla mellan resurser utan att duplicera instrumentpaneler.

Behörigheter som krävs

Sökfrågor med resursavsökning

Den autentiserade identiteten måste ha någon av följande roller för de resurser som efterfrågas:

  • Övervakningsläsare (minimum, rekommenderas)
  • Reader
  • Contributor
  • Owner

Beroende av arbetsytans åtkomstläge

Frågebeteendet med resursomfattning beror på arbetsytans åtkomstkontrollläge:

Åtkomstläge Behörigheter som krävs
Använda resurs- eller arbetsytebehörigheter (standard för nya arbetsytor) Endast resursläsningsåtkomst krävs
Kräv behörigheter för arbetsytan Läsbehörighet för resurs och läsbehörighet för arbetsytan krävs

Tips/Råd

Konfigurera dina arbetsytor med Använd resurs- eller arbetsytebehörighetsläge för att aktivera sann åtkomst med resursomfattning utan behörigheter för arbetsytan. Detta är aktiverat som standard på alla nyligen skapade AMW:er efter oktober 2025.

Scenarier som stöds

Frågeställningar med resursspecifik omfattning stöds av följande funktioner i Azure Monitor:

Portalupplevelser

  • Bladet Metrik: När du visar metrik för en resurs (VM, AKS, App Service osv.) klickar du på "Visa AMW-metrik i redigeraren" för att göra förfrågningar med PromQL
  • Instrumentpaneler: Skapa måttdiagram med resursomfattning med PromQL-redigeraren
  • Arbetsböcker: Referera till resursomfångsmått i arbetsboksfrågor

Grafana

  • Skapa instrumentpaneler som är begränsade till prenumerationer, resursgrupper eller enskilda resurser
  • Använd Grafana-variabler för att växla mellan resursomfattningar dynamiskt
  • Använda Azure Managed Prometheus-datakällan för förenklad autentisering

Alerting

  • Måttaviseringar: Skapa Prometheus-aviseringar med resursinriktning med hjälp av den enhetliga aviseringskontrollplanen
  • Prometheus-regelgrupper: Definiera inspelningsregler och aviseringsregler som är begränsade till specifika resurser

Kuraterade upplevelser

Resursavgränsade frågor är standard för:

  • VM Insights v2: OpenTelemetry-systemmått (prestandaräknare) som lagras i Azure Monitor-arbetsytor
  • Application Insights: OpenTelemetry HTTP + RPC-mått som lagras i Azure Monitor-arbetsytan
  • Container Insights: Efter GA-migrering till resursomfattningsmodell

Felhantering

Frågeställningar med resursomfattning kan returnera följande fel:

Autentiseringshuvud saknas

HTTP 401 Ej auktoriserad

{
  "error": {
    "code": "AuthenticationFailed",
    "message": "Authentication failed. The 'Authorization' header is missing."
  }
}

Lösning: Inkludera en giltig Bearer-token i Authorization huvud.

Omfångsrubrik saknas eller är ogiltig

HTTP 400 Felaktig begäran

{
  "error": {
    "code": "BadArgumentError",
    "message": "The 'x-ms-azure-scoping' header is missing or malformed."
  }
}

Lösning: Kontrollera att x-ms-azure-scoping huvudet innehåller ett giltigt Azure-resurs-ID, resursgrupps-ID eller prenumerations-ID.

Otillräckliga behörigheter

HTTP 403 Förbjudet

{
  "error": {
    "code": "InsufficientAccessError",
    "message": "The provided credentials have insufficient access to perform the requested operation",
    "innererror": {
      "code": "AuthorizationFailedError",
      "message": "User does not have access to read metrics for this resource"
    }
  }
}

Lösning: Kontrollera att den autentiserade identiteten har rollen Övervakningsläsare (eller högre) för de resurser som anges i omfångsrubriken. Om arbetsytan är i läget "Kräv behörigheter för arbetsytan" kontrollerar du även åtkomsten till arbetsytan.

Ogiltig token

HTTP 403 Förbjudet

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "The access token is invalid."
  }
}

Lösning: Kontrollera att token är giltig, inte har upphört att gälla och hämtas för rätt resurs. Om du använder Grafana kontrollerar du att den hanterade identitet som används för att konfigurera datakällan har lämplig åtkomst till de resurser som efterfrågas. Tänk också på frågans omfång (prenumeration kontra resourceGroup jämfört med resurs) när du validerar åtkomst.

Frågesyntaxfel

HTTP 400 Felaktig begäran eller HTTP 422–ej bearbetad entitet

{
  "error": {
    "code": "QueryValidationError",
    "message": "Failed parsing the query"
  }
}

Lösning: Verifiera PromQL-syntax. Se PromQL-dokumentationen för referens till frågesyntax eller utforska metodtips för PromQL-frågor via Copilot.

Tidsgräns för fråga

HTTP 503-tjänsten är inte tillgänglig

{
  "status": "error",
  "errorType": "timeout",
  "error": "query timed out"
}

Lösning: Förenkla frågan, minska tidsintervallet eller använd inspelningsregler för att föraggregera data.

Inga data returnerades

HTTP 200 OK med tomma resultat

{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": []
  }
}

Möjliga orsaker:

  • Det finns inga mått för den angivna resursen i tidsintervallet för frågor
  • Mått stämplas inte med Microsoft.resourceid dimension (endast mått som matas in via Azure Monitor Agent stämplas automatiskt)
  • Resurs-ID i omfångsrubriken Microsoft.resourceid matchar inte värdet i lagrade mått

Lösning: Verifiera datainmatningen, kontrollera dimensionernas värden med arbetsytaspecifika frågor och bekräfta att scopingshuvudet matchar de faktiska resurs-ID:n.

Metodtips

  1. Använd prenumerationsomfång som standard: Fråga på prenumerationsnivå och filtrera med "Microsoft.resourcetype" eller "Microsoft.resourceid" för bättre flexibilitet

  2. Gruppera efter resurs-ID: Inkludera by ("Microsoft.resourceid") alltid i sammansättningar för att upprätthålla kornighet på resursnivå

    avg({"system.cpu.utilization"}) by ("Microsoft.resourceid")
    
  3. Utnyttja inspelningsregler: För komplexa eller ofta körda frågor, använd loggningsregler för att aggregera data och minska belastningen av frågor.

  4. Konfigurera åtkomstläge för arbetsytan: Ange arbetsytor till läget "Använd behörigheter för resurs eller arbetsyta" för att aktivera sann åtkomst med resursomfattning

  5. Fråga från samma region: Medan frågor mellan regioner fungerar ger frågor från samma region som din arbetsyta optimala prestanda

  6. Använda hanterad identitet i Grafana: För Grafana-distributioner använder du hanterad identitetsautentisering för att undvika att hantera autentiseringsuppgifter

Vanliga scenarier

Övervakning av programteam

Scenario: Jane hanterar ett program som sträcker sig över flera virtuella datorer men har inte åtkomst till den centrala övervakningsarbetsytan.

Lösning: Janes identitet har Övervakningsläsare på sin resursgrupp. Hon skapar Grafana-instrumentpaneler med hjälp av:

  • Prometheus-URL: https://query.eastus.prometheus.monitor.azure.com
  • Omfångsrubrik: /subscriptions/{sub-id}/resourceGroups/jane-app-rg

Hon kan fråga alla metrik för sina resurser utan att ha åtkomst till arbetsytan.

Övervakning av flera klientorganisationer

Scenario: Bob hanterar infrastruktur för flera programteam och behöver endast ge varje team åtkomst till sina resurser.

Lösning:

  1. Bob konfigurerar den centrala arbetsytan med åtkomstläget "Använd resurs- eller arbetsytebehörigheter".
  2. Varje team får rollen Övervakningsläsare i sin resursgrupp.
  3. Teams skapar resursomfattande frågor med hjälp av sitt resursgrupps-ID.
  4. Bob underhåller arbetsytaspecifika frågor för att övervaka mellan team.

Kubernetes-namnområdesisolering

Scenario: Tim har åtkomst till ett specifikt AKS-namnområde men inte hela klustret.

Lösning: Tim frågar med hjälp av namnområdets resurs-ID:

x-ms-azure-scoping: /subscriptions/{sub-id}/resourceGroups/{rg}/providers/Microsoft.ContainerService/managedClusters/{cluster}/namespaces/{namespace}

Han kan skapa aviseringar och instrumentpaneler för sitt namnområde utan att komma åt klusteromfattande mått.

Begränsningar

  • Kommaavgränsade omfång: Det finns för närvarande inte stöd för att köra frågor mot flera orelaterade resurser i en enskild begäran (kommaavgränsade resurs-ID:er).
  • Icke-Azure-resurser: Frågor med resursomfattning kräver Azure-resurs-ID:t. Arc-aktiverade resurser stöds.
  • Dimensionsstämpling: Endast mått som matas in via Azure Monitor Agent (sedan september 2025) har Microsoft.* dimensioner som stämplats automatiskt.
  • Frågor mellan arbetsytor: Implicita frågor mellan arbetsytor inom ett resursomfång stöds, men endast upp till 10 Azure Monitor-arbetsytor kan frågas samtidigt.