Opslogix | Grafana Experter Sverige

Grafana Tempo: Skalbar spårning och instrumentering för moderna applikationer

Skriven av Opslogix | Oct 24, 2024 9:09:12 AM

Grafana Tempo är ett distribuerat spårningssystem (eng. distributed tracing) som utvecklats av Grafana Labs. Det är utformat för att samla in och hantera spårningsdata från distribuerade system, som moderna molnbaserade applikationer. Distribuerad spårning gör det möjligt att följa en begäran när den passerar genom olika tjänster och komponenter i ett system, vilket ger insikter om prestanda och flaskhalsar.

Till skillnad från andra spårningslösningar, som Jaeger eller Zipkin, indexerar Grafana Tempo inte spårningsdata. Istället är det byggt för att hantera stora volymer spårningsdata med minimal overhead och kostnad.

Grafana Tempo integreras enkelt med Grafana Mimir, Grafana Loki och Grafana, vilket gör det till ett kraftfullt verktyg för att få en fullständig bild av systemets prestanda.

Hur är Grafana Tempo uppbyggt?

Grafana Tempo är utformat med skalbarhet och enkelhet i fokus. Här är några nyckelkomponenter som gör det möjligt:

  • Blocklagring: Grafana Tempo lagrar spårningar som block av data (eng. chunks) i ett objektlagringssystem (till exempel Amazon S3, Azure Blob Storage eller MinIO). Eftersom det inte indexerar spårningarna direkt, kan det hantera enorma mängder data till en lägre kostnad.

  • Spårnings ID-baserad sökning: För att hämta en specifik spårning krävs ett spårnings ID (eng. Trace ID), vilket innebär att det finns en viss kompromiss mellan direkt sökbarhet och kostnadseffektivitet. Du kan dock hitta spårningar genom att använda loggar och koppla samman dessa med spårningsdata via spårnings ID.

  • Ingester och querier: Ingesters ansvarar för att ta emot spårningsdata och skriva om den till lagring, medan queriers hämtar och återställer spårningsdata när ett spårnings ID används i en sökfråga.

Bakgrunden till Grafana Tempo

Grafana Tempo skapades som svar på de ökade behoven av distribuerad spårning i molnbaserade applikationer och mikrotjänstarkitekturer. Traditionella tracing-system som Jaeger och Zipkin erbjuder bra funktioner, men kostnaderna kan snabbt eskalera när volymen av spårningsdata ökar, särskilt när varje spårning måste indexeras för snabb sökning.

Grafana Labs tog lärdom från sina erfarenheter med Grafana Mimir och Grafana Loki och använde samma principer för att skapa Grafana Tempo: ett system som kan hantera enorma mängder data utan att behöva indexera allt. På så sätt kan organisationer samla in och lagra spårningsdata över lång tid utan att kostnaderna skjuter i höjden.

Varför är Grafana Tempo bra?

  1. Kostnadseffektivt: Tempo erbjuder ett unikt tillvägagångssätt för distribuerad spårning genom att undvika direkt indexering. Det innebär lägre lagrings- och driftkostnader, särskilt för stora system med många spårningar.

  2. Sömlös Integration med Mimir och Loki: Genom att använda Grafana Mimir för tidsseriedata, Grafana Loki för logghantering och Grafana Tempo för spårningsdata, kan teknologierna sömlöst integreras med varandra och all data korreleras mellan de tre. Detta ger en fullständig överblick över applikationens prestanda, gör felsökning effektivare och minskar tidsåtgången för att lösa  problem (eng. Mean Time To Resolution).

  3. Skalbarhet: Precis som med Grafana Mimir och Grafana Loki, är Grafana Tempo byggt för att skala horisontellt. Det kan hantera enorma mängder spårningsdata, vilket gör det idealiskt för applikationer som körs i stora molnbaserade miljöer eller mikrotjänstbaserade arkitekturer.

  4. Lättviktigt och enkelt: Grafana Tempo är lätt att distribuera och kräver minimalt med konfiguration. Du behöver bara ett objektlagringssystem (som Azure Blob Storage eller MinIO) för att lagra spårningsdata och minimal infrastruktur för att komma igång.

  5. Spårning över lång tid: Eftersom spårningsdata lagras billigt och effektivt kan du enkelt behålla spårningar under längre perioder utan att drabbas av höga kostnader.

  6. Förbättrad felsökning: Genom att kunna koppla samman tidsseriedata, loggar och spårningar kan du lättare identifiera och felsöka problem i distribuerade system. Om något går fel i en tjänst kan du snabbt gå från tidsseriedata till loggar och sedan till specifika spårningar för att förstå var problemet uppstod.

Sammanfattning

Grafana Tempo är en kraftfull, skalbar och kostnadseffektiv lösning för distribuerad spårning. Genom att undvika komplex indexering kan Tempo hantera enorma mängder spårningsdata utan att driva upp kostnaderna. Dessutom fungerar det sömlöst tillsammans med Grafana Mimir, Grafana Loki och Grafana för att ge en heltäckande lösning för observabilitet.

 

Vill du veta mer om hur du kan komma igång med Grafana Tempo?