Žurnalų pagrindu veikiantis stebėjimas ir metrikos pagrindu veikiantis stebėjimas
Žurnalais pagrįstas stebėjimas fiksuoja išsamius įvykių įrašus, skirtus giliam trikčių šalinimui, o metrika pagrįstas stebėjimas laikui bėgant seka skaitinius duomenų taškus, kad būtų galima gauti realiojo laiko našumo įžvalgų. Abu metodai šiuolaikiniuose stebėjimo rinkiniuose atlieka skirtingus tikslus, ir daugumai komandų naudinga juos naudoti kartu, o ne rinktis vieną iš jų.
Akcentai
Žurnalai išsaugo įvykių kontekstą teismo ekspertizės tyrimams, o metrikos apibendrina sistemos būseną, kad būtų galima greitai atlikti užklausas.
Metrika leidžia beveik akimirksniu gauti įspėjimus pagal slenkstį, o žurnalų įspėjimams reikalinga analizė ir šablonų atitikimas.
Žurnalų saugojimo išlaidos didėja priklausomai nuo įvykių apimties ir išsamumo, o metrikų saugojimas išlieka kompaktiškas ir nuspėjamas.
Abiejų metodų derinimas leidžia gauti pilną stebimumo vaizdą, kurio reikalauja šiuolaikinės paskirstytos sistemos.
Kas yra Logų pagrindu veikiantis stebėjimas?
Įrašo atskirus įvykius su kontekstinėmis detalėmis, taip atlikdamas teismo ekspertizę ir tirdamas priežastis paskirstytose sistemose.
Žurnalai yra struktūrizuoti arba nestruktūrizuoti laiko žyma pažymėti įvykių įrašai, kuriuos generuoja programos, serveriai ir infrastruktūros komponentai.
Kiekviename žurnalo įraše paprastai yra laiko žyma, svarbos lygis, šaltinio identifikatorius ir aprašomasis pranešimas apie tai, kas įvyko.
Žurnalų duomenims kaupti ir ieškoti dažniausiai naudojami tokie įrankiai kaip „ELK Stack“ („Elasticsearch“, „Logstash“, „Kibana“), „Splunk“ ir „Loki“.
Žurnalais pagrįsta stebėsena puikiai atsako į klausimą „kodėl tai įvyko“, nes išsaugo visą atskirų įvykių kontekstą.
Žurnalų saugojimo išlaidos paprastai yra didesnės nei metrikos, nes kiekvienas įvykis gali talpinti šimtus baitų išsamios informacijos.
Kas yra Metrikomis pagrįsta stebėsena?
Renka skaitmeninius laiko eilučių duomenis, kad realiuoju laiku galėtų stebėti sistemos būklę, našumo tendencijas ir išteklių naudojimą.
Metrika yra skaitiniai matavimai, imami reguliariais intervalais, pvz., procesoriaus naudojimo procentas, užklausos delsa arba atminties sunaudojimas.
Laiko eilučių duomenų bazės, tokios kaip „Prometheus“, „InfluxDB“ ir „Graphite“, yra specialiai sukurtos metriniams duomenims efektyviai saugoti ir užklausti.
Metrika pagrįstas stebėjimas atsako į klausimus „kas vyksta dabar“ per ataskaitų suvestines, įspėjimus ir pranešimus pagal slenksčius.
Vienas metrinis duomenų taškas paprastai yra daug mažesnis nei žurnalo įrašas, dažnai tai tik pavadinimas, laiko žyma ir reikšmė.
Populiarūs vizualizacijos įrankiai apima „Grafana“, „Datadog“ ataskaitų suvestines ir „CloudWatch“ metrikų rodinius.
Palyginimo lentelė
Funkcija
Logų pagrindu veikiantis stebėjimas
Metrikomis pagrįsta stebėsena
Duomenų tipas
Įvykių įrašai su išsamiu kontekstu
Skaitmeniniai laiko eilučių duomenų taškai
Pagrindinis naudojimo atvejis
Pagrindinės priežasties analizė ir derinimas
Realaus laiko įspėjimai ir tendencijų analizė
Sandėliavimo plotas
Didesnis vienam įrašui, didesnės saugojimo išlaidos
Kompaktiški duomenų taškai, mažesnės saugojimo išlaidos
Užklausos metodas
Visatekstė paieška ir filtravimas
Agregavimas, matematinės funkcijos, laiko langų užklausos
Atsakymo laikas
Lėtesnis didelio masto užklausoms
Beveik akimirksniu atliekamos ataskaitų srities užklausos
Geriausias atsakymui
Kodėl įvyko šis konkretus įvykis?
Kokia dabartinė sistemos būsena?
Įprasti įrankiai
ELK Stack, Splunk, Loki, Fluentd
„Prometėjas“, „Grafana“, „Datadog“, „CloudWatch“.
Įspėjimo galimybė
Ribotas, dažnai reikalingos žurnalų analizavimo taisyklės
Gimtoji slenksčio ir anomalijomis pagrįsti įspėjimai
Išsamus palyginimas
Duomenų detalumas ir kontekstas
Žurnalais pagrįstas stebėjimas fiksuoja kiekvieną atskirą įvykį su aplinkiniu kontekstu, įskaitant naudotojų ID, užklausų apkrovą, klaidų sekimo duomenis ir aplinkos kintamuosius. Dėl to žurnalai yra neįkainojami, kai reikia tiksliai atkurti, kas nutiko konkretaus incidento metu. Priešingai, metrika pagrįstas stebėjimas apibendrina sistemos elgseną į skaitines vertes, paaukodamas atskirų įvykių detales kompaktiškam, užklausoms pritaikytam formatui, kuris gerai veikia ilgais laikotarpiais.
Našumas ir mastelio keitimas
Metrikų duomenų bazės yra optimizuotos dideliam įrašymo našumui ir greitam agregavimui, todėl tokios platformos kaip „Prometheus“ gali be vargo nuskaityti tūkstančius duomenų per kelias sekundes. Žurnalų sistemoms reikia daugiau skaičiavimo resursų, nes jos indeksuoja laisvos formos tekstą ir palaiko sudėtingas paieškos užklausas. Žurnalų apimčiai išaugant iki terabaitų per dieną, komandoms dažnai reikia investuoti į pakopinę saugyklą, atrankos strategijas arba saugojimo politiką, kad išlaidos būtų valdomos.
Įspėjimai ir matomumas realiuoju laiku
Kalbant apie įspėjimus realiuoju laiku, metrika puikiai tinka, nes skaitinės ribos įvertinimas pagal laiko eilutę yra skaičiavimo požiūriu nesudėtingas. Galite nustatyti įspėjimus, pvz., „CPU virš 90 % 5 minutes“, su minimaliomis sąnaudomis. Įspėjimai, pagrįsti žurnalais, yra įmanomi, tačiau paprastai reikia analizavimo taisyklių arba žurnalų užklausų mechanizmų, kad būtų galima aptikti modelius, o tai padidina delsą ir sudėtingumą. Norint gauti momentinius pranešimus apie sistemos sveikatą, metrika paprastai yra greitesnis būdas.
Derinimas ir teismo ekspertizė
Kai kas nors sugenda, inžinieriai dažnai pirmiausia ieško žurnalų, nes juose išsaugomas įvykio aprašymas. Vienas žurnalo įrašas gali atskleisti tikslų klaidos pranešimą, paveiktą vartotoją ir kodo kelią, kuris sukėlė gedimą. Metrika gali parodyti, kad klaidų dažnis smarkiai išaugo 14:34 val., tačiau ji retai paaiškina, kodėl. Štai kodėl brandžios inžinierių komandos žurnalus laiko tyrimo įrankiu, o metrikas – ankstyvojo perspėjimo sistema.
Sąnaudų ir sandėliavimo aspektai
Žurnalų saugojimas paprastai yra brangesnis nei metrikų saugojimas, nes kiekvienas įrašas turi daugiau duomenų, o saugojimo laikotarpiai dažnai būna ilgesni dėl atitikties ar audito priežasčių. Vidutinio dydžio programa gali kasdien generuoti milijonus žurnalo eilučių, o unikalių metrikų serijų – tik kelis šimtus. Daugelis organizacijų, siekdamos kontroliuoti išlaidas, taiko žurnalų pavyzdžių ėmimą, filtravimą šaltinyje arba pakopinį saugojimą, o metrikų saugojimas paprastai gali būti nebrangus ir trunka mėnesius ar metus.
Integracija šiuolaikiniame stebimumo procese
Trys stebimumo ramsčiai yra žurnalai, metrika ir pėdsakai, ir dauguma gamybinės klasės sistemų remiasi visais trimis. Metrika teikia aukšto lygio sveikatos apžvalgą, žurnalai – išsamią diagnostiką, o paskirstyti pėdsakai sujungia abu, rodydami užklausų srautus tarp paslaugų. Pasirinkimas tarp žurnalais ir metrika pagrįsto stebėjimo retai kada yra „arba arba“ sprendimas; vietoj to komandos nusprendžia, kaip subalansuoti investicijas į kiekvieną iš jų, atsižvelgdamos į savo veiklos poreikius ir biudžetą.
Privalumai ir trūkumai
Logų pagrindu veikiantis stebėjimas
Privalumai
+Išsami kontekstinė informacija
+Puikiai tinka derinimui
+Palaiko viso teksto paiešką
+Užfiksuoja retus įvykius
Pasirinkta
−Didesnės sandėliavimo išlaidos
−Lėtesnis užklausų našumas
−Sudėtinga įspėjimo sąranka
−Reikalingos analizavimo taisyklės
Metrikomis pagrįsta stebėsena
Privalumai
+Greitas įspėjimas realiuoju laiku
+Mažos saugyklos išlaidos
+Paprastas prietaisų skydelis
+Efektyvus agregavimas
Pasirinkta
−Ribotas įvykio kontekstas
−Nepastebi retų anomalijų
−Reikalingi iš anksto nustatyti rodikliai
−Mažiau teismo medicinos detalių
Dažni klaidingi įsitikinimai
Mitas
Norint patikimai valdyti sistemą, reikia tik vieno tipo stebėjimo.
Realybė
Daugumai gamybos sistemų naudingi abu metodai. Metrika anksti nustato problemas per įspėjimus, o žurnalai padeda inžinieriams suprasti pagrindinę priežastį, kai problema aptinkama. Pasikliaujant tik vienu metodu, lieka aklųjų zonų, kurios gali pailginti sutrikimus.
Mitas
Rąstai visada per brangūs, kad juos ilgai laikytumėte.
Realybė
Nors neapdorotų žurnalų saugojimas gali būti brangus, pakopinės saugojimo strategijos, glaudinimas ir išmanus atrankos metodas leidžia ilgalaikį saugojimą. Daugelyje atitikties sistemų iš tikrųjų reikalaujama saugoti tam tikrus žurnalus mėnesius ar metus, todėl sąnaudų valdymas yra labiau susijęs su strategija, o ne su vengimu.
Mitas
Metrikos gali pakeisti žurnalus derinimo tikslais.
Realybė
Metrika nurodo, kad kažkas pasikeitė, bet retai paaiškina, kodėl. Tiriant konkretų naudotojo skundą ar retą klaidą, žurnalai paprastai yra vienintelis būdas rasti tikrąją priežastį. Metrika ir žurnalai atlieka papildomus vaidmenis reaguojant į incidentus.
Mitas
Daugiau žurnalo duomenų visada reiškia geresnį stebėjimą.
Realybė
Pernelyg didelis registravimas sukelia triukšmą, didina išlaidas ir netgi gali sulėtinti trikčių šalinimą. Efektyvus registrais pagrįstas stebėjimas sutelktas į prasmingų įvykių fiksavimą naudojant struktūrizuotus laukus, o ne į visų įmanomų detalių pateikimą nestruktūrizuotame tekste.
Mitas
Metrika pagrįsta stebėsena automatiškai fiksuoja kiekvieną anomaliją.
Realybė
Metrika aptinka tik tai, ką jūs aiškiai išmatuojate. Jei atsiranda naujas gedimo režimas, kurio niekas nepagalvojo stebėti, metrika jo visiškai nepastebės. Priešingai, žurnalai fiksuoja netikėtus įvykius tol, kol programa juos rašo.
Dažnai užduodami klausimai
Kuo pagrindinis skirtumas tarp žurnalais pagrįsto ir metrika pagrįsto stebėjimo?
Žurnalais pagrįstas stebėjimas įrašo atskirus įvykius su išsamiu kontekstu, todėl idealiai tinka derinimui ir teismo ekspertizei. Metrika pagrįstas stebėjimas laikui bėgant renka skaitinius duomenis, todėl idealiai tinka įspėjimams realiuoju laiku ir tendencijų vizualizavimui. Žurnalai atsako į klausimą „kodėl“, o metrika – į klausimą „ką“ ir „kiek“.
Kas pigiau – žurnalų ar metrikų stebėjimas?
Metrikų stebėjimas paprastai yra pigesnis, nes kiekvienas duomenų taškas yra mažas ir kompaktiškas. Žurnalų stebėjimas kainuoja daugiau dėl žurnalų įrašų kiekio ir išsamumo, ypač dideliu mastu. Tačiau išlaidos labai priklauso nuo saugojimo politikos, įkėlimo dažnumo ir konkretaus tiekėjo kainodaros modelio.
Ar galite siųsti įspėjimus naudodami žurnalais pagrįstą stebėjimą?
Taip, bet tai sudėtingiau nei metrika pagrįstas įspėjimų generavimas. Tokios priemonės kaip „Elasticsearch“, „Splunk“ ir „Loki“ palaiko įspėjimų taisykles, kurios suveikia, kai pasirodo tam tikri žurnalų šablonai. Kompromisas yra didesnė delsa ir daugiau apdorojimo išlaidų, palyginti su paprastos skaitinės ribos vertinimu.
Kokie įrankiai geriausiai tinka stebėjimui pagal žurnalus?
Populiarūs pasirinkimai apima ELK Stack („Elasticsearch“, „Logstash“, „Kibana“), „Splunk“, „Grafana Loki“ ir „Fluentd“ duomenų rinkimui. Debesijos paslaugų teikėjai taip pat siūlo valdomas paslaugas, tokias kaip „AWS CloudWatch Logs“, „Google Cloud Logging“ ir „Azure Monitor Logs“, komandoms, kurios nenori valdyti savo infrastruktūros.
Kokie įrankiai geriausiai tinka metrika pagrįstam stebėjimui?
„Prometheus“ yra plačiausiai naudojama atvirojo kodo alternatyva, dažnai derinama su „Grafana“ vizualizacijai. Komercinės platformos, tokios kaip „Datadog“, „New Relic“ ir „Dynatrace“, siūlo valdomą metrikų rinkimą su integruotu įspėjimu. Debesijos technologijoms skirtos parinktys apima „AWS CloudWatch Metrics“ ir „Google Cloud Monitoring“.
Ar derinant produkcijos aplinkoje turėčiau naudoti žurnalus ar metriką?
Pirmiausia naudokite metriką, kad nustatytumėte, ar kažkas negerai, o tada pereikite prie žurnalų, kad ištirtumėte priežastį. Metrika susiaurina laiko tarpą ir paveiktas sistemas, o žurnalai pateikia išsamų įvykio aprašymą, reikalingą pagrindinei priežasčiai nustatyti. Šis dviejų žingsnių metodas yra standartinė praktika SRE ir DevOps komandose.
Kaip žurnalai ir metrika veikia kartu stebimumo srityje?
Jie sudaro du iš trijų stebimumo ramsčių, kartu su paskirstytais pėdsakais. Metrika suteikia bendrą sveikatos vaizdą, žurnalai teikia išsamią diagnostinę informaciją, o pėdsakai sujungia atskiras užklausas skirtingose paslaugose. Dauguma šiuolaikinių platformų, tokių kaip „Datadog“, „Honeycomb“ ir „Grafana“, integruoja visus tris.
Kiek laiko turėčiau saugoti žurnalus, palyginti su metrika?
Įprasta praktika yra saugoti metriką 13 mėnesių ar ilgiau, nes ją pigu saugoti ir ji naudinga planuojant pajėgumus. Žurnalai dažnai saugomi 30–90 dienų karštojoje saugykloje, o senesni žurnalai archyvuojami šaltojoje saugykloje arba objektų saugykloje, pvz., S3, atitikties užtikrinimui arba retkarčiais atliekamiems tyrimams.
Ar struktūrizuotas registravimas yra geresnis nei nestruktūrizuotas stebėjimui?
Struktūrizuotas žurnalavimas (paprastai JSON formatu) yra žymiai geresnis stebėjimui, nes leidžia patikimai analizuoti, filtruoti ir apibendrinti duomenis. Nestruktūrizuotiems žurnalams reikalingi reguliariosios išraiškos šablonai arba rankinė peržiūra, o tai sulėtina tiek įspėjimų teikimą, tiek derinimą. Dauguma šiuolaikinių programų pagal numatytuosius nustatymus generuoja struktūrizuotus žurnalus.
Ar metrika pagrįsta stebėsena gali aptikti problemas, kurių žurnalai nepastebi?
Taip, ypač laipsniško našumo blogėjimo arba išteklių perpildymo atveju. Lėtas atminties nutekėjimas gali niekada nesukurti žurnalo įrašo, bet laikui bėgant aiškiai matysis atminties naudojimo metrikoje. Metrika taip pat geriau aptinka apibendrintus modelius tūkstančiuose užklausų, kur atskiri žurnalo įrašai būtų pernelyg triukšmingi analizuoti.
Nuosprendis
Rinkitės žurnalais pagrįstą stebėjimą, kai jūsų pagrindinis poreikis yra gilus derinimas, audito sekos arba konkrečių įvykių konteksto supratimas. Rinkitės metrikomis pagrįstą stebėjimą, kai jums reikia realaus laiko ataskaitų suvestinių, greito įspėjimo ir ilgalaikės tendencijų analizės dideliu mastu. Praktiškai stipriausios stebimumo strategijos sujungia abu šiuos aspektus: metrikas naudojant ankstyvam aptikimui ir žurnalus kruopščiam tyrimui.