Altinn / Altinn/altinn-authentication
Dashboard: hoveddashboard for det som må håndteres nå, + komponentdashboards
- Dominant language
- C#
- Stars
- 8
- Forks
- 5
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 17
Description
Del av epic #1270 «Operations and Monitoring».
Pilar 3 i Team Autorisasjons H2 2026-strategi.
Grunnlag: `analyse/INVENTAR_telemetri_2026-08-17.md`
## Bakgrunn
Grafana-instansen finnes allerede som kode — Azure Managed Grafana v11, SKU Standard, i `altinn-authorization-tmp` `infra/deploy/hub/telemetry.tf:17-27`. Editor-roller for utviklere er tildelt i `:35-40`, så kravet om team-redigerbarhet er **allerede løst i IaC**.
Det som mangler er innholdet. Søk etter Grafana dashboard-JSON (`"schemaVersion"` + `"panels"`) i alle seks repoer gir ett treff, og det er ikke driftsrelatert: `-tmp` `src/apps/Altinn.AccessManagement/test/K6/performance-test-dashboard.json` (ytelsestest).
**Det finnes et sterkt indisium på at et dashboard allerede er laget.** Sub-issue #1672 «Create a temporary dashboard for authorization which can be exported as json later» ble lukket som *completed* 2026-06-19 — men det finnes ingen eksportert JSON i noen av repoene, og issuen har tom beskrivelse. Det midlertidige dashboardet lever altså sannsynligvis kun i Grafana-portalen, uten versjonskontroll. Nettopp det #1672 satte seg fore å unngå.
- [ ] **Finn ut hva #1672 faktisk resulterte i.** Spør den som lukket den, og eksporter dashboardet hvis det finnes.
- [ ] **Eksporter og gjennomgå alt som allerede finnes i Grafana-instansen** (`grafana` i hub-ressursgruppen) før det bygges noe nytt. Forutsetter #1637 (Monitoring Reader).
## Hoveddashboardet
Dette er den viktigste leveransen her, og det defineres av hva det **ikke** viser.
### Opptakskriterium — én regel
> Et panel hører hjemme på hoveddashboardet bare hvis rødt der betyr at **noen må gjøre noe nå**.
Test hvert kandidatpanel med spørsmålet: *«hva gjør jeg hvis dette blir rødt?»*
Er svaret «ingenting» eller «det går sikkert over», hører panelet til på et komponentdashboard.
- [ ] Gå gjennom hvert foreslåtte panel mot denne regelen, og dokumenter avgjørelsen. Panelene som ryker skal ikke slettes — de flyttes til komponentdashboardet.
### Lesbarhet
- [ ] **Skal kunne leses på ti sekunder på en skjerm i standupen.**
- [ ] **Hardt tak på antall paneler — foreslått: maks 8.** Taket settes i denne issuen og skal holdes. Nytt panel inn betyr et annet panel ut, eller en eksplisitt beslutning om å heve taket.
- [ ] Ingen scrolling. Ingen paneler som krever at man vet hva de betyr for å lese dem.
### Ingen paneler uten terskel og eier
- [ ] Hvert panel skal ha en definert terskel for hva som er rødt, og en navngitt eier.
- [ ] Terskler skal være de samme som i de tilhørende alarmene fra #2138. Et panel som blir rødt uten at en alarm fyrer, eller omvendt, undergraver begge.
### Grønt skal bety «ingenting krever handling nå» — ikke «vi har ikke data»
Dette er et reelt problem her og ikke et hypotetisk: fire av sju komponenter har **null** domenemetrikker i dag (`altinn-resource-registry`, `altinn-auth-audit-log`, `altinn-access-management-frontend`, og PDP-motoren). Et naivt panel over disse vil se friskt ut fordi det ikke finnes noe å vise.
- [ ] **Skill visuelt mellom «ok» og «ukjent».** Tre tilstander, ikke to: ok / problem / ingen data.
- [ ] Et panel uten data skal ha egen farge eller markering, og skal **ikke** se friskt ut.
- [ ] Bruk Grafanas «No data»-tilstand eksplisitt per panel; ikke la den falle tilbake til ok.
- [ ] Verifiser oppførselen ved å slå av en datakilde i testmiljø og se at panelet blir «ukjent», ikke grønt.
## Komponentdashboards
Ett per komponent, med detaljene som ikke hører hjemme på hoveddashboardet:
- [ ] `altinn-authentication`
- [ ] `altinn-authorization`
- [ ] `altinn-register`
- [ ] `altinn-resource-registry`
- [ ] `altinn-access-management`
- [ ] `altinn-auth-audit-log`
- [ ] `altinn-access-management-frontend`
Innhold per komponentdashboard: ressursbruk, latensfordeling, feilrater, køstatus.
Merk at innholdet er begrenset av hva som finnes. For de fire komponentene uten domenemetrikker vil komponentdashboardet i starten kun kunne vise infrastruktur- og HTTP-nivå fra ServiceDefaults/App Insights. Det er greit — men dashboardet skal vise tydelig at domenelaget mangler, ikke skjule det.
## Bruksmønster
Egne paneler, ikke blandet inn i drift:
- [ ] Volum og latens per endepunkt
- [ ] Feilrate per endepunkt
- [ ] Toppbrukere — `resource.owner.org` finnes allerede som tag i `altinn.pdp.decisions` (`-tmp` `.../Telemetry/DecisionTelemetry.cs:66`) og i `altinn.authorizedparties.resourceowner.requests` (`.../Telemetry/AuthorizedPartiesTelemetry.cs:48`), så dette kan bygges uten å vente på #2137
- [ ] Geo-/IP-fordeling
Relaterte issues: `Altinn/altinn-authorization-tmp#2761`, `Altinn/altinn-authorization-tmp#2763`.
## Team-redigerbarhet og tagging
- [ ] Verifiser at Editor-rolletildelingen i `infra/deploy/hub/telemetry.tf:35-40` faktisk gir teamet redigeringstilgang i praksis.
- [ ] Tagg alle dashboards på **miljø** og **komponent**.
- [ ] **Merk avhengighet:** miljø-tagging på dashboardnivå er lite verdt hvis metrikkene ikke bærer miljødimensjon. Ingen komponent tagger metrikker med miljø i kode i dag — se #2137 og punkt 5 i inventarets §6.
- [ ] Legg dashboard-definisjonene i IaC/versjonskontroll, ikke bare i portalen. Det er nettopp mangelen på dette som gjør at vi i dag ikke vet hva som finnes.
## Dokumentasjon
- [ ] **Dokumenter hvordan dashboardene leses.** Hva betyr hvert panel, hva er terskelen, hvem eier det, og hva gjør man når det blir rødt.
- [ ] Dette er runbook-stoff — lenk det fra alarmene i #2138, slik at runbook-lenken der peker på noe som faktisk forklarer panelet.
- [ ] Legg det inn i onboarding-materiellet. En ny på teamet skal kunne lese hoveddashboardet uten å spørre noen.
## Avhengigheter
- Blokkeres av #2137 (metrikker) og #2138 (alarmer). Et dashboard uten validerte alarmer viser tall ingen vet om betyr noe.
- Delene som kan starte tidlig: eksport av eksisterende Grafana-innhold, og bruksmønster-panelene basert på `resource.owner.org`, som allerede finnes som tag.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with analyse/INVENTAR_telemetri_2026-08-17.md, issue #1672, and infra/deploy/hub/telemetry.tf:17-40; first inspect the existing Grafana dashboards and verify the editor-role assignment. Review the telemetry sources named in Telemetry/DecisionTelemetry.cs:66 and Telemetry/AuthorizedPartiesTelemetry.cs:48. Done means version-controlled main and component dashboards with documented thresholds, owners, no-data states, tags, and runbook guidance, subject to the #2137 and #2138 dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, grafana, terraform
- Domain
- devops, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100