opaznostsečnjaspremljanjeinfrastruktura v oblakudevops
Združevanje telemetrije v primerjavi z beleženjem iz enega vira
Združevanje telemetrije združuje metrike, dnevnike in sledi iz več virov v enoten cevovod, medtem ko se beleženje iz enega samega vira osredotoča na zajemanje in analizo podatkov iz enega samega izvora. Prava izbira je odvisna od kompleksnosti sistema, ciljev opazovanja in operativnega obsega.
Poudarki
Združevanje telemetrije združuje metrike, dnevnike in sledi; beleženje iz enega vira zajame samo dnevnike iz enega izvora.
Agregacija omogoča korelacijo med storitvami, ki je beleženje iz enega vira ne more zagotoviti
OpenTelemetry je postal dejanski standard za agregacijo, medtem ko syslog ostaja prevladujoč za nastavitve z enim virom.
Sečnja iz enega vira zahteva veliko manj naložb v infrastrukturo in operativnih stroškov
Kaj je Združevanje telemetrije?
Poenoten pristop, ki zbira in povezuje podatke o opazovanju iz več porazdeljenih virov v infrastrukturi.
Združevanje telemetrije združuje tri glavne vrste signalov: metrike, dnevnike in sledi, ki jih pogosto imenujemo trije stebri opazovalnosti.
OpenTelemetry je postal vodilni odprtokodni standard za instrumentalne aplikacije in združevanje telemetričnih podatkov.
Agregirane telemetrične platforme običajno uporabljajo časovne vrste podatkovnih baz ali stolpčno shrambo za učinkovito obdelavo podatkov z visoko kardinalnostjo.
Orodja, kot so Prometheus, Grafana in ELK stack, se pogosto uporabljajo za združevanje in vizualizacijo telemetrije iz različnih virov.
Združevanje telemetrije skrajša povprečni čas do rešitve, saj inženirjem omogoča, da med preiskavo incidenta povežejo signale med storitvami.
Kaj je Enovirno beleženje?
Osredotočena strategija beleženja, ki zajema, shranjuje in analizira izhodne podatke dnevnika iz ene same aplikacije, storitve ali sistemske komponente.
Beleženje iz enega vira je starejše od sodobnih praks opazovanja in je bilo prevladujoč pristop, preden so se porazdeljeni sistemi razširili.
Tradicionalne implementacije sistemskega dnevnika so klasičen primer beleženja iz enega vira, ki zajema dogodke s posameznih strežnikov ali naprav.
Ta pristop običajno uporablja preprosto shranjevanje v datotekah ali lahke pošiljatelje dnevnikov, kot sta Filebeat ali rsyslog.
Beleženje iz enega vira je odlično v scenarijih, kjer je odpravljanje težav lokalizirano na eno samo komponento ali aplikacijo.
Na splošno zahteva manj naložb v infrastrukturo in operativnih stroškov v primerjavi s platformami za popolno združevanje telemetrije.
Primerjalna tabela
Funkcija
Združevanje telemetrije
Enovirno beleženje
Obseg podatkov
Več virov v celotni infrastrukturi
Ena specifična aplikacija ali sistem
Vrste signalov
Metrike, dnevniki in sledi
Samo dnevniki
Tipična orodja
OpenTelemetry, Prometheus, Grafana, Datadog
rsyslog, Filebeat, syslog, dnevnik
Kompleksnost infrastrukture
Višje; zahteva zbiralnike, cevovode in zaledne sisteme za shranjevanje
Nižje; minimalna nastavitev z osnovnim pošiljanjem hlodov
Najboljši primer uporabe
Porazdeljene mikrostoritve in okolja, ki so izvorno v oblaku
Monolitne aplikacije ali odpravljanje napak v izoliranih sistemih
Zmožnost korelacije
Močna korelacija med signali in storitvami
Omejeno; omejeno na dogodke iz enega vira
Profil stroškov
Višje zaradi zahtev glede skladiščenja in predelave
Nižje z predvidljivimi, manjšimi količinami podatkov
Prilagodljivost
Zasnovan za horizontalno skaliranje čez več vozlišč
Najbolj primeren za uvedbe z enim gostiteljem ali manjšega obsega
Podrobna primerjava
Filozofija zbiranja podatkov
Združevanje telemetrije deluje na principu, da sodobni sistemi proizvajajo veliko različnih vrst signalov, ki jih je treba povezati za razumevanje delovanja sistema. V centralni cevovod potegne metrike, dnevnike in sledi iz več deset ali več sto storitev. Beleženje iz enega vira uporablja nasproten pristop, saj vsako aplikacijo ali gostitelja obravnava kot svojo neodvisno domeno beleženja brez pričakovanja korelacije med viri.
Operativna kompleksnost
Nastavitev združevanja telemetrije zahteva uvedbo agentov ali SDK-jev v celotni floti podatkov, konfiguriranje zbiralnikov in vzdrževanje zalednega sistema, ki je sposoben obvladovati visoke stopnje vnosa podatkov. Prednost je celovita preglednost, vendar so začetni in tekoči operativni stroški znatni. Beleženje iz enega vira je pogosto mogoče konfigurirati v nekaj minutah, pri čemer en sam pošiljatelj dnevnika pokaže na datoteko ali vtičnico, zaradi česar je privlačno za ekipe brez namenskih inženirskih virov za platformo.
Odpravljanje napak in odzivanje na incidente
Ko se v porazdeljenem sistemu kaj pokvari, vam združevanje telemetrije omogoča sledenje zahtevi med storitvami, povezovanje porasta zakasnitve z določeno uvedbo in preklop od anomalije metrike k ustreznim dnevnikom. Beleženje iz enega vira sili inženirje, da ročno združujejo informacije iz več izoliranih tokov dnevnikov, kar deluje dobro za preproste aplikacije, vendar postane mučno, ko sistemi rastejo.
Upoštevanje stroškov in virov
Platforme za združevanje telemetrije lahko hitro postanejo drage, ker vnašajo in shranjujejo velike količine podatkov z visoko kardinalnostjo, ki so pogosto cenovno odvisni od količine podatkov ali števila gostiteljev. Beleženje iz enega vira omogoča predvidljive stroške, saj shranjujete dnevnike samo iz enega vira, vendar izgubite možnost zaznavanja vzorcev med sistemi. Številne ekipe začnejo z beleženjem iz enega vira in se z rastjo svoje infrastrukture preselijo na združevanje.
Standardi in ekosistem
Prostor združevanja telemetrije se je združil okoli OpenTelemetry kot standarda za instrumentacijo, nevtralnega do prodajalcev, ki ga podpira CNCF in so ga sprejeli večji ponudniki storitev v oblaku. Beleženje iz enega vira se opira na starejše, a dobro uveljavljene protokole, kot je syslog (RFC 5424), in preproste formate datotek. Oba ekosistema sta zrela, vendar orodja za združevanje izkoriščajo bogatejšo integracijo s sodobnimi CI/CD in delovnimi tokovi, ki so izvorni v oblaku.
Ko je vsak pristop smiseln
Združevanje telemetrije je prava izbira za vsako organizacijo, ki izvaja mikrostoritve, Kubernetes ali večoblačne arhitekture, kjer razumevanje delovanja sistema zahteva pogled preko meja. Beleženje iz enega vira ostaja pomembno za vgrajene sisteme, starejše monolitne aplikacije, beleženje skladnosti s predpisi iz določenega sistema ali majhne projekte, kjer režijski stroški združevanja niso upravičeni.
Prednosti in slabosti
Združevanje telemetrije
Prednosti
+Poenotena opazovalnost
+Medstoritvena korelacija
+Standard OpenTelemetry
+Vodoravno skaliranje
+Bogate možnosti vizualizacije
Vse
−Višji stroški infrastrukture
−Kompleksna začetna nastavitev
−Režijski stroški skladiščenja
−Zahteva usposobljene operaterje
Enovirno beleženje
Prednosti
+Enostavna namestitev
+Nizki obratovalni stroški
+Predvidljivo shranjevanje
+Enostavno lokalno odpravljanje težav
+Potrebno je minimalno orodje
Vse
−Brez navzkrižne korelacije
−Omejeno samo na dnevnike
−Slaba primernost za mikroservise
−Težko je razširiti med flotami
Pogoste zablode
Mit
Združevanje telemetrije je le domiselno beleženje z drugačnim imenom.
Resničnost
Čeprav so dnevniki ena od komponent, agregacija telemetrije obravnava tudi metrike in sledi, ki zagotavljajo kvantitativne meritve in informacije o poti na ravni zahtev, ki jih dnevniki sami ne morejo učinkovito zajeti. Tri vrste signalov služijo različnim namenom odpravljanja napak in se medsebojno dopolnjujejo.
Mit
Beleženje iz enega vira je v sodobnih oblačnih okoljih zastarelo.
Resničnost
Beleženje iz enega vira se še vedno pogosto uporablja v vgrajenih sistemih, napravah interneta stvari, starejših poslovnih aplikacijah in scenarijih, osredotočenih na skladnost s predpisi, kjer je zajemanje revizijskih sledi iz določenega sistema glavna zahteva. Ni zastarelo, ampak le specializirano.
Mit
Več telemetričnih podatkov vedno pomeni boljšo opazovalnost.
Resničnost
Zbiranje vsega brez premišljenega vzorčenja in filtriranja vodi do visokih stroškov in utrujenosti od opozoril. Učinkovito združevanje zahteva odločitev, kateri signali so pomembni, določitev ustreznih politik hrambe in oblikovanje poizvedb, ki izpostavijo uporabne vpoglede, namesto da bi ekipe utapljale v hrupu.
Mit
Za združevanje telemetrije potrebujete komercialno platformo SaaS.
Resničnost
Odprtokodni skladi, kot so Prometheus, Grafana, Loki, Tempo in OpenTelemetry Collector, zagotavljajo popolne zmogljivosti združevanja brez vezave na določenega prodajalca. Številne organizacije delujejo v celoti z odprtokodnimi orodji, zlasti v reguliranih panogah ali okoljih, ki so občutljiva na stroške.
Mit
Sečnja iz enega vira je vedno cenejša od združevanja.
Resničnost
Čeprav ima sečnja iz enega vira nižje osnovne stroške, lahko izvajanje številnih izoliranih sečalnih cevovodov v veliki floti dejansko stane več kot centralizirana agregacijska platforma. Skupni stroški so odvisni od obsega, zahtev glede hrambe in količine inženirskega časa, porabljenega za vzdrževanje vsakega cevovoda.
Pogosto zastavljena vprašanja
Kakšna je glavna razlika med združevanjem telemetrije in beleženjem iz enega vira?
Združevanje telemetrije zbira in povezuje metrike, dnevnike in sledi iz številnih virov v vaši infrastrukturi v enoten sistem. Beleženje iz enega vira se osredotoča na zajemanje podatkov dnevnika iz samo ene aplikacije ali gostitelja. Ključna razlika je v obsegu in raznolikosti signalov: združevanje vam omogoča pogled na celoten sistem, medtem ko vam beleženje iz enega vira omogoča lokaliziran pogled.
Kdaj naj namesto beleženja iz enega vira uporabim združevanje telemetrije?
Združevanje telemetrije uporabite pri izvajanju porazdeljenih sistemov, kot so mikrostoritve, gruče Kubernetes ali večoblačne uvedbe, kjer razumevanje vedenja zahteva korelacijo podatkov med storitvami. Če je vaša aplikacija ena sama monolitna storitev ali če morate odpravljati napake le v eni specifični komponenti, je beleženje iz enega vira običajno zadostno in cenejše za delovanje.
Ali je OpenTelemetry orodje za združevanje telemetrije?
OpenTelemetry je predvsem niz API-jev, SDK-jev in knjižnic instrumentacije za generiranje telemetričnih podatkov, skupaj z OpenTelemetry Collectorjem za sprejemanje in izvažanje teh podatkov. Sama po sebi ni popolna platforma za združevanje, vendar podatke posreduje v zaledne sisteme, kot so Prometheus, Grafana, Jaeger ali komercialne platforme, ki upravljajo shranjevanje in vizualizacijo.
Ali lahko kombiniram beleženje iz enega vira z združevanjem telemetrije?
Da, številne organizacije uporabljajo oba pristopa skupaj. Na primer, lahko združite telemetrijo v vseh svojih mikrostoritvah, hkrati pa vzdržujete namenske dnevnike iz enega vira za revizijo skladnosti določene baze podatkov ali varnostnega sistema. Ta dva pristopa se dopolnjujeta in ne izključujeta.
Koliko stane združevanje telemetrije v primerjavi z beleženjem iz enega samega vira?
Združevanje telemetrije je običajno dražje zaradi večjih količin podatkov, zahtev glede shranjevanja in infrastrukture, potrebne za obdelavo metrik in sledi skupaj z dnevniki. Beleženje iz enega vira ima nižje in bolj predvidljive stroške, saj obravnavate dnevnike samo iz enega vira. Natančne cene se zelo razlikujejo glede na to, ali uporabljate orodja z odprto kodo, platforme z lastnim gostovanjem ali komercialne ponudbe SaaS.
Kateri so trije stebri opazovalnosti?
Trije stebri so metrike (številčne meritve skozi čas, kot sta uporaba procesorja ali stopnja zahtev), dnevniki (zapisi diskretnih dogodkov s kontekstom) in sledi (zapisi zahtev, ki se širijo po porazdeljenih sistemih). Platforme za združevanje telemetrije običajno obravnavajo vse tri, medtem ko beleženje iz enega vira pokriva le steber dnevnikov.
Ali potrebujem združevanje telemetrije za majhno aplikacijo?
Verjetno ne. Če izvajate eno samo aplikacijo na enem ali dveh strežnikih, je običajno dovolj beleženje iz enega vira ali celo neposredno branje dnevniških datotek. Združevanje telemetrije postane dragoceno, ko imate več storitev, morate povezati vedenje med njimi ali pa poleg dnevnikov potrebujete tudi metrike in sledi.
Kaj je syslog in kako je povezan z beleženjem iz enega vira?
Syslog je standardni protokol (opredeljen v RFC 5424) za pošiljanje dnevniških sporočil iz enega sistema v centraliziran zbiralnik dnevnikov. Je ena najpogostejših implementacij beleženja iz enega vira, ki se tradicionalno uporablja v sistemih Unix in Linux za zajemanje dogodkov iz posameznih gostiteljev. Sodobne implementacije syslogov lahko združujejo podatke iz več gostiteljev, vendar je bil sam protokol zasnovan okoli beleženja na posameznem gostitelju.
Kako agregacija telemetrije pomaga pri odzivanju na incidente?
Med incidentom vam agregacija telemetrije omogoča, da nenadno povečanje zakasnitve (metriko) povežete z napakami v določenih storitvah (dnevniki) in sledite počasni zahtevi skozi vsak korak, ki ga je potrebovala (sledi). Ta korelacija med signali drastično skrajša povprečni čas do rešitve v primerjavi z ročnim iskanjem po izoliranih tokovih dnevnikov iz vsake storitve.
Ali se lahko beleženje iz enega vira prilagodi velikim okoljem?
Tehnično gledano da, vendar postane operativno mučno. Izvajanje ločenih cevovodov za beleženje za stotine storitev pomeni upravljanje stotin konfiguracij, zalednih sistemov za shranjevanje in nadzornih plošč. V takšnem obsegu je centralizirano združevanje telemetrije skoraj vedno učinkovitejše, tudi če bi se posamezne storitve teoretično lahko beležile same.
Ocena
Združevanje telemetrije izberite, kadar vaša infrastruktura obsega več storitev ali gostiteljev in potrebujete korelirano preglednost za hiter odziv na incidente. Za enostavnejša okolja, starejše sisteme ali kadar se zahteve glede skladnosti osredotočajo na revizijsko sled določene komponente se držite beleženja iz enega vira. Številne zrele organizacije dejansko uporabljajo oboje, pri čemer uporabljajo združevanje za operativno opazovanje, hkrati pa vzdržujejo dnevnike iz enega vira za ciljno usmerjeno odpravljanje napak ali regulativne potrebe.