Ga naar inhoud

Operations

Deze pagina is voor het platformteam. Ze behandelt wat je in de gaten houdt, wat volgens schema draait, hoe alerting is aangesloten en wat je doet als iets faalt. Ze beschrijft het referentieontwerp; jouw monitoring, on-callopzet en namen kunnen afwijken. Wie deze taken uitvoert, hangt af van het beheermodel (Operating models, Verantwoordelijkheden).

Verificatie na een deployment

Controle Verwacht
Liveness /.backstage/health/v1/liveness geeft 200 terug
Readiness /.backstage/health/v1/readiness geeft 200 terug. Het geeft 503 tijdens het opstarten, tijdens het afsluiten en zolang de credential voor Microsoft-aanmelding de validatie niet doorstaat.
Build-ID Het antwoord van het health-endpoint bevat de header X-Build-Id, de ID van de pipelinerun. De smoke test van de deployment vergelijkt die.
Aanmelden Een testgebruiker komt in een gevulde catalog terecht
Ingestie Een bekende workload, repository, gebruiker en groep staan in de catalog
MCP De toollijst van de MCP-server is niet leeg

Dezelfde controles, met de gebruikte entity of waarde, vormen de validatielijst in Een klant onboarden.

Geplande taken

De backend draait deze taken. De waarden zijn de standaardwaarden uit de gedeelde configuratie en kunnen per omgeving worden overschreven.

Taak Standaard Opmerkingen
Azure Resource Graph, Application Gateway-listeners Elk uur, timeout 50 minuten (productieconfiguratie) Kan worden uitgeschakeld met enabled: false
Azure Resource Graph, subscriptions Per provider-ID ingesteld in de configuratie Heeft een schedule nodig als ingeschakeld. Een ingeschakelde provider zonder geldig schedule faalt bij het opstarten.
Azure DevOps-repositories Ingesteld in de klantconfiguratie (voorbeeld: elke 30 minuten, timeout 3 minuten) Leest catalog-info.yaml-bestanden
Gebruikers en groepen (Microsoft Graph) Ingesteld in de klantconfiguratie
Verversing van de netwerkinventaris Elke 10 minuten, timeout 2 minuten Logs worden op verzoek bevraagd
Security insights Elk uur, timeout 55 minuten
Compliance insights Elk uur, timeout 55 minuten
Configuratie van kostenexports Batches in een venster buiten kantooruren Zie Cost insights setup
Laden van kostendata Data Factory-trigger dagelijks om 04:00 W. Europe-tijd

Als een taak langer duurt dan zijn timeout, wordt hij geannuleerd en probeert hij het bij het volgende interval opnieuw. De Azure Resource Graph-requests delen een rate limiter-budget van 10 requests per 5 seconden, dus grote omgevingen duren langer.

Logging en telemetrie

Onderdeel Detail
Loglevel warn in productie. De catalog logt op error. De plugins voor kosten en netwerk loggen op info.
Application Insights De backend stuurt traces via Azure Monitor OpenTelemetry. Ruisende spans worden gefilterd.
Agenttelemetrie Agentruns worden getraceerd met OpenTelemetry. De traces leggen inputs en outputs vast, dus ze kunnen de prompts van gebruikers bevatten. Pas dezelfde toegangsregels toe als voor andere logs die gebruikerscontent kunnen bevatten.
Gesprekken Agentthreads en -berichten worden per gebruiker opgeslagen in de portaldatabase
Auditevents De toegangscontrole stuurt auditevents uit (Authenticatie en toegang)

Alerting

De referentieomgevingen gebruiken PagerDuty. Dit is een keuze van de provider; elke Azure Monitor action group werkt op dezelfde manier.

Onderdeel Detail
Gedeelde opzet (eenmalig) Een team, een schedule met een wekelijkse rotatie beperkt tot de geconfigureerde kantooruren en -dagen, en een escalation policy met een instelbare vertraging en aantal loops. Beheerd met Terraform in een platformroot die zelfstandig wordt gedeployd.
Per omgeving Een service gekoppeld aan het gedeelde escalation policy en aan de business service van de klant, plus een Azure Monitor action group die PagerDuty aanroept
Mensen Gebruikers staan vermeld met de rol manager, responder of observer. Gebruikers moeten al een account hebben. Gebruik manager voor global administrators, omdat PagerDuty voor hen geen lagere rol toestaat.
Dekking Buiten de geconfigureerde uren is het schedule leeg. Verwijder de beperkingen voor 24/7-dekking. De uren volgen het contract en worden hier niet gedefinieerd.
Alertregels De modules maken geen alerts aan tenzij je action group-ID's meegeeft. De Data Factory-module heeft een alert voor pipelinefouten.

De gedeelde PagerDuty-root moet worden gedeployd vóór een omgeving die naar zijn escalation policy verwijst. Zijn pipeline heeft de OAuth client-ID, het secret en het account-subdomein van PagerDuty nodig als repository secrets, en een OAuth-app met lees- en schrijfscopes voor services, schedules en escalation policies en leesscopes voor teams, users en abilities.

Back-up en herstel

Onderdeel Detail
PostgreSQL Automatische back-up met 7 dagen retentie, geen geo-redundantie
Key Vault Soft delete 7 dagen, purge protection aan
Catalog Wordt opnieuw opgebouwd uit Azure en de repositories. Verlies van de catalogdatabase betekent verlies van de agentgesprekken en plugindata, niet van de bron van de catalog.
Rollback van de portal Deploy een eerdere commit via de dispatch workflow.

Goedkeuringen van private endpoints

Als de provider vanuit zijn eigen netwerk deployt, blijven de private endpoint connections van de resources van de klant in behandeling totdat de klant ze goedkeurt. De klant kan een goedkeuring op elk moment intrekken, waardoor deployments stoppen. Als een deployment Key Vault, de registry of de Terraform state niet kan bereiken, controleer dan eerst of een connection in behandeling of ingetrokken is en of de DNS-entry bestaat. Zie Een klant onboarden.

Troubleshooting

Symptoom Waarschijnlijke oorzaak Actie
Aanmelden faalt met "user does not exist" Het aanmeld-e-mailadres komt niet overeen met een User-entity Wacht op de volgende gebruikerssync. Controleer of de Graph application permissions zijn verleend (Prerequisites).
Catalog is leeg of workloads ontbreken Ontbrekende tags, ontbrekende Reader-rol of het schedule van de provider heeft nog niet gedraaid Controleer de tags (Catalog en entity model) en de role assignments
Groepen ontbreken Normalisatie van groepsnamen laat groepen weg die de naamconventie niet volgen Zie Catalog en entity model
Geen kostendata Provider Microsoft.CostManagement niet geregistreerd, export nog niet aangemaakt, pipeline nog niet gedraaid of de private connection naar SQL ontbreekt Zie Cost insights setup. Reken op één tot twee dagen na de setup.
Netwerk- of securitytabellen leeg Ontbrekende rol Monitoring Reader of Reader op de scope van de firewall of gateway Prerequisites
Pull request van de agent faalt met 403 of 404 De identity mist Contribute op de repository, zit niet in de Azure DevOps-organisatie of de GitHub App mist permissies AI setup
GitHub-integratie faalt bij deployment De private key is met echte regeleinden opgeslagen Sla de key op met \n in plaats van regeleinden (Configuratie)
Gateway meldt de portal als unhealthy De probe wijst naar readiness en er is een opstart- of credentialprobleem WAF en eigen domein
Eerste infrastructuurrun faalt op Key Vault of registry Verwacht als private endpoints nog niet bestaan Een klant onboarden
Deployment van Foundry duurt erg lang Het aanmaken van Foundry kan meer dan twee uur duren De pipeline-timeout is 210 minuten
Foundry-deployment faalt met een capability host-fout Er bestaat een capability host van het kind "Agents" in een ongeldige staat Zie hieronder

Capability host-fout

Dit geldt als Foundry met bring-your-own resources is gedeployd. De deployment faalt met een fout over capabilityHostKind. Som de capability hosts van het account op, verwijder degene die wordt gemeld en maak hem opnieuw aan met de REST API.

az rest --method get \
  --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.CognitiveServices/accounts/<account-name>/capabilityHosts?api-version=2025-10-01-preview"

az rest --method delete \
  --url ".../capabilityHosts/<capability-host-name>?api-version=2025-10-01-preview"

Maak hem opnieuw aan met een body die capabilityHostKind op Agents zet en customerSubnet op de resource-ID van het gedelegeerde agents-subnet, en lees hem daarna terug tot de provisioning state succeeded is.

Updates

Nieuwe versies van de portal bereiken elke omgeving via de rings (Deployment en omgevingen). Features worden niet per klant gekozen; een klantspecifieke wijziging is een configuratiewijziging. Bespreek de release tijdens het overdrachtsgesprek en na grote updates.