Grafana – mer än bara visualisering!
av Opslogix den Oct 18, 2024 9:40:55 AM
Grafana som produkt tror jag att många har hört talas om. Det är ett verktyg för att visualisera data i vackra grafer och vyer i ett modernt gränssnitt.
Men Grafana Labs som företag erbjuder mer än så. När vi talar om Grafana så refererar vi till den så kallade Grafana-stacken, eller LGTM-stacken (Loki, Grafana, Tempo och Mimir).
Det är en grundläggande kombination av produkter som Grafana Labs erbjuder för att skapa grundpelarna för en komplett observabilitetplattform.
Observabilitet
Men vad är egentligen utrycket observabilitet eller observerbarhet?
Många företag definierar det olika, men ursprunget kommer från kontrollteorin, ett vetenskapligt område inom matematik och teknik.
Kontrollteorin handlar om att förstå sambandet mellan inmatning och utmatning i ett system eller process baserat på förändringar, för att medvetet kunna ge en inmatning och därmed få en önskad utmatning.
Ett vardagligt exempel på detta är bilen, där vi vet att när gaspedalen trycks ned så får det bilen att gå fortare, utan att kanske faktiskt förstå hela systemet mellan pedalen och däcken.
Observabilitet inom IT anammar detta genom att titta på ett systems utmatning, eller telemetri, för att förstå dess interna hälsa över tid.
En observabilitetplattform är ett verktyg för att samla in och sammanställa telemetri-data på ett sätt som möjliggör observabilitet.
De vanligaste typer av data som vi tittar på är loggar, prestandamätvärden och spårningar (eng. logs, metrics, traces), men det finns även andra datatyper.
Varför behöver vi då observabilitet? I moderna molnbaserade applikationer blir det allt svårare att felsöka problem.
En applikation byggs upp av ett komplext nät av undertjänster i mikrotjänst arkitektur (eng. microservices architecture), där varje undertjänst måste fungera för att applikationen som helhet ska fungera.
När vi trycker på gaspedalen på bilen så måste motorn, växellådan och hjulen och alla deras individuella beståndsdelar fungera på egen hand för att gemensamt få bilen att rulla.
Observabilitet hjälper oss att snabbare identifiera eventuella problem någonstans i systemet.
Grafana-stacken
Den moderna mikrotjänstarkitekturen har blivit synonym med molntjänster och molnteknologier och denna utveckling har medfört en kraftig ökning i genererad telemetri från IT miljöer.
Varje container i ett Kubernetes kluster genererar sina egna loggar och prestandamätningar och skalar linjärt med antal önskade kopior (eng. replicas).
Grafana Labs erbjuder en mängd olika produkter som integrerar väl med varandra, med målet att hantera stora volymer data och skapa enkel och överskådlig observabilitet i Grafana visualiseringsverktyget.
Produkterna är designade för att hantera kraven från moderna molnteknologier, men fungerar också i mer traditionella miljöer. Den vanligaste kombinationen brukar summeras som LGTM-stack (Loki, Grafana, Tempo, Mimr).
Det mest intressanta exemplet är kanske ett projekt på CERN, där Grafana-stacken används för att hantera 1 petabyte genererad data varje dag.
Grafana
Verktyget Grafana utgör hörnstenen i Grafana Labs produktutbud, som knyter ihop resten av plattformen för att visualisera, analysera och agera på observerad data.
Grafana erbjuder enormt mångsidig visualisering genom en rad olika modifierbara paneltyper och möjlighet att manipulera data, som kan användas för att skräddarsy kompletta instrumentpaneler efter användarens behov.
Dessa instrumentpaneler kan sedan ligga till grund för att skapa larm för att agera på olika situationer och notifiera användare via olika kommunikationskanaler.
Genom att korrelatera loggar, prestandavärden och spårningar så skapar Grafana förutsättningar för att snabbt identifiera och lösa problem och minska ner tid i IT driften.
Med möjlighet att integrera Grafana med över 50 datakällor så går det att samla all typ av information direkt i samma vy. Inte nog med att Grafana stödjer en mängd olika databaser, utan även andra verktyg så som Gitlab och ServiceNow.
Sammantaget blir Grafana en naturlig plats för olika team att samlas på för att samarbeta.
Loki
Loki är ett logg aggregeringssystem som är optimerat för prestanda, skalbarhet och kostnadseffektivitet.
Loki uppnår detta genom att märka loggar med olika typer av etiketter (eng. labels), istället för att indexera innehållet, vilket drastiskt minskar resurskrav och kostnad för att lagra loggar.
Detta gör Loki väl anpassat för att hantera loggar som genereras från mikrotjänstarkitekturer. Loki är dessutom designat för drift i Kubernetes, vilket gör det enkelt att horisontellt skala ut Lokis distribuerade arkitektur efter behov.
Loggarna som samlas in är sedan sökbara med hjälp av Lokis kraftfulla uppslagsspråk LogQL, som snabbt och effektivt söker upp loggar baserad på etiketter och filter och kan även aggregera data på olika sätt.
Både LogQL och Loki i helhet är inspirerat av Prometheus, vilket gör det lätt att anpassa sig efter de båda verktygen.
Tempo
Tempo är ett distribuerat spårningsverktyg, skapat för att spåra och visualisera flödet av förfrågningar genom en mikrotjänst arkitektur.
Tempo samlar in data från tjänster som har blivit instrumenterade med distribuerade spårningsbibliotek.
En spårning representerar resan en förfrågan gör genom flera tjänster och fångar information om tidsåtgång, status och eventuella fel vid varje steg i resan.
En spårning består av flera spann, som är en enhet av arbete inom en spårning, vanligtvis en databasförfrågan eller API anrop.
Varför vill man använda sig av Grafana Tempo?
Precis som övriga produkter från Grafana Labs så är Tempo designat för att hantera större datavolymer och kan skalas horisontellt.
Tack vare det inbyggda stödet för öppna standarder, så som opentelemetry, jaeger och zipkin, så elimineras risken att bli låst till en specifik leverantör.
Detta är en del av Grafana Labs så kallade stort tält filosofi (eng. big tent), som innebär att de försöker bygga in så stort stöd för andra tekniker och leverantörer som möjligt.
Mimir
Prestandamätning på industriell skala medför stora volymer av data.
Mimir är ett verktyg för att hantera dessa enorma volymer genom att skala ut horisontellt och är designat för användning tillsammans med molnteknologier och mikrotjänstarkitektur.
Mimir följer samma arkitektur som Prometheus, men med den stora skillnaden att Mimir överkommer begränsningarna som Prometheus har gällande skalbarhet.
Uppslagsspråket PromQL används för att snabbt och effektivt ställa frågor mot Mimir baserat på etiketter och kan även utföra olika operationer på den data som hämtas.
Vad är skillnaden på Cloud, Enterprise och Open Source?
Grafana Labs erbjuder sina produkter i tre olika varianter:
- Open Source
Alla Grafana Labs produkter finns tillgängliga som öppen källkod (eng. Open Source Software) för vem som helst att använda, modifiera och distribuera enligt gällande licens. OSS körs på egen infrastruktur och administreras lokalt. - Enterprise
För organisationer och företag som söker utökad funktionalitet, så som avancerade säkerhetsfunktioner och rapportering, och support så finns den kommersiella varianten Grafana Enterprise. Denna variant kräver också egen infrastruktur och lokal administrering. - Cloud
Med molntjänsten Grafana Cloud så sköts all infrastruktur av Grafana Labs och det enda användaren behöver göra är att samla in och skicka data till sin instans av Grafana Cloud. Molntjänsten erbjuder också funktionalitet som inte är tillgänglig i de lokalt administrerade versionerna, bland annat upptäckt av avvikelser och prognoser med hjälp av AI.
Sammanfattning
Det vi kallar för Grafana-stacken är ett grundläggande produktutbud av Grafana Labs, som innefattar Loki, Grafana, Tempo och Mimir. Grafana erbjuder också fler produkter utanför LGTM-stacken kring observabilitet.
Tillsammans utgör de Grafana Labs observabilitet plattform, som är designad för modern infrastruktur i såväl publika som privata moln.
Produkterna är byggda för moln teknologier och är speciellt bra på att skala ut horisontellt och hantera stora volymer data.
Fokus ligger på att minimera kostnaden för datainsamling och öka kompatibilitet med andra leverantörer och tekniker.
Grafanas produkter används över hela världen och har definierat en ny industristandard. Det är också ett av få verktyg idag som fortfarande erbjuds att administreras lokalt och därtill utan licenskostnad som öppen källkod.
Du kanske också är intresserad av
Relaterade bloggar