Comparthing Logo
stebimumasmedienos ruošastebėsenadebesų infrastruktūradevopsatvira telemetrija

Neišsamūs žurnalai ir struktūrizuoti stebimumo duomenys

Neišsamūs žurnalai fiksuoja dalinius sistemos įvykius paprasto teksto formatu, dažnai praleidžiant svarbų kontekstą, o struktūrizuoti stebimumo duomenys tvarko metrikas, pėdsakus ir žurnalus į užklausoms tinkamus formatus. Struktūrizuotas metodas leidžia greičiau derinti, atlikti gilesnę koreliaciją ir aktyviai reaguoti į incidentus šiuolaikinėse paskirstytose sistemose.

Akcentai

  • Struktūrizuoti duomenys leidžia atlikti lauko lygio užklausas per kelias sekundes, o nepilniems žurnalams reikia lėtos reguliariųjų išraiškų analizės.
  • Pėdsakų koreliacija veikia automatiškai su struktūrizuotu stebimumu, tačiau jos beveik neįmanoma atkurti iš fragmentiškų žurnalų.
  • Perėjus nuo nestruktūrizuotų žurnalų prie schemomis praturtintos telemetrijos, saugojimo išlaidos paprastai sumažėja 40–60 %.
  • „OpenTelemetry“ standartizavimas reiškia, kad struktūrizuoti duomenys iš karto integruojami su moderniomis platformomis, kitaip nei seni žurnalų formatai.

Kas yra Neišsamūs žurnalai?

Fragmentuoti paprasto teksto žurnalo įrašai, kuriuose trūksta konteksto, laiko žymų ar koreliacijos identifikatorių, reikalingų visai sistemos rekonstrukcijai.

  • Paprasto teksto žurnaluose paprastai saugomos nestruktūrizuotos eilutės be priverstinių schemų, todėl automatinis analizavimas yra nepatikimas.
  • Žurnalų praradimas įvyksta didelio srauto įvykių metu, kai disko įvesties / išvesties arba tinklo buferiai perpildomi.
  • Trūkstami koreliacijos ID neleidžia inžinieriams atsekti vieno vartotojo užklausos keliose paslaugose.
  • Imčių ėmimo pagrindu veikiančios registravimo sistemos gali atmesti įrašus, kurie laikomi mažai svarbiais, todėl incidentų metu gali atsirasti spragų.
  • Paieškos sistemos negali efektyviai indeksuoti nestruktūrizuotų žurnalų be reguliariosiomis išraiškomis pagrįstų ištraukimo taisyklių.

Kas yra Struktūrizuoti stebimumo duomenys?

Schemomis pagrįsta telemetrija, apjungianti žurnalus, metriką ir pėdsakus tokiais formatais kaip JSON arba „OpenTelemetry“, kad būtų galima atlikti vieningą analizę.

  • „OpenTelemetry“ tapo pramonės standartine sistema struktūrizuotiems stebimumo signalams generuoti.
  • Struktūrizuoti žurnalai naudoja raktų ir reikšmių poras, kurios leidžia tiesiogiai atlikti užklausas be šablonų atitikimo.
  • Paskirstytas sekimas fiksuoja priežastinius ryšius tarp paslaugų naudodamas span ID ir sekimo kontekstus.
  • Kartu su žurnalais skleidžiami rodikliai įgalina realaus laiko ataskaitų suvestines ir anomalijų aptikimo algoritmus.
  • Tokios platformos kaip „Datadog“, „Honeycomb“ ir „Grafana“ koreliacijai naudoja struktūrizuotus duomenis.

Palyginimo lentelė

