ms-ai-architect/skills/ms-ai-governance/references/monitoring-observability/custom-dashboards-ai-operations.md
Kjell Tore Guttormsen 712a143e58 fix(ms-ai-architect): RX-KB1 strip stale plain-Verified pipe-tails (87) + audit-deteksjon [skip-docs]
De 87 referansefilene bar en plain-text `| Verified: <dato>`-hale på **Last updated:**-linjen
i 500B-header-vinduet — usynlig for den bold-only kontrakt-stacken (kb-headers.mjs / audit
RE_VERIFIED), og claimet en verifisering judgen aldri gjorde (samme poison-klasse som de 14
bold **Verified:** MCP Spor 1 fjernet). Uhåndtert springer den også dual-Verified-fellen: R7s
insertVerifiedFields ville stemplet en bold-verdi ved siden av den plain → to motstridende
provenance-claims per fil.

- ny driver strip-stale-verified-pipe.mjs: frosset 87-manifest (18 advisor + 45 eng + 8 gov +
  16 sec), pure verdi-bevarende strip (kun ` | Verified: …`-halen; **Last updated:**-dato
  byte-eksakt), hard per-fil-invariant (linjeantall uendret, body byte-identisk, dato bevart),
  idempotent, atomicWriteSync (RX-OPS2 recovery-kontrakt).
- audit-corpus-headers.mjs: ny plain-Verified-deteksjon (RE_PLAIN_VERIFIED + plainVerifiedPipe)
  — gjør M4-blindheten synlig så en stale plain-hale ikke kan gjenoppstå stille (non-advisor scope).
- 87 filer strippet; plain Verified i vinduet 0/389; live-audit plainVerifiedPipe 0.

Mekanisme: +15 tester (12 strip + 3 audit). Suite 875→890 exit 0. validate-plugin.sh 250/0.

Utsatt → RX-KB1b: footer-dato-avvik + label-whitelist (annen dialekt, flag-to-human).
2026-07-16 20:04:52 +02:00

518 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Custom Dashboards for AI Operations
**Category:** Monitoring & Observability
**Last updated:** 2026-06-19
**Brukes av:** Cosmo Skyberg, Microsoft AI Solution Architect
**Type:** reference
**Source:** https://learn.microsoft.com/azure/azure-monitor/visualize/workbooks-overview
---
## Innhold
- [Innledning](#innledning)
- [Azure Workbooks for AI](#azure-workbooks-for-ai)
- [Grafana for AI Operational Dashboards](#grafana-for-ai-operational-dashboards)
- [Power BI for Executive AI Dashboards](#power-bi-for-executive-ai-dashboards)
- [Real-Time Intelligence Dashboards (Fabric)](#real-time-intelligence-dashboards-fabric)
- [Dashboard Sharing and Governance](#dashboard-sharing-and-governance)
- [Cost and Usage Visualizations](#cost-and-usage-visualizations)
- [Dashboard Anti-Patterns](#dashboard-anti-patterns)
- [For Cosmo Skyberg](#for-cosmo-skyberg)
- [Ressurser](#ressurser)
## Innledning
Custom dashboards er essensielle for å visualisere og forstå AI-driften i sanntid. Mens standard metrics-visninger gir grunnleggende innsikt, tilbyr tilpassede dashboards mulighet til å kombinere data fra flere kilder, skreddersy visualiseringer for ulike interessenter, og bygge operasjonelle kommandosentral for AI-systemer.
Microsoft-stakken tilbyr flere dashboarding-løsninger med ulike styrker: Azure Workbooks for teknisk dybde, Grafana for operasjonelle sanntidsvisninger, Power BI for executive insights, og Real-Time Intelligence dashboards for streaming-data.
---
## Azure Workbooks for AI
Azure Workbooks er Microsofts native dashboarding-løsning i Azure Monitor. De kombinerer tekst, KQL-queries, metrics, og interaktive parametere i én fleksibel canvas.
### Hvorfor Workbooks for AI-monitoring?
- **Unified data sources:** Kombinerer Application Insights, Log Analytics, metrics, og Azure Resource Graph i én view
- **KQL-powered:** Direkte tilgang til Kusto Query Language for avanserte aggregeringer
- **Template-drevet:** Distribuer standardiserte dashboards programmatisk via ARM templates
- **Resource-centric:** Visualiser data på tvers av flere AI-ressurser samtidig
- **Built-in for AI Foundry:** Microsoft Foundry leverer ferdig "Application Analytics" workbook
### Microsoft Foundry Application Analytics Workbook
Microsoft Foundry tilbyr en out-of-box workbook som sporer:
- **Generative AI metrics:** Total conversations, latency, exceptions
- **Tool usage:** Hvilke extensions og tools brukes mest
- **Topic analytics:** Hvilke conversation topics dominerer
- **Operational health:** Success rates, error patterns, response times
**Tilgang:**
1. Gå til Application Insights ressurs
2. Velg **Monitoring****Workbooks**
3. Åpne "Copilot Studio Dashboard" fra galleriet
**Tilpasning:**
```kusto
// Eksempel: Track custom attribute for AI responses
customEvents
| where name == "AIResponse"
| extend ResponseQuality = tostring(customDimensions.quality)
| summarize Count = count() by ResponseQuality, bin(timestamp, 1h)
| render timechart
```
### Workbook Architecture for AI
**Typiske seksjoner i et AI operations workbook:**
1. **Executive summary** (stat tiles)
- Total requests today
- Average latency
- Token consumption
- Success rate
2. **Request trends** (timecharts)
- API calls per hour
- Per-model distribution
- Geographic distribution
3. **Token economics** (barcharts)
- Token usage by deployment
- Cost per request
- Top consumers
4. **Error analysis** (grids + pie charts)
- Error codes by frequency
- Failed requests by model
- Retry patterns
5. **Performance drill-down** (interactive queries)
- Parametere for time range, model, region
- Query-backed visualizations som oppdateres live
### Programmatic Deployment
Workbooks kan deployes via ARM templates for consistency across teams:
```json
{
"name": "ai-operations-workbook",
"type": "microsoft.insights/workbooks",
"location": "[resourceGroup().location]",
"apiVersion": "2018-06-17-preview", // For workbook instances; workbook templates bruker 2019-10-17-preview (workbooktemplates resource type). Bicep støttes nå offisielt som alternativ til ARM JSON. *(Verified MCP 2026-04)*
"properties": {
"displayName": "AI Operations Dashboard",
"serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[...]}",
"category": "AI Monitoring",
"sourceId": "[resourceId('Microsoft.Insights/components', parameters('appInsightsName'))]"
}
}
```
**Best practices:** *(Verified MCP 2026-04)*
- Bruk parametere for time ranges og resource filters
- Inkluder markdown-tekst for kontekst og aksjonspunkter
- Legg til links til troubleshooting-docs
- Del workbooks via Azure RBAC (Monitoring Contributor for redigering, Monitoring Reader for visning)
- Vurder Bicep-templates som alternativ til ARM JSON for ny infrastruktur (støttes nå offisielt)
---
## Grafana for AI Operational Dashboards
Azure Managed Grafana er ideell for sanntids-operasjonssentre. Grafana excels i streaming visualizations, multi-source aggregation, og alert-integrasjon.
### Microsoft Foundry Grafana Dashboard *(Verified MCP 2026-04)*
Microsoft tilbyr en ferdig Grafana dashboard (ID: **24039**) for Microsoft Foundry/Foundry ressurser. Dashboard-tittelen er nå "Microsoft Foundry dashboard" i offisiell dokumentasjon.
**Key metrics:**
- **Model performance:** Inference latency (time to last byte), throughput, success rates
- **Token tracking:** Total tokens, prompt tokens, completion tokens
- **Request trends:** API call volume per deployment
- **Cost visibility:** Token consumption patterns for cost optimization
- **Per-deployment comparison:** Side-by-side metrics for GPT-4 vs GPT-3.5
**Import prosess:**
1. Gå til Azure Managed Grafana workspace
2. Dashboards → New → Import
3. Enter dashboard ID: **24039**
4. Velg Azure Monitor data source
5. Assign Monitoring Reader role til Grafana managed identity
**Alternativ (direktelenke fra Azure Portal):** Monitor → Dashboards with Grafana (preview) → AI Foundry *(Verified MCP 2026-04)*
**Metric namespace:** `Microsoft.CognitiveServices/accounts`
**Key metrics:**
- `AzureOpenAIRequests` API call volume and success rates
- `TokenTransaction` Total inference tokens for cost tracking
- `ProcessedPromptTokens` Input tokens consumed
- `GeneratedTokens` Output tokens produced
- `AzureOpenAITTLTInMS` Inference latency (time to last byte)
**Grouping:** All metrics split by `ModelDeploymentName`
### Custom Grafana Panels
**Legg til nytt panel:**
1. Edit → Add → Visualization
2. Data source: Azure Monitor
3. Resource: Velg AI Foundry resource
4. Metric: Velg metric (f.eks. `TokenTransaction`)
5. Aggregation: Average, Sum, Count, Min, Max
6. Visualization type: Time series, Stat, Gauge, Bar chart
7. Thresholds: Definer warning/critical levels for visual alerts
**Eksempel på custom panel for token cost:**
- Data source: Azure Monitor
- Metric: `TokenTransaction`
- Aggregation: Sum
- Transform: Math operation × 0.000002 (cost per token in NOK)
- Visualization: Stat panel med "NOK spent today"
- Threshold: Red over 5000 NOK
---
## Power BI for Executive AI Dashboards
Power BI tilbyr business-orienterte visualiseringer med kraftig datamodellering. Ideell for executive dashboards som kombinerer AI metrics med business KPIs.
### Power BI + Azure Monitor Integration
**Dataflyt:**
1. Azure Monitor logs → Log Analytics workspace
2. Power BI connector → Import eller DirectQuery
3. Power BI semantic model → Transform og model data
4. Power BI report → Visualiser for executives
**Setup:**
1. I Power BI Desktop: Get Data → Azure → Azure Monitor Logs
2. Enter workspace resource ID
3. Write KQL query:
```kusto
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| where TimeGenerated > ago(30d)
| summarize
TotalRequests = count(),
AvgLatency = avg(DurationMs),
TotalTokens = sum(toint(customDimensions.tokens))
by bin(TimeGenerated, 1d), ModelDeployment = tostring(customDimensions.model)
```
### Executive Dashboard Layout
**Typical executive AI dashboard:**
1. **Top KPIs** (cards)
- Monthly AI spend
- Total conversations handled
- Average user satisfaction (fra feedback)
- Cost per interaction
2. **Trends** (line charts)
- AI usage growth over time
- Cost efficiency trend
- User adoption rate
3. **Business impact** (combo charts)
- Support tickets vs AI conversations (korrelasjon)
- Customer satisfaction vs AI usage
- Cost savings from automation
4. **Model performance** (tables)
- Ranker modeller etter success rate, cost, speed
- Benchmark mot SLA
**Scheduling:**
- Scheduled refresh, deling, dataflows og incremental refresh krever Power BI Pro eller Premium (gratis-tier dekker kun lokal rapport-/dashboardbygging). Incremental refresh forutsetter et **datetime**-felt i resultatsettet.
- Email subscriptions for stakeholders
- Power BI mobile app for on-the-go access
---
## Real-Time Intelligence Dashboards (Fabric)
Microsoft Fabric Real-Time Intelligence tilbyr sanntids-dashboards drevet av KQL queries mot Eventhouse.
### AI Monitoring i Fabric
**Use case:** Streaming AI telemetry for øyeblikkelig innsikt.
**Architecture:**
1. Microsoft Foundry → Event Hub → Fabric Eventhouse
2. KQL Database → Continuous queries
3. Real-Time Dashboard → Live visualizations
**Dashboard tiles:**
**Stat tile (max temperature pattern):**
```kusto
AITelemetry
| where Timestamp between (_startTime.._endTime)
| where ModelDeploymentName == _deployment
| top 1 by Latency desc
| summarize by Latency
```
**Time chart (request rate):**
```kusto
AITelemetry
| where Timestamp between (_startTime.._endTime)
| where ModelDeploymentName == _deployment
| summarize RequestCount = count() by bin(Timestamp, 1m)
| render timechart
```
**Parameters:**
```kusto
// Deployment selector
AITelemetry
| summarize by ModelDeploymentName
```
**Best practices:**
- Bruk parameters for interactive filtering
- Auto-refresh interval: 30 sek for operations, 5 min for analytics
- Conditional formatting for thresholds (red/yellow/green)
---
## Dashboard Sharing and Governance
### Access Control
**Azure Workbooks:** *(Verified MCP 2026-04)*
- **Monitoring Contributor role:** Inkluderer `workbooks/write` — kan redigere og lagre delte workbooks
- **Monitoring Reader role:** Kan se workbooks, men ikke endre
- **Custom roles:** Krev `microsoft.insights/workbooks/write` for redigering
- **Resource-based permissions:** Brukere ser kun data fra ressurser de har tilgang til
**Grafana:**
- **Grafana Admin role:** Full tilgang
- **Grafana Editor role:** Kan redigere dashboards
- **Grafana Viewer role:** Read-only
- Azure RBAC: Monitoring Reader på subscription/resource group
**Power BI:**
- **Workspace roles:** Admin, Member, Contributor, Viewer
- **Row-level security (RLS):** Filtrer data basert på brukeridentitet
- **App distribution:** Del read-only versjon via Power BI app
### Governance Best Practices
**Standardisering:**
- Opprett dashboard templates for ulike roller (DevOps, Leadership, Security)
- Bruk naming conventions: `[Team]-[Purpose]-[Environment]` (f.eks. `AITeam-Operations-Prod`)
- Version control for workbook ARM templates i Git
**Dokumentasjon:**
- Inkluder markdown-seksjoner i workbooks med:
- Hva viser denne dashboard?
- Hvilke actions skal jeg ta ved alerts?
- Links til runbooks og troubleshooting guides
- README i Power BI workspace med metric definitions
**Update cadence:**
- **Operations dashboards:** Live/1 min refresh
- **Analytics dashboards:** 15 min refresh
- **Executive dashboards:** Daily refresh (for kostnad-effektivitet)
**Arkivering:**
- Fjern dashboards som ikke har vært brukt på 90 dager
- Eksporter historiske dashboards som snapshots (PDF fra Grafana, PBIX backup)
---
## Cost and Usage Visualizations
### Token Economics Dashboard
**Kritisk for AI-budsjett:** Visualiser token costs i sanntid.
**KQL query for daily cost:**
```kusto
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"
| where OperationName == "ChatCompletions_Create"
| extend
PromptTokens = toint(customDimensions.prompt_tokens),
CompletionTokens = toint(customDimensions.completion_tokens),
Model = tostring(customDimensions.model)
| extend TotalCost = case(
Model == "gpt-4", (PromptTokens * 0.00003 + CompletionTokens * 0.00006),
Model == "gpt-35-turbo", (PromptTokens * 0.0000015 + CompletionTokens * 0.000002),
0
)
| summarize DailyCost = sum(TotalCost) by bin(TimeGenerated, 1d)
| render areachart
```
**Visualization types:**
- **Waterfall chart:** Vis cost breakdown per model, per team, per use case
- **Gauge:** Daily spend vs budget
- **Heat map:** Peak usage hours (for PTU optimization)
### PTU Utilization Dashboard
For Provisioned Throughput Units (PTU):
**Key metrics:**
- PTU utilization percentage
- Requests per PTU
- Cost per request (PTU vs PayGo comparison)
**Grafana panel:**
- Data source: Azure Monitor
- Metric: `ProcessedPromptTokens` + `GeneratedTokens`
- Transform: Divide by PTU capacity → percentage
- Visualization: Gauge med thresholds (green <80%, yellow 80-95%, red >95%)
---
## Dashboard Anti-Patterns
**Feil å unngå:**
**Information overload:** 20+ metrics på én side Splitt i multiple views
**Stale data:** Refresh rate som ikke matcher use case (real-time ops trenger <1 min)
**No context:** Metrics uten thresholds eller trend-indikatorer
**Static dashboards:** Ingen parameters for filtering eller drill-down
**Isolated metrics:** Ikke kombiner business outcomes med technical metrics
**No alerts configured:** Dashboards er reactive, du trenger proactive alerts også
**Best practices:**
**Progressive disclosure:** Summary view → Drill-down details
**Thresholds everywhere:** Visual indicators (red/yellow/green)
**Contextual annotations:** Markdown-tekst som forklarer hva er normalt, hva er alarming
**Role-based views:** Ulike dashboards for DevOps, managers, finance
**Mobile-friendly:** Test på mobile devices (Grafana/Power BI mobile apps)
**Integration with incidents:** Link fra dashboard tile til incident management (ServiceNow, Linear)
---
## For Cosmo Skyberg
Når kunden spør om dashboards for AI operations:
### Discovery Questions
1. **Hvem er dashboardet for?** (DevOps, executives, security team, finance?)
2. **Hva er decision-kriteriene?** (Real-time troubleshooting, cost control, compliance, capacity planning?)
3. **Hvilke data sources?** (Kun Azure Monitor, eller også custom app telemetry?)
4. **Refresh requirements?** (Live, minutt, time, daglig?)
5. **Mobile access?** (Grafana/Power BI mobile, eller kun desktop?)
6. **Compliance constraints?** (Hvem kan se hvilke data? RLS nødvendig?)
### Anbefalingsmatrise
| Use Case | Anbefalt Løsning | Begrunnelse |
|----------|------------------|-------------|
| Real-time operations center | Grafana (Azure Managed) | Streaming metrics, alert-integrasjon, 24/7 NOC-friendly |
| Deep technical troubleshooting | Azure Workbooks | KQL-drevet, resource-centric, kan kombinere logs+metrics |
| Executive monthly reviews | Power BI | Business-oriented visuals, kombinerer AI med business KPIs |
| Streaming IoT/Edge AI telemetry | Fabric Real-Time Dashboard | Sub-second refresh, event-driven |
| Quick ad-hoc analysis | Log Analytics + Metrics Explorer | Ingen setup, direkte i portal |
### Implementation Checklist
**Fase 1: Design (1-2 uker)**
- [ ] Definer målgrupper og deres behov
- [ ] Skissér dashboard layout (wireframes)
- [ ] Identifiser data sources og KQL queries
- [ ] Etablér thresholds og alert-kriterier
**Fase 2: Prototype (1 uke)**
- [ ] Bygg workbook/Grafana dashboard med sample data
- [ ] Test queries for performance (< 5 sek load time)
- [ ] Validér med pilot-brukere
**Fase 3: Production (1 uke)**
- [ ] Deploy via ARM template (Workbooks) eller import (Grafana)
- [ ] Konfigurer RBAC og sharing
- [ ] Sett opp refresh schedules
- [ ] Dokumentér i README
**Fase 4: Iterate (kontinuerlig)**
- [ ] Samle feedback fra brukere
- [ ] Monitor dashboard usage (Application Insights for Grafana/PBI)
- [ ] Optimaliser trege queries
- [ ] Legg til nye metrics basert på operasjonelle behov
### Technical Guidance
**Når velge Workbooks:**
- Teamet er komfortable med KQL
- Trenger resource-centric views (mange AI-ressurser samtidig)
- Ønsker programmatic deployment (IaC)
- Budget-bevisst (ingen ekstra lisenskostnad)
**Når velge Grafana:**
- 24/7 operations center
- Multi-cloud (kombinerer Azure med AWS/GCP metrics)
- Alert-drevet kultur (Grafana alerting er kraftig)
- Eksisterende Grafana-kompetanse
**Når velge Power BI:**
- Executive audience (ikke-tekniske interessenter)
- Kombinerer AI metrics med ERP/CRM data
- Trenger mobile app access
- Ønsker scheduled email reports
**Når velge Fabric Real-Time:**
- Sub-second latency requirements
- Massive scale (millioner av events per sekund)
- Allerede investert i Microsoft Fabric
- Event-driven architecture (Event Hub → Eventhouse)
### Example Deliverables
**Eksempel 1: DevOps Operations Workbook**
- Sections: Health Overview, Request Trends, Error Analysis, Token Economics
- Parametere: Time range, Model deployment, Region
- Refresh: Live (1 min)
- RBAC: DevOps team (Contributor), Leadership (Reader)
**Eksempel 2: Executive Grafana Dashboard**
- Panels: KPI cards (top row), Time series (middle), Tables (bottom)
- Variables: Environment (prod/test), Cost center
- Refresh: 5 min
- Alerts: Email til leadership ved cost > threshold
**Eksempel 3: Finance Power BI Report**
- Pages: Monthly spend, Cost per business unit, Forecast vs Actual
- Data sources: Azure Monitor + Finance system (via Dataverse)
- Refresh: Daily (6 AM)
- RLS: Finance team ser all data, business units ser kun sine egne
---
## Ressurser
### Microsoft Learn
- [Azure Workbooks overview](https://learn.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-overview)
- [Create an Microsoft Foundry dashboard](https://learn.microsoft.com/en-us/azure/managed-grafana/azure-ai-foundry-dashboard)
- [Monitor Azure OpenAI](https://learn.microsoft.com/en-us/azure/foundry-classic/openai/how-to/monitor-openai)
- [Workbooks programmatic management](https://learn.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-automate) *(Verified MCP 2026-04)* — ARM/Bicep deployment, RBAC (Monitoring Contributor for redigering, Monitoring Reader for visning), `microsoft.insights/workbooks/write` for custom roles
- [Power BI + Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-powerbi) *(Verified MCP 2026-06-19)* — eksport fra Log Analytics som M-query (.txt → Power BI Desktop) eller new Dataset (Power BI-tjenesten); dataflows + incremental refresh; scheduled refresh/deling krever Pro/Premium
### Code Samples
- [Workbook ARM/Bicep template samples](https://learn.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-samples) — workbook templates bruker apiVersion `2019-10-17-preview` (type: microsoft.insights/workbooktemplates); workbook instances bruker `2018-06-17-preview` (type: Microsoft.Insights/workbooks) *(Verified MCP 2026-04)*
- [Microsoft Foundry Grafana dashboard ID: 24039](https://grafana.com/grafana/dashboards/24039)
- [KQL query examples for AI monitoring](https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/samples)
### GitHub
- [Azure Monitor Community](https://github.com/microsoft/AzureMonitorCommunity) Workbook templates
- [Grafana dashboards](https://github.com/grafana/grafana) Community dashboards
- [Power BI samples](https://github.com/microsoft/powerbi-samples) BI report templates
---
**Status:** Komplett
**Neste steg:** Kombiner med "alert-strategies-ai-systems.md" for helhetlig monitoring approach.