digdir / dialogporten

Dialogporten - common API and and metadata state store for digital dialogs
https://docs.altinn.studio/dialogporten
MIT License
1 stars 3 forks source link

Health checks mot PostgreSQL, Azure Service Bus, og Altinn #292

Open oskogstad opened 9 months ago

oskogstad commented 9 months ago

Introduksjon

ASP.NET-prosjektene våre har endepunkter for health probes i ContainerApps (kubernetes), disse bruker nå default-implementasjonen til .NET. De returnerer 200 OK om ting er i live.

Implementasjon

Implementer vår egne checks som sjekker connections og connection time mot

Ingen kobling mot disse gir unhealthy, høy responstid skal gir degraded (sjekk opp eksakte terms/HTTP-responskoder)

### Oppgaver
- [ ] Implementer health checks for CDC
- [ ] Implementer health checks for Service
- [ ] Implementer health checks for WebAPI
- [ ] Utarbeide dokumentasjon (hvis relevant - enten oppdatere arbeidsdokument, eller legg inn ny fil i `docs`)
- [ ] Legge inn e2e-test (hvis relevant)
- [ ] Implementer varsling hvis en container er unhealthy eller degraded over en viss periode
oskogstad commented 9 months ago

Kan hende varsling kan tas ut som en egen task, for å holde oppgavene små.

arealmaas commented 6 months ago

Tror vi skal være forsiktig med å legge til requests mot eksterne tjenester som en del av container apps-health checken. Om vi sliter å få kontakt med postgresql så vil vi ikke nødvendigvis degrade tjenesten til "unhealthy" i Kubernetes ettersom den da vil kontinuerlig restarte pga. failing health checks.

Skulle vi heller ha eksponert et eget health-endpoint som vi kunne pinget fra f.eks https://learn.microsoft.com/en-us/azure/azure-monitor/app/availability-overview, https://www.runscope.com/ eller https://www.atlassian.com/software/statuspage? Der kan vi f.eks også degrade tjenesten om latency på en tredjepartsservice er over X f.eks også.

Så kan vi heller returnere 200 OK på liveness og returnere noe som gir mening på readiness (når vi sier at vi ikke vil at tjenesten/replicaen skal motta mer trafikk før den er healthy).