Gå til indhold
atlas

Telemetri

De data, et kørende system sender ud om sig selv, især logs, metrikker og sporinger, så man kan se, hvordan det har det.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Signaler, som software og maskiner danner, mens de kører, og som sendes til et andet sted for at blive gemt og studeret, oftest som metrikker, logposter og sporinger af enkelte forespørgsler, hver mærket med hvor og hvornår de opstod.

Forklaret enkelt

Som målingerne, en hospitalsmonitor sender til sygeplejerskernes kontor, fx puls og ilt, så ingen behøver stå ved sengen for at vide, hvordan patienten har det.

I praksis

Hver tjeneste bag ministeriets selvbetjeningsløsning sender sin telemetri gennem ét fælles samlepunkt, der sender metrikker videre til dashboards, logs til loglageret og sporinger til sporingsværktøjet.

Hvorfor det betyder noget

Man kan kun forstå, overvåge eller forsvare et system gennem de data, det giver fra sig; manglende eller dårlig telemetri efterlader både driften og sikkerhedsteamet i blinde.

Teknisk uddybning

Ordet kombinerer det græske tele (fjern) og metron (mål) og betegnede oprindeligt instrumenter, der sendte målinger fra raketter, fly eller forsyningsanlæg til en jordstation. I software dækker det ethvert maskinskabt signal, der udsendes til senere analyse: metrikker, logs, sporinger, profiler og, på sikkerhedsområdet, hændelsesstrømme fra endpoints og netværk som procesoprettelser, DNS-opslag og autentificeringsposter. Produkt- eller brugstelemetri, der rapporterer brug af funktioner og nedbrud fra brugernes enheder tilbage til en leverandør, er en særskilt kategori med sine egne spørgsmål om samtykke og privatliv.

OpenTelemetry er blevet referencearkitekturen. Koden instrumenteres via et sprog-API; SDK'et tilføjer en Resource, der beskriver den udsendende enhed (service.name, service.version, host samt Kubernetes-attributter for pod og namespace), og står for sampling, batching og eksport. Attributnavne følger semantiske konventioner, så fx en HTTP-statuskode eller et databasesystem navngives ens på tværs af sprog og leverandører. Data sendes via OTLP, en protobuf-baseret protokol over gRPC (standardport 4317) eller HTTP (standardport 4318), som regel til en OpenTelemetry Collector.

Collectoren konfigureres som pipelines pr. signaltype, hver sammensat af receivers (OTLP, Prometheus-scrape, filelog, syslog og mange andre), processors (memory_limiter, batch, rensning af attributter, berigelse med k8sattributes, tail sampling) og exporters til én eller flere backends, mens connectors forbinder pipelines, fx for at aflede span-metrikker fra sporinger. Typiske topologier er en agent på hver node eller som sidecar, der indsamler lokalt med lav forsinkelse og videresender til et horisontalt skaleret gateway-lag, som samler legitimationsoplysninger, sampling og routing ét sted. Når denne vej designes, skal der tages højde for modtryk og datatab: når en backend er langsom, fyldes køerne, og data smides væk, så exporters skal have genforsøg og persistente køer, og selve pipelinen skal overvåges for tabte og afviste elementer.

Telemetri har også en sikkerheds- og governance-dimension. Det er følsomme data: de indeholder ofte IP-adresser, bruger-ID'er og af og til hemmeligheder, der er fanget i URL'er eller fejlbeskeder, så indsamlingen bør minimere, rense og fastsætte opbevaringstid i overensstemmelse med databeskyttelsesforordningen, og transporten bør være krypteret og autentificeret, typisk med TLS eller mTLS mellem agenter og gateways. Telemetri er desuden et mål: angribere slår logning og sikkerhedsagenter fra eller manipulerer dem for at undgå opdagelse, katalogiseret i MITRE ATT&CK som T1562 Impair Defenses, og derfor bør pludselig tavshed fra en host i sig selv udløse en alarm. Endelig er telemetri råmaterialet og observerbarhed den evne, der opstår af det; data, som ingen kan forespørge eller korrelere, gør ikke et system observerbart.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Log
  2. →Tjeneste (service)
  3. →Metrikker
  4. →Distribueret sporing (tracing)
  5. →Telemetri

Relationer

Kilder og videre læsning

Officiel dokumentation

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.