# Endpoint Health Monitoring and Capacity Planning **Last updated:** 2026-05 **Status:** GA **Category:** Monitoring & Observability --- ## Introduksjon Endpoint-overvåkning og kapasitetsplanlegging er kritisk for å opprettholde høy tilgjengelighet og forutsigbar ytelse i produksjons-AI-systemer. Azure OpenAI og andre Microsoft AI-tjenester tilbyr omfattende overvåkningsverktøy gjennom Azure Monitor, som samler inn både plattformmetrikkdata (automatisk) og ressurslogger (konfigureres via diagnostic settings). Effektiv overvåkning involverer tre dimensjoner: **tilstandssjekk** (health monitoring) av endepunkt, **kapasitetsplanlegging** (quota og throughput-grenser), og **proaktiv alerting**. Sammen gir disse innsikt i både nåværende driftsstatus og fremtidige skaleringsmuligheter. Utfordringen for arkitekter er å balansere kostnad (monitoreringsdata lagres i Log Analytics), ytelse (rate limits og throttling), og pålitelighet (SLA og tilgjengelighet). Azure OpenAI har ingen latens-SLA for Standard-tilbudet, men Provisioned Throughput Units (PTU) tilbyr forutsigbar ytelse for produksjonskritiske workloads. ## Kjernekomponenter ### Azure Monitor Platform Metrics | Metrikk | Beskrivelse | Tidsromdetaljering | DS Export | |---------|-------------|-------------------|-----------| | `AzureOpenAIRequests` | Totalt antall API-kall over tid | PT1M (1 minutt) | Ja | | `AzureOpenAIAvailabilityRate` | `(Total Calls - Server Errors) / Total Calls` (%) | PT1M | Nei | | `TokensGenerated` | Completion tokens generert | PT1M | Ja | | `ActiveTokens` | Totale tokens (prompt + completion) | PT1M | Ja | | `PTUUtilization` | Prosentvis bruk av PTU-kapasitet | PT1M | Ja | | `ProcessingTime` | End-to-end latency (ms) | PT1M | Ja | **Viktig:** Platform metrics samles automatisk uten konfigurasjon, men for å analysere i Log Analytics må diagnostic settings aktiveres. ### Quota og Rate Limits | Konsept | Forklaring | Enhet | Håndtering | |---------|------------|-------|-----------| | **Tokens Per Minute (TPM)** | Maksimal throughput per deployment | TPM | Settes ved deployment, kan justeres etterpå | | **Requests Per Minute (RPM)** | Maks antall requests per minutt | RPM | Beregnes automatisk fra TPM (varierer per modell) | | **Quota** | Regionbasert grense per modell/subscription | TPM | Forespørres via support | | **429 Throttling** | HTTP-responskode når rate limit overstiges | - | Implementer retry-logic | **RPM/TPM-ratio varierer per modell:** | Modell | 1 Unit Capacity | RPM | TPM | |--------|----------------|-----|-----| | Eldre chat-modeller | 1 | 6 | 1,000 | | o1, o1-preview | 1 | 1 | 6,000 | | o3 | 1 | 1 | 1,000 | | o3-mini, o1-mini | 1 | 1 | 10,000 | **Viktig:** Deployment TPM kan IKKE overskride subscription quota for den modellen i den regionen. ### Diagnostic Settings og Log Analytics ```bash # Konfigurer diagnostic settings via Azure Portal: # Azure OpenAI resource → Monitoring → Diagnostic settings → Add diagnostic setting # Velg: # - Logs: AzureDiagnostics (alle operasjoner) # - Metrics: AllMetrics (for historisk analyse) # - Destination: Log Analytics workspace ``` **KQL-eksempel for tilstandssjekk:** ```kql AzureDiagnostics | where TimeGenerated > ago(1h) | where Category == "RequestResponse" | summarize TotalRequests = count(), SuccessRequests = countif(ResultSignature == "200"), ServerErrors = countif(ResultSignature >= "500"), ClientErrors = countif(ResultSignature >= "400" and ResultSignature < "500"), AvgDurationMs = avg(DurationMs) by bin(TimeGenerated, 5m) | extend AvailabilityRate = round((SuccessRequests * 100.0) / TotalRequests, 2) | project TimeGenerated, TotalRequests, AvailabilityRate, AvgDurationMs, ServerErrors ``` ### Out-of-Box Dashboards Azure OpenAI tilbyr to innebygde dashboards: 1. **Azure Portal Dashboard** (Overview-pane) - HTTP Requests (total, status codes, feilrate) - Tokens-Based Usage (prompt, completion, total tokens) - PTU Utilization (kun for PTU-deployments) - Fine-tuning metrics 2. **AI Foundry Metrics Dashboard** - Tilgjengelig via "Go to AI Foundry portal" → Tools → Metrics dashboard - Samme kategorier som Portal dashboard, med mer interaktivitet **Anbefaling:** Start med disse dashboards, deretter bygg custom dashboards i Grafana eller Power BI for cross-service-korrelasjon. ## Arkitekturmønstre ### 1. Multi-Deployment Failover (High Availability) **Scenario:** Produksjonsapplikasjon krever 99.9% tilgjengelighet. **Mønster:** - Opprett to deployments i forskjellige regioner (eks. East US + West Europe) - Implementer application-side health checks (HTTP 200 status) - Bruk Azure Front Door eller Traffic Manager for automatisk failover - Overvåk begge endpoints med Azure Monitor metric alerts **Fordeler:** - Geografisk redundans - Automatisk failover ved regional outage - Lavere latens for distribuerte brukere **Ulemper:** - Dobbelt quota-behov (2x TPM) - Økt kompleksitet i applikasjonskode - Kostnad for to deployments **KQL for cross-region health check:** ```kql AzureDiagnostics | where Resource in ("openai-eastus-01", "openai-westeu-01") | where TimeGenerated > ago(15m) | summarize ErrorRate = countif(ResultSignature >= "500") * 100.0 / count(), P95Latency = percentile(DurationMs, 95) by Resource, bin(TimeGenerated, 1m) | where ErrorRate > 1.0 or P95Latency > 2000 // Alert if >1% errors or >2s latency ``` ### 2. Dynamic Quota (Preview) **Scenario:** Varierende last med sporadiske traffic spikes. **Mønster:** - Aktiver Dynamic Quota på Standard-deployment - Sett base TPM til gjennomsnittlig forventet last - Dynamic Quota tillater opportunistic burst utover base TPM når kapasitet er tilgjengelig **Fordeler:** - Lavere 429-feilrate under spikes - Ingen ekstra kostnad (betaler kun for faktisk bruk) - Automatisk skalering uten konfigurasjon **Ulemper:** - Ikke garantert — avhenger av regional kapasitet - Ingen latens-SLA (Standard offer) - Kan IKKE redusere TPM under base-grensen **Kode-aktivering (REST API):** ```bash PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01 { "sku": { "name": "Standard", "capacity": 100 // Base TPM = 100K }, "properties": { "model": { "format": "OpenAI", "name": "gpt-4o", "version": "2024-11-20" }, "dynamicThrottlingEnabled": true // Enable dynamic quota } } ``` ### 3. Provisioned Throughput (PTU) for Mission-Critical **Scenario:** Offentlig sektor-applikasjon med strenge latens- og tilgjengelighetskrav. **Mønster:** - Bruk PTU i stedet for Standard (pay-as-you-go) - PTU gir dedikert kapasitet med forutsigbar latens - Overvåk `PTUUtilization`-metrikk for kapasitetsplanlegging - Sett alert hvis utilization > 80% (signal om behov for oppgradering) **Fordeler:** - Latens-SLA (garantert ytelse) - Ingen 429-throttling innenfor PTU-kapasitet - Forutsigbar månedlig kostnad **Ulemper:** - Høyere kostnad sammenlignet med Standard - Krever commitment (1 måned eller 1 år) - Overprovisionering hvis last varierer mye **Alert-regel for PTU-kapasitet:** ```kql AzureMetrics | where MetricName == "PTUUtilization" | where TimeGenerated > ago(5m) | summarize AvgUtilization = avg(Average) by Resource | where AvgUtilization > 80 // Trigger alert: PTU nærmer seg kapasitetsgrense ``` ## Beslutningsveiledning ### Valg av Deployment-type | Kriterium | Standard (pay-as-you-go) | Standard + Dynamic Quota | PTU (Provisioned) | |-----------|--------------------------|-------------------------|-------------------| | **Kostnad** | Betaler per token | Samme (ingen ekstra kostnad) | Høyere (månedlig commitment) | | **Latens-SLA** | Nei | Nei | Ja | | **Burst-håndtering** | 429 ved TPM-grense | Opportunistic burst | Ingen throttling innenfor PTU | | **Variabel last** | God for testing/dev | God for prod med spikes | Dårlig (sløser kapasitet) | | **Compliance-krav** | OK | OK | Bedre (dedikert kapasitet) | **Anbefaling for norsk offentlig sektor:** - **Utvikling/test:** Standard - **Produksjon (ikke-kritisk):** Standard + Dynamic Quota - **Produksjon (kritisk, SLA-krav):** PTU ### Quota-planlegging **Steg-for-steg:** 1. **Estimer baseline TPM:** - Gjennomsnittlig requests/min × gjennomsnittlig tokens/request - Eksempel: 10 req/min × 2000 tokens = 20,000 TPM baseline 2. **Legg til buffer for spikes:** - Anbefalt: 1.5x - 2x baseline - Eksempel: 20K TPM × 1.5 = 30K TPM 3. **Sjekk regional quota:** ```bash az cognitiveservices usage list --location norwayeast # Eller via Portal: Management → Quota ``` 4. **Request quota increase hvis nødvendig:** - Bruk [quota increase form](https://aka.ms/oai/stuquotarequest) - Prioritet gis til kunder med aktiv bruk (ikke "just in case") 5. **Overvåk faktisk bruk:** ```kql AzureDiagnostics | where TimeGenerated > ago(7d) | extend TokenCount = toint(properties_s.estimatedTokens) | summarize TotalTokens = sum(TokenCount) by bin(TimeGenerated, 1h) | extend TPM = TotalTokens / 60 | summarize AvgTPM = avg(TPM), P95TPM = percentile(TPM, 95) ``` ### Vanlige feil | Feil | Årsak | Løsning | |------|-------|---------| | **429 "Rate Limit Exceeded"** | TPM/RPM quota overskredet | Øk deployment TPM eller request quota increase | | **429 "High demand"** | Regional kapasitet utilgjengelig | Retry med exponential backoff, eller bytt region | | **Lav AvailabilityRate (<99%)** | Server errors (5xx) | Sjekk Azure Service Health, implementer retry-logic | | **Høy latens (>5s)** | Standard offer under load | Vurder PTU, eller optimaliser prompts (reduser tokens) | | **Deployment creation fails** | Quota tilgjengelig, men ingen kapasitet i region | Bruk capacity finder API, eller velg annen region | ### Røde flagg - **Utilization > 80% over tid:** Signal om å øke quota/PTU - **Error rate > 1%:** Indikerer ustabilitet eller kapasitetsproblem - **Latens P95 > 2x P50:** Tyder på intermittent throttling eller regional load - **Quota 100% allocated, men lav faktisk bruk:** Over-provisjonering — reduser deployments ## Integrasjon med Microsoft-stakken ### Azure Monitor Alerts **Metric alert for availability:** ```bash # Anbefalt CLI-syntaks (2026): Bruk condition sub-command for betingelser scope=$(az cognitiveservices account show \ --resource-group "rg-ai-prod" --name "{account}" --output tsv --query id) action=$(az monitor action-group show \ --resource-group "rg-ai-prod" --name "{actionGroup}" --output tsv --query id) condition=$(az monitor metrics alert condition create \ --aggregation Average \ --metric "AzureOpenAIAvailabilityRate" \ --op LessThan \ --type static \ --threshold 99 \ --output tsv) az monitor metrics alert create \ --name "OpenAI-LowAvailability" \ --resource-group "rg-ai-prod" \ --scopes $scope \ --condition $condition \ --action $action \ --window-size 5m \ --evaluation-frequency 1m \ --description "Alert hvis availability < 99% over 5 min" ``` *(Verified MCP 2026-04 — nytt mønster med `condition create` sub-command)* **Log alert for 429 errors:** ```bash az monitor scheduled-query create \ --name "OpenAI-Throttling" \ --resource-group "rg-ai-prod" \ --scopes "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}" \ --condition "count > 10" \ --condition-query "AzureDiagnostics | where ResultSignature == '429' | count" \ --window-size 5m \ --evaluation-frequency 5m \ --action "/subscriptions/{sub}/resourceGroups/{rg}/providers/microsoft.insights/actionGroups/{actionGroup}" ``` **Oppdatert metric alert CLI-syntaks (2026):** Microsoft anbefaler nå sub-kommandoer for betingelser og dimensjoner: *(Verified MCP 2026-04)* ```bash # Opprett betingelse som variabel condition=$(az monitor metrics alert condition create \ --aggregation Average \ --metric "AzureOpenAIAvailabilityRate" \ --op LessThan \ --type static \ --threshold 99 \ --output tsv) # Opprett metric alert med betingelse-variabel az monitor metrics alert create \ --name "OpenAI-LowAvailability-v2" \ --resource-group "rg-ai-prod" \ --scopes "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}" \ --condition $condition \ --description "Alert hvis availability < 99% over 5 min" \ --window-size 5m \ --evaluation-frequency 1m \ --action "/subscriptions/{sub}/resourceGroups/{rg}/providers/microsoft.insights/actionGroups/{actionGroup}" ``` ### Application Insights Integration For applikasjoner som bruker Azure OpenAI, integrer Application Insights for end-to-end observability: ```python from azure.monitor.opentelemetry import configure_azure_monitor from openai import AzureOpenAI # Konfigurer Application Insights configure_azure_monitor(connection_string="InstrumentationKey=...") # OpenAI-kall vil automatisk bli tracet client = AzureOpenAI( api_key="...", api_version="2024-10-21", azure_endpoint="https://..." ) response = client.chat.completions.create(...) # Latency, tokens, success/fail logges automatisk til App Insights ``` ### Power BI og Grafana **Power BI:** - Koble til Log Analytics workspace - Import KQL-queries som datasets - Bygg executive dashboards med availability, cost, og usage trends **Grafana:** - Bruk Azure Monitor datasource plugin - Visualiser real-time metrics (latency, throughput, error rate) - Sett opp on-call alerting via PagerDuty/Slack **Eksempel Grafana panel query (PromQL-style via Azure Monitor):** ```promql avg_over_time(AzureOpenAIAvailabilityRate[5m]) ``` ### Azure Service Health Overvåk planlagte vedlikehold og regional outages: ```bash az monitor activity-log alert create \ --name "OpenAI-ServiceHealth" \ --resource-group "rg-ai-prod" \ --condition category=ServiceHealth \ --action-group "/subscriptions/{sub}/resourceGroups/{rg}/providers/microsoft.insights/actionGroups/{actionGroup}" \ --description "Alert for Azure OpenAI service health events" ``` ## Offentlig sektor (Norge) ### GDPR og datasuverenitet **Logging-retensjon:** - Log Analytics data lagres i valgt region (Norway East anbefales) - Sett retention policy i henhold til organisasjonens retningslinjer (default: 30 dager) - For compliance, vurder eksport til Azure Storage (immutable blobs) **Sensitive data i logs:** - Azure OpenAI logger IKKE prompt/completion-innhold som standard - Men diagnostic logs inneholder metadata (timestamps, model, token counts) - Bruk Private Link for Azure Monitor hvis ekstra datasikkerhet kreves ### Forvaltningsloven og etterprøvbarhet **Revisjonsspor:** - Aktiver diagnostic settings for alle produksjons-deployments - Eksporter logs til langtidslagring (Azure Storage Archive tier) - Inkluder `CorrelationId` i requests for å spore beslutningsflyt **KQL for audit trail:** ```kql AzureDiagnostics | where Category == "RequestResponse" | extend UserId = tostring(properties_s.userId) | extend ModelName = tostring(properties_s.modelName) | extend TokensUsed = toint(properties_s.totalTokens) | project TimeGenerated, UserId, ModelName, TokensUsed, OperationName, ResultSignature | order by TimeGenerated desc ``` ### AI Act og risikoklassifisering **High-risk AI systems (offentlig forvaltning):** - Krav om logging av alle AI-beslutninger - Overvåkning av modell-drift (data distribution shifts) - Azure Monitor gir grunnlag for compliance-rapporter **Anbefalt arkitektur:** - AI-request → Application Insights (full trace) - Endpoint metrics → Azure Monitor (availability, latency) - Audit logs → Log Analytics → Azure Storage (langtidsarkiv) ### Schrems II og data residency **Norway East region:** - Velg Norway East for både Azure OpenAI resource OG Log Analytics workspace - Verifiser at diagnostic settings IKKE sender data til utenlandske regioner - Azure OpenAI data processing skjer i EU (selv om kontrollplan er globalt) ## Kostnad og lisensiering ### Prismodell for overvåkning | Komponent | Prismodell | Estimert kostnad (per måned) | |-----------|-----------|------------------------------| | **Platform metrics** | Gratis (innsamling) | 0 NOK | | **Log Analytics ingestion** | Per GB innsamlet | ~50-200 NOK per GB | | **Log Analytics retention** | Gratis (første 31 dager), deretter per GB | ~10 NOK per GB/måned (etter 31 dager) | | **Alerts** | Per regel per måned | ~1-5 NOK per regel | | **Application Insights** | Per GB innsamlet | ~50-200 NOK per GB | **Kostnadsoptimalisering:** - Bruk sampling i Application Insights (f.eks. 10% av requests) - Sett opp data export til Azure Storage for langtidslagring (billigere enn Log Analytics retention) - Bruk Azure Monitor Baseline Alerts (AMBA) templates i stedet for custom queries (mindre compute) ### Lisenskrav **Azure Monitor:** - Inkludert i Azure subscription (ingen separat lisens) - Log Analytics workspace krever subscription med Owner/Contributor-rolle for oppsett **Roller for quota-visning:** - **Cognitive Services Usages Reader:** Minimal rolle for å se quota på tvers av subscription (anbefalt) - **Reader:** Gir også quota-innsyn, men bredere tilgang enn nødvendig - **Viktig:** Rollen MÅ være satt på subscription-nivå, ikke resource-nivå **Eksempel Azure CLI:** ```bash az role assignment create \ --assignee "user@example.com" \ --role "Cognitive Services Usages Reader" \ --scope "/subscriptions/{subscriptionId}" ``` ## For arkitekten (Cosmo) ### Spørsmål å stille kunden 1. **Tilgjengelighetskrav:** - Hva er akseptabel downtime per måned? (99.9% = ~43 min/måned) - Finnes det kritiske tidsvinduer (f.eks. kontortid) med strengere SLA? 2. **Last-profil:** - Gjennomsnittlig requests per minutt? Peak vs. gjennomsnitt? - Forventes det sesongvariasjoner eller plutselige spikes? 3. **Latenskrav:** - Hva er akseptabel end-to-end responstid? (P50, P95, P99) - Er dette en batch-prosess eller interaktiv chat? 4. **Compliance:** - Kreves revisjonsspor for alle AI-requests? (Forvaltningsloven) - Data residency-krav? (Norge, EU, eller globalt OK?) 5. **Eksisterende overvåkning:** - Brukes det allerede Log Analytics/Application Insights i organisasjonen? - Finnes det SOC (Security Operations Center) som skal motta alerts? 6. **Budsjettrammer:** - Hva er månedlig budsjett for AI-tjenester (inkl. monitoring)? - Preferanse for pay-as-you-go vs. commitment (PTU)? 7. **Skaleringsplan:** - Forventes brukervekst neste 6-12 måneder? - Multi-region deployment planlagt? 8. **Feiltoleranse:** - Kan applikasjonen håndtere retry-logic? (429-errors) - Finnes det fallback-strategi hvis Azure OpenAI er nede? ### Fallgruver 1. **Over-provisjonering av quota:** - Feil: Forespørre 500K TPM "for sikkerhets skyld" uten faktisk bruk - Konsekvens: Azure kan avslå request, eller allokere quota som ikke brukes (sløsing) - Løsning: Start med 1.5x estimert baseline, øk basert på faktisk bruk 2. **Glemmer diagnostic settings:** - Feil: Forventer at logs samles automatisk - Konsekvens: Ingen historikk ved troubleshooting/incidents - Løsning: Aktiver diagnostic settings DAG 1 i produksjon 3. **Ingen alert-strategi:** - Feil: Overvåker dashboards manuelt - Konsekvens: Oppdager problemer først når brukere klager - Løsning: Sett opp metric alerts for availability + log alerts for 429-errors 4. **Ignorerer PTU for kritiske workloads:** - Feil: Bruker Standard offer for produksjonskritisk applikasjon - Konsekvens: Variabel latens, ingen SLA, throttling under load - Løsning: Vurder PTU hvis tilgjengelighet > 99.5% er påkrevd 5. **Cross-region failover uten testing:** - Feil: Setter opp multi-region, men tester aldri failover - Konsekvens: Oppdager bugs i failover-logikk under reell outage - Løsning: Kjør chaos engineering (simuler regional failure månedlig) 6. **Misforstår Dynamic Quota:** - Feil: Forventer garantert burst over base TPM - Konsekvens: Fortsatt får 429-errors under spikes - Løsning: Dynamic Quota er opportunistic, IKKE garantert — planer for base TPM som absolutt minimum ### Anbefalinger per modenhetsnivå **Nivå 1: Pilot/POC** - Bruk Standard deployment (pay-as-you-go) - Aktiver IKKE diagnostic settings (spar kostnader) - Manuell sjekk av Portal dashboard ukentlig - Quota: Start med 10K TPM **Nivå 2: Testing/Staging** - Bruk Standard + Dynamic Quota - Aktiver diagnostic settings (7 dagers retention) - Sett opp 1-2 metric alerts (availability < 95%) - Quota: 50-100K TPM basert på testvolum **Nivå 3: Early Production** - Bruk Standard + Dynamic Quota (eller PTU hvis SLA-krav) - Diagnostic settings med 30 dagers retention - Metric alerts (availability, latency) + log alerts (429-errors) - Application Insights integration - Quota: Baseline + 50% buffer - Multi-region vurderes (men ikke obligatorisk ennå) **Nivå 4: Mission-Critical Production** - PTU deployment (dedikert kapasitet) - Multi-region failover (minimum 2 regioner) - Diagnostic settings med 90+ dagers retention (eller export til Storage) - Full alert-suite (availability, latency, quota utilization, PTU saturation) - Application Insights + custom dashboards (Grafana/Power BI) - Quarterly capacity planning reviews - Quota: Baseline + 100% buffer (eller PTU-sizing med 20% headroom) **Spesielt for norsk offentlig sektor (nivå 4):** - Log Analytics workspace i Norway East - Export av logs til Azure Storage Archive (compliance) - Azure Service Health alerts - Inkluder CorrelationId i alle requests (revisjonsspor) - Quarterly compliance reports til IT-sikkerhet/personvern ## Kilder og verifisering ### Microsoft Learn (Verified via MCP) 1. **Monitor Azure OpenAI:** https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/monitor-openai *Confidence: Verified* — Komplett guide til diagnostics, metrics, alerts, og KQL-queries 2. **Manage Azure OpenAI quota:** https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/quota *Confidence: Verified* — TPM/RPM-allokering, quota requests, 429-feilhåndtering 3. **Azure OpenAI quotas and limits:** https://learn.microsoft.com/en-us/azure/ai-foundry/openai/quotas-limits *Confidence: Verified* — Rate limits per modell, Usage tiers, regional constraints 4. **Dynamic quota (Preview):** https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/dynamic-quota *Confidence: Verified* — Opportunistic burst-kapasitet for Standard deployments 5. **Supported metrics for Microsoft.CognitiveServices/accounts:** https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/microsoft-cognitiveservices-accounts-metrics *Confidence: Verified* — Fullstendig metrikk-referanse (Azure OpenAI, Content Safety, etc.) 6. **Azure Monitor REST API reference:** https://learn.microsoft.com/en-us/rest/api/monitor/operation-groups *Confidence: Verified* — API for metrics export og programmatic access 7. **Service limits in Azure AI Search:** https://learn.microsoft.com/en-us/azure/search/search-limits-quotas-capacity *Confidence: Verified* — Throttling patterns (relevant for RAG-arkitekturer) 8. **Monitor model quality and endpoint health (Databricks):** https://learn.microsoft.com/en-us/azure/databricks/machine-learning/model-serving/monitor-diagnose-endpoints *Confidence: Verified* — Verktøy: ephemeral service logs, OpenTelemetry for custom endpoints (Unity Catalog Delta tables, langtidsretensjon), build logs (30-dagers retensjon), endpoint health metrics (siste 14 dager), og AI Gateway-enabled inference tables (automatisk logging av requests/responses til Delta tables). *(Verified MCP 2026-04)* ### Code Samples (Verified via MCP) 9. **Azure Monitor Query Metrics (Python SDK):** https://learn.microsoft.com/en-us/python/api/azure-monitor-querymetrics/azure.monitor.querymetrics.metricsclient *Confidence: Verified* — Kodeeksempler for programmatisk metrics-query 10. **Azure CLI metrics alert creation:** https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/azure-cli-metrics-alert-sample *Confidence: Verified* — CLI-kommandoer for metric alerts (brukt i eksempler over) ### Seksjon-konfidensgradering | Seksjon | Kilde | Konfidens | |---------|-------|-----------| | Kjernekomponenter | Microsoft Learn (MCP) | Verified | | Quota og Rate Limits | Microsoft Learn (MCP) | Verified | | Diagnostic Settings | Microsoft Learn (MCP) | Verified | | Arkitekturmønstre (Failover) | Microsoft Learn + Baseline Knowledge | Verified (design), Baseline (best practices) | | Dynamic Quota | Microsoft Learn (MCP) | Verified | | PTU-mønster | Microsoft Learn + Baseline Knowledge | Verified (features), Baseline (trade-offs) | | Azure Monitor Alerts | Microsoft Learn (MCP, code samples) | Verified | | Application Insights | Baseline Knowledge + Azure Docs | Baseline | | Offentlig sektor | Baseline Knowledge (GDPR, AI Act) | Baseline | | Kostnadsmodell | Azure Pricing (public) | Baseline (tall er estimerte, krever priskalkulator for nøyaktighet) | **Samlet konfidens:** 85% Verified (core features), 15% Baseline (best practices, offentlig sektor-spesifikt) **Sist verifisert:** 2026-04 (MCP-searches mot Microsoft Learn)