Funkcija Neišsamūs žurnalai Struktūrizuoti stebimumo duomenys
Duomenų formatas Paprastas tekstas arba pusiau struktūruotos eilutės JSON, Protobuf arba OpenTelemetry užkoduoti naudingieji kroviniai
Užklausų galimybė Reikalingos paieškos, pagrįstos reguliariosiomis išraiškomis arba grep Gimtosios lauko lygio užklausos su SQL arba DSL
Koreliacijos palaikymas Rankinis susiuvimas naudojant laiko žymas Automatiškai naudojant sekimo ID ir aprėpties kontekstą
Sandėliavimo efektyvumas Didelis perteklius, mažas suspaudimo laipsnis Deduplikuoti laukai, geresnis glaudinimas
Derinimo greitis Lėtas, reikia rankinio nardymo Greitas, su kryžminio signalo pasukimu
Schemos vykdymas Nėra, formatas priklauso nuo kūrėjo Apibrėžta „OpenTelemetry“ arba pasirinktinių schemų
Įspėjimų integracija Apribota žurnalais pagrįstais paleidikliais Metrika, pėdsakai ir žurnalai sujungti viename sraute
Kaina pagal mastą Brangus dėl apimties ir analizavimo išlaidų Nuspėjama naudojant pakopines saugojimo politikas

Išsamus palyginimas

Duomenų tikslumas ir konteksto išsaugojimas

Neišsamūs žurnalai dažnai praranda tokius laukus kaip naudotojų ID, užklausų keliai arba klaidų rinkiniai, kai programos užstringa rašymo metu. Struktūrizuoti stebimumo duomenys užtikrina schemą, kuri nuosekliai fiksuoja šiuos laukus, todėl net daliniai įvykiai išlaiko pakankamai konteksto, kad būtų naudingi. Inžinieriai, tiriantys sutrikimus, gali atkurti visą užklausos gyvavimo ciklą iš struktūrizuotų pėdsakų, o paprasti žurnalai dažnai leidžia jiems spėlioti, kas nutiko tarp dviejų išlikusių įrašų.

Užklausų ir analizės darbo eiga

Darbas su nepilnais žurnalais paprastai reiškia sudėtingų reguliariųjų išraiškų šablonų arba grep kanalų rašymą, kad būtų išgauti prasmingi laukai. Struktūrizuoti duomenys apverčia šį darbo eigą aukštyn kojomis: kiekvienas laukas jau yra pažymėtas, todėl užklausa, pvz., „rodyti visas vartotojo 4521 užklausas, kurių delsa viršija 2 sekundes“, vykdoma tiesiai duomenų saugykloje. Šis pokytis daugumoje gamybinių scenarijų sutrumpina tyrimo laiką nuo kelių valandų iki minučių.

Koreliacija tarp paslaugų

Paskirstytos sistemos vienu metu generuoja telemetriją iš dešimčių paslaugų, o nepilni žurnalai retai turi bendrą identifikatorių. Struktūrizuotas stebimumas šią problemą išsprendžia sekimo konteksto sklaidos būdu, kai vienas sekimo ID seka užklausą iš krašto apkrovos balansavimo įrenginio per kiekvieną žemesnio lygio mikropaslaugą. Be to, komandos naudojasi laiko žymų suderinimu, kuris sugenda, kai laikrodžiai pasislenka arba įvykiai sujungiami paketais.

Saugojimo ir išlaidų pasekmės

Nestruktūrizuoti žurnalai linkę užimti daug vietos saugykloje, nes kiekvienas įrašas kartoja panašias eilutes, pvz., laiko žymas ir paslaugų pavadinimus, be deduplikacijos. Struktūrizuoti formatai suspaudžiami efektyviau, nes pasikartojantys raktai užkoduojami žodynu, o lauko lygio indeksavimas sumažina nuskaitomų duomenų kiekį vienai užklausai. Per metus organizacijos dažnai sutaupo 40–60 % saugyklos vietos, pereidamos nuo neapdorotų žurnalų prie struktūrizuotų stebėjimo srautų.

Įrankiai ir ekosistemos branda

Stebėjimo ekosistema iš esmės standartizuota „OpenTelemetry“ platformoje, kuri teikia SDK daugumai pagrindinių kalbų ir automatinius instrumentus įprastoms platformoms. Senesniems žurnalų srautams trūksta šios standartizacijos, todėl komandos turi kiekvienai paslaugai palaikyti individualius analizatorius. Tokie tiekėjai kaip „Datadog“, „New Relic“ ir „Grafana“ dabar teikia pirmenybę struktūrizuotam įkėlimui, todėl nepilnus žurnalus vis sunkiau integruoti su šiuolaikiniais įrankiais.

Reagavimas į incidentus ir įspėjimai

Kai įspėjimai suveikia dėl nepilnų žurnalų, gelbėtojai dažnai neturi aplinkinio konteksto, reikalingo greitam reagavimui. Struktūrizuoti stebimumo duomenys sujungia žurnalus su susijusiais rodikliais ir pėdsakais, todėl įspėjimas apie padidėjusį klaidų dažnį gali būti tiesiogiai susietas su pažeidimo laikotarpiu ir jo priklausomybėmis. Tai sutrumpina vidutinį sprendimo laiką ir padeda komandoms pereiti nuo reaktyvaus gaisrų gesinimo prie proaktyvaus patikimumo inžinerijos.

Privalumai ir trūkumai

Neišsamūs žurnalai

Privalumai

  • + Paprasta generuoti
  • + Schemos nereikia
  • + Veikia su senesniais įrankiais
  • + Mažos pradinės sąrankos išlaidos

Pasirinkta

  • Sunku užduoti klausimą
  • Trūksta konteksto
  • Prasta koreliacija
  • Didelės saugyklos išlaidos

Struktūrizuoti stebimumo duomenys

Privalumai

  • + Greitos lauko užklausos
  • + Automatinė koreliacija
  • + Efektyvus suspaudimas
  • + Vieningas įspėjimas

Pasirinkta

  • Didesnis sąrankos sudėtingumas
  • Reikalinga schemos priežiūra
  • Pardavėjo priklausomybės rizika
  • Komandų mokymosi kreivė

Dažni klaidingi įsitikinimai

Mitas

Daugiau žurnalų visada reiškia geresnį derinimą.

Realybė

Vien apimtis nepadeda, jei žurnalams trūksta struktūros ar koreliacijos. Tūkstantis nestruktūrizuotų eilučių dažnai atskleidžia mažiau nei dešimt gerai koreliuotų struktūrizuotų įvykių. Kokybė ir kontekstas yra daug svarbesni nei neapdorotas kiekis.

Mitas

Struktūrizuotas stebimumas tėra išgalvotas registravimas.

Realybė

Stebimumas apima ne tik žurnalus, bet ir metriką bei pėdsakus, visus susietus bendru kontekstu. Šis trijų pakopų modelis leidžia užduoti klausimus apie sistemos elgseną, į kuriuos vien žurnalai negali atsakyti, pavyzdžiui, kodėl konkrečiame diegime smarkiai padidėjo delsa.

Mitas

Norint pereiti prie struktūrizuotų duomenų, reikia perrašyti kiekvieną programą.

Realybė

„OpenTelemetry“ automatinė instrumentacija fiksuoja didžiąją dalį telemetrijos duomenų be kodo pakeitimų, o šalutiniai rinkėjai gali praturtinti esamus žurnalų srautus. Daugelis komandų migruoja palaipsniui, pradėdamos nuo triukšmingiausių paslaugų.

Mitas

Neišsamūs žurnalai yra pigesni, nes juose saugoma mažiau duomenų.

Realybė

Nestruktūrizuoti žurnalai dažnai kainuoja brangiau, nes jų neįmanoma suspausti, juos reikia pakartotinai analizuoti ir jie generuoja didesnius indekso failus. Struktūrizuoti formatai pašalina pasikartojančius laukus ir efektyviau suspaudžia, taip sumažindami bendras saugojimo išlaidas.

Mitas

Žurnalai ir metrika atlieka visiškai skirtingus tikslus ir turėtų likti atskiri.

Realybė

Šiuolaikinės stebėjimo platformos žurnalus, metriką ir pėdsakus traktuoja kaip vienas kitą papildančius tos pačios sistemos signalus. Jų laikymas atskirai neleidžia atlikti kryžminės signalų analizės, kuri anksti aptinka incidentus ir sutrumpina diagnostikos laiką.

Dažnai užduodami klausimai

Kas praktiškai žurnalą vadina „neišsamiu“?
Žurnalas yra nepilnas, kai jame trūksta laukų, reikalingų įvykio atkūrimui, pvz., trūksta laiko žymų, nėra naudotojų identifikatorių arba yra sutrumpintų steko pėdsakų. Tai dažnai nutinka gedimų, buferio perpildymo metu arba kai atrankos metu prarandami įrašai. Rezultatas yra įrašas, patvirtinantis, kad kažkas įvyko, bet nepateikia jokios informacijos apie tai, kodėl ar kaip.
Kuo „OpenTelemetry“ patobulina tradicinį registravimą?
„OpenTelemetry“ teikia nuo tiekėjo nepriklausomus SDK, kurie automatiškai fiksuoja pėdsakus, metriką ir žurnalus su nuosekliais laukų pavadinimais ir koreliacijos ID. Užuot kiekvienai komandai kuriant savo žurnalų formatą, visi skleidžia duomenis, kuriuos gali apdoroti bet kuri serverio sistema. Ši standartizacija pašalina analizatoriaus priežiūros naštą, kuri kamuoja tradicines žurnalų kūrimo sistemas.
Ar struktūrizuoti stebimumo duomenys gali pakeisti visus mano esamus žurnalus?
Daugeliu atvejų taip, tačiau perkėlimas retai kada būna momentinis. Komandos paprastai kelias savaites lygiagrečiai paleidžia abu srautus, lygindamos aprėptį ir derindamos įrangą. Kai padidėja pasitikėjimas, senųjų žurnalų siuntimas gali būti nutrauktas kiekviena paslauga po kitos, dažnai pradedant nuo labiausiai instrumentuotų mikropaslaugų.
Kodėl nepilni žurnalai tokie dažni gamybinėse sistemose?
Prie to prisideda keli veiksniai: agresyvus žurnalų atrankos procesas siekiant kontroliuoti išlaidas, buferio perpildymas srauto pikų metu, disko apkrova, priverstinis rotavimas, ir programos, kurios užstringa neišvaliusios žurnalų buferių. Daugelis komandų taip pat pašalina laukus, kuriuos laiko jautriais, netyčia pašalindamos kontekstą, reikalingą derinimui.
Koks yra tipinis nestruktūrizuoto ir struktūrizuoto registravimo kainos skirtumas?
Kainos skiriasi priklausomai nuo tiekėjo ir apimties, tačiau struktūrizuotos stebimumo platformos dažnai ima mažesnį mokestį už įkeltą GB, nes jos efektyviau suspaudžia ir leidžia naudoti pakopinį saugojimą. Kai kurios organizacijos praneša apie 30–50 % sumažėjusias stebimumo sąskaitas, konsolidavus nestruktūrizuotus žurnalus į struktūrizuotus srautus naudojant išmanųjį atranką.
Ar man reikia paskirstyto sekimo, jei jau turiu žurnalus?
Žurnalai nurodo, kas nutiko kiekvienoje paslaugoje, o sekimas parodo, kaip užklausa vyko tarp jų. Be sekimo, žurnalų koreliacija tarp paslaugų priklauso nuo laiko žymų suderinimo, kuris neveikia, kai laikrodžiai nukrypsta nuo norimo laiko arba įvykiai grupuojami. Sekimas užpildo spragą, kurios vien žurnalai negali užpildyti mikropaslaugų architektūrose.
Kiek laiko užtrunka įdiegti struktūrizuotą stebimumą?
Bazinė „OpenTelemetry“ sąranka vienai paslaugai gali būti paleista per dieną, tačiau visiškas organizacijos diegimas paprastai trunka 3–6 mėnesius. Laikas priklauso nuo paslaugų skaičiaus, kalbų įvairovės ir to, kiek reikia pasirinktinės įrangos. Geriausia pradėti nuo bandomosios paslaugos ir ją palaipsniui plėsti.
Kas nutiks mano esamoms ataskaitų suvestinėms, kai pereisiu prie struktūrizuotų duomenų?
Dauguma šiuolaikinių ataskaitų sričių, sukurtų remiantis metrika, išgyvena perėjimą nepakitusios, nes metrika jau yra struktūrizuota. Žurnalais pagrįstoms ataskaitų sritims gali reikėti perrašyti užklausas, kad būtų naudojami laukų selektoriai, o ne reguliariosios išraiškos šablonai. Pardavėjai paprastai teikia perkėlimo įrankius, kurie verčia įprastas žurnalų užklausas į jų struktūrinius atitikmenis.
Ar struktūrizuoti stebimumo duomenys visada yra JSON formatu?
JSON yra labiausiai paplitęs formatas, bet ne vienintelis. „OpenTelemetry“ taip pat palaiko protokolų buferius efektyvumui užtikrinti, o kai kurios platformos priima savo dvejetainius formatus. Pagrindinis reikalavimas yra tas, kad laukai būtų pažymėti ir įvesti, o ne konkretus laiduose naudojamas kodavimas.
Ar galiu naudoti struktūrizuotą stebimumą su serverio neturinčiomis arba krašto funkcijomis?
Taip, nors šaltasis paleidimas ir vykdymo laiko apribojimai padidina sudėtingumą. „OpenTelemetry“ siūlo lengvus SDK, skirtus serverių neturintiems vykdymo aplinkoms, o valdomi rinkėjai gali paketuoti ir persiųsti telemetriją nepadidindami vartotojų užklausų delsos. „AWS Lambda“, „Cloudflare Workers“ ir „Vercel Functions“ palaiko struktūrizuotą stebimumą per oficialias integracijas.

Nuosprendis

Nepilnus žurnalus rinkitės tik dirbdami su pasenusiomis sistemomis, kurių negalima modifikuoti, arba kai dėl biudžeto apribojimų struktūrizuoti srautai yra neįmanomi. Bet kurioje modernioje paskirstytoje architektūroje struktūrizuoti stebimumo duomenys užtikrina greitesnį derinimą, geresnę koreliaciją ir mažesnes ilgalaikes išlaidas. Komandos, rimtai žiūrinčios į patikimumą, turėtų vertinti perkėlimą kaip pagrindinę investiciją, o ne kaip pasirenkamą atnaujinimą.

Susiję palyginimai

„Kafka“ ir „Flink“ palyginti su apdorojimu atmintyje

„Kafka“ ir „Flink“ sudaro paskirstytą srautinio apdorojimo ekosistemą realaus laiko duomenų srautams, o apdorojimas atmintyje pagreitina analizę, nes duomenys saugomi tik RAM atmintyje – kiekvienas iš jų tenkina iš esmės skirtingus architektūrinius greičio, mastelio ir tvarumo poreikius.

„Netflix“ mašininio mokymosi platforma ir nepriklausomi mašininio mokymosi įrankiai

„Netflix“ vidinė mašininio mokymosi platforma siūlo glaudžiai integruotus, didelio masto įrankius, skirtus transliacijų suasmeninimui, o nepriklausomi mašininio mokymosi įrankiai suteikia mažesnėms komandoms lankstumo ir kontrolės. Pasirinkimas priklauso nuo masto, pritaikymo poreikių ir esamų investicijų į infrastruktūrą.

Adaptyvioji infrastruktūra ir statinė infrastruktūros projektavimas

Adaptyvi infrastruktūra dinamiškai prisitaiko prie kintančių darbo krūvių, naudodama automatizavimą ir mastelio keitimą realiuoju laiku, o statinės infrastruktūros projektavimas remiasi fiksuotais, iš anksto sukonfigūruotais ištekliais. Pasirinkimas priklauso nuo darbo krūvio kintamumo, biudžeto nuspėjamumo ir veikimo brandos jūsų debesijos aplinkoje.

Apkrovos balansavimas mašininio mokymosi sistemose ir paprastas API užklausų tvarkymas

Apkrovos balansavimas mašininio mokymosi sistemose valdo GPU reikalaujančius išvadų ir mokymo darbo krūvius specializuotoje įrangoje, o paprastas API užklausų apdorojimas paskirsto nedidelį HTTP srautą bendrosios paskirties serveriuose. Jie labai skiriasi sudėtingumu, išteklių poreikiu ir maršruto parinkimo išmanumu.

Atsparumas gedimams ir sistemos paleidimas iš naujo

Atsparumas gedimams proaktyviai perkelia darbo krūvius į sveikas sistemas, kol vartotojai nepastebi problemų, o sistemos gedimų atveju iš naujo paleidžiamos sistemos reaktyviai atkuria paslaugas po netikėtų gedimų. Abu metodai siekia palaikyti prieinamumą, tačiau iš esmės skiriasi laiku, architektūros sudėtingumu ir poveikiu vartotojams.