device
device copied to clipboard
Telemetry ved hjelp av otel-collector
Beskrivelse / Essensen
Vi ønsker bedre kontroll på hvordan naisdevice oppfører seg på enhetene.
Investeringsvilje
2 uker
Ikke-mål
- backend-intrumentering
- logger (dette kan vi se på senere når go-otel client får støtte for det)
Løsningen i grove trekk
Vi tar i bruk open-telemetry-collector. Denne vil ta i mot metrics og traces. Vi gjør noen naive antakelser om at ingen vil dytte falske data til vår collector.
Opt-out mulighet i klienten for de som måtte ønske det
Sikkert lurt å la URL være en del av bootstrap (men med en hardkodet default), slik at den lar seg overstyre.
Nøkkelmetrikker:
- alle komponenter:
- uptime
- version
- naisdevice-helper
- antall WireGuard config syncs
- antall routes
- naisdevice-systray
- redraws (hvis mulig)
- agentstatuses received
- naisdevice-agent
- tid brukt i hver state (i state machine) før man går til neste
- antall configs mottatt fra apiserver
- tid fra login til første gateway er connected
- helsesjekker som har feilet (mot gateways)
Antar vi vil legge til flere metrikker når man først er inne og ser i koden.
Eventuell annen relevant informasjon
- bruk: https://github.com/open-telemetry/opentelemetry-go
- venter på: https://github.com/nais/o11y/issues/4
graph LR;
A[device-agent] -- grpc --> L
B[device-systray] -- grpc --> L
C[device-helper] -- grpc --> L
L{Load Balancer} -- grpc --> D[otel-collector]
D --> P[Prometheus]
D --> T[Tempo]
superseeds #355
Nothing has happened here for a while (60 days), marking as stale. Add preserve label to avoid deletion