Sveiki visi. Žemiau yra nuorašas .
– įvairių sistemų ir paslaugų stebėjimo sistema, kurios pagalba sistemų administratoriai gali rinkti informaciją apie esamus sistemų parametrus ir nustatyti perspėjimus, kad gautų pranešimus apie sistemų veikimo nukrypimus.
Ataskaitoje bus pateiktas palyginimas и — ilgalaikio Prometheus metrikų saugojimo projektai.



Pirmiausia papasakosiu apie Prometėją. Tai stebėjimo sistema, kuri renka metrikas iš nurodytų tikslų ir išsaugo juos vietinėje saugykloje. „Prometheus“ gali įrašyti metrikas į nuotolinę saugyklą ir generuoti įspėjimus bei įrašymo taisykles.

Prometėjo apribojimai:
- Jame nėra visuotinio užklausos rodinio. Tai yra tada, kai turite kelis nepriklausomus Prometėjo egzempliorius. Jie renka metrikas. Ir jūs norite pateikti užklausą ant visų šių metrikų, surinktų iš skirtingų „Prometheus“ atvejų. Prometėjas to neleidžia.
- Naudojant prometheus, našumas ribojamas tik vienu serveriu. „Prometheus“ automatiškai nesikeičia keliuose serveriuose. Galite tik rankiniu būdu padalinti taikinius tarp kelių „Prometheus“.
- „Prometheus“ metrikos aprėptis yra apribota tik vienu serveriu dėl tos pačios priežasties, nes ji negali automatiškai keisti kelių serverių.
- „Prometheus“ nėra taip paprasta organizuoti duomenų saugumą.

Šių problemų/iššūkių sprendimai?
Sprendimai yra šie:
Visi šie sprendimai skirti „Prometheus“ surinktų duomenų nuotoliniam saugojimui. Jie įvairiais būdais išsprendžia nuotolinio saugojimo problemą iš ankstesnės skaidrės. Šiame pristatyme kalbėsiu tik apie pirmuosius du sprendimus: и .
Pirmą kartą informacija apie pasirodė . Ten aprašyta architektūra ir kaip tai veikia.

„Thanos“ perima duomenis, kuriuos „Prometheus“ išsaugojo vietiniame diske, ir nukopijuoja juos į S3 arba į kitą objektų saugyklą.

Taigi „Thanos“ pateikia visuotinį užklausos vaizdą. Galite pateikti duomenų, saugomų objektų saugykloje, užklausą iš kelių „Prometheus“ egzempliorių.

Thanos palaiko PromQL ir .

Duomenims saugoti „Thanos“ naudoja „Prometheus“ kodą.

„Thanos“ kuria tie patys kūrėjai kaip ir „Prometheus“.
apie . Čia , kur pirmą kartą kalbėjome .

„VictoriaMetrics“ gauna duomenis iš kelių prometėjų Prometėjo palaikomas protokolas.

„VictoriaMetrics“ teikia visuotinį užklausos rodinį, nes keli „Prometheus“ egzemplioriai gali įrašyti duomenis į vieną „VictoriaMetrics“. Atitinkamai, galite pateikti užklausas dėl visų šių duomenų.

„VictoriaMetrics“ taip pat palaiko, pavyzdžiui, „Thanos“, „PromQL“ ir „Prometheus“ užklausų API.

Skirtingai nuo „Thanos“, „VictoriaMetrics“ šaltinio kodas yra parašytas nuo nulio ir yra optimizuotas greičiui ir išteklių sunaudojimui.

„VictoriaMetrics“, skirtingai nei „Thanos“, mastelį keičia tiek vertikaliai, tiek horizontaliai. Valgyk , kurios mastelis vertikaliai. Galite pradėti nuo vieno procesoriaus ir 1 GB atminties ir palaipsniui išaugti iki šimtų procesorių ir 1 TB atminties. „VictoriaMetrics“ gali naudoti visus šiuos išteklius. Jo našumas padidės maždaug 100 kartų, palyginti su 1 branduolio sistema.

„Thanos“ istorija prasidėjo 2017 m. lapkritį, kai pasirodė pirmasis viešas įsipareigojimas. Prieš tai Thanos buvo sukurtas viduje .

2019 m. birželio mėn. buvo išleista svarbi 0.5.0 versija, kurioje protokolas. Jis buvo pašalintas iš Thanos, nes nepasirodė gerai. Dažnai Thanos klasteris neveikė tinkamai, mazgai prie jo prisijungdavo neteisingai dėl paskalų protokolo. Todėl nusprendėme jį iš ten pašalinti. Manau, kad tai yra teisingas sprendimas.

Tą patį 2019 m. birželį jie atsiuntė paraiškos numerį в .

Ir po poros mėnesių Thanos buvo priimtas , kuri apima Prometheus, Kubernetes ir kitus populiarius projektus.

2018 m. sausį buvo pradėta kurti „VictoriaMetrics“.

2018 m. rugsėjį pirmą kartą viešai paminėjau VictoriaMetrics.

2018 m. gruodžio mėn. buvo paskelbta vieno mazgo versija.

Gegužės mėn. 2019 tiek vieno mazgo, tiek klasterio versijų šaltiniai.

2019 m. birželio mėn., kaip ir Thanos, pateikėme paraišką CNCF fondui numeriu . Kreipėmės likus dienai iki Thanos prašymo.

Bet, deja, mūsų ten vis dar nepriėmė. Reikalinga bendruomenės pagalba.

Pažvelkime į svarbiausias skaidres, rodančias Thanos ir VictoriaMetrics architektūrą.

Pradėkime nuo Thanos. Geltonieji komponentai yra Prometheus komponentai. Visa kita yra „Thanos“ komponentai. Pradėkime nuo svarbiausio komponento. „Thanos Sidecar“ yra komponentas, montuojamas šalia kiekvieno „Prometheus“. Jis įkelia „Prometheus“ duomenis iš vietinės saugyklos į S3 arba kitą objektų saugyklą.
Taip pat yra komponentas, vadinamas „Thanos Store Gateway“, kuris gali nuskaityti šiuos duomenis iš objektų saugyklos, kai gaunamos užklausos iš „Thanos Query“. Thanos Query įdiegia PromQL ir Prometheus API. Tai yra, iš išorės jis atrodo kaip Prometėjas. Priima PromQL užklausas, siunčia jas į Thanos Store Gateway, Thanos Store Gateway nuskaito reikiamus duomenis iš Object Storage, siunčia atgal.
Tačiau mes saugome duomenis objektų saugykloje be paskutinių dviejų valandų dėl „Thanos Sidecar“ diegimo funkcijos, kuri negali įkelti paskutinių dviejų valandų į „Object Storage S3“, nes „Prometheus“ dar nesukūrė šių dviejų valandų failų vietinėje saugykloje.
Kaip nusprendėte tai apeiti? „Thanos Query“, be užklausų „Thanos Store Gateway“, siunčia lygiagrečias užklausas į kiekvieną „Thanos Sidecar“, kuris yra šalia „Prometheus“.
O „Thanos Sidecar“ savo ruožtu perduoda užklausas toliau „Prometheus“ ir nuskaito paskutinių dviejų valandų duomenis.
Be šių komponentų, taip pat yra pasirenkamas komponentas, be kurio Thanos neveiks gerai. Tai yra „Thanos Compact“, kuri yra atsakinga už mažų objektų saugykloje esančių failų sujungimą į didesnius failus, kuriuos čia įkėlė „Thanos Sidecars“. Thanos Sidecar įkelia duomenų failus ten per dvi valandas. Jei šie failai nėra sujungti į didesnius failus, jų skaičius gali labai smarkiai išaugti. Kuo daugiau tokių failų, tuo daugiau atminties reikia Thanos Store Gateway, tuo daugiau resursų reikia duomenims perduoti tinkle ir metaduomenims. Thanos Store Gateway tampa neveiksmingas. Todėl būtina paleisti „Thanos Compact“, kuri sujungia mažus failus į didesnius, kad tokių failų būtų mažiau ir sumažėtų „Thanos Store Gateway“ sąnaudos.
Taip pat yra toks komponentas kaip Thanos Ruler. Jis vykdo Prometheus įspėjimo taisykles ir gali įvertinti Prometheus įrašymo taisykles, kad galėtų įrašyti duomenis atgal į objektų saugyklą. Tačiau šio komponento naudoti nerekomenduojama, nes... Jis .
Tai paprasta Thanos schema.

Dabar palyginkime ją su VictoriaMetrics schema.
„VictoriaMetrics“ turi 2 versijas: vieno mazgo ir klasterio versiją. Viename kompiuteryje veikia vienas mazgas. Viename mazge šių komponentų nėra, tik vienas dvejetainis. Šis dvejetainis skaidrėje atrodo kaip šis kvadratas. Viskas, kas yra kvadrato viduje, yra vieno mazgo versijos dvejetainio failo turinys. Jums nereikia apie jį žinoti. Jūs tiesiog paleidžiate dvejetainį failą ir viskas veikia mums.
Klasterio versija yra sudėtingesnė. Jo viduje yra trys skirtingi komponentai: vmselect, vminsert ir vmstorage. Iš jų vardo turėtų būti aišku, ką kiekvienas iš jų veikia. Komponentas Insert priima duomenis įvairiais formatais: iš Prometheus nuotolinio rašymo API, Influx linijos protokolo, Graphite protokolo ir OpenTSDB protokolo. Komponentas Insert juos priima, analizuoja ir paskirsto tarp esamų saugyklos komponentų, kuriuose duomenys jau yra saugomi. Komponentas Select savo ruožtu priima PromQL užklausas. Jis įgyvendina , taip pat „Prometheus“ užklausų API, ir ji gali būti naudojama kaip „Prometheus“ pakaitalas „Grafana“ ar kituose „Prometheus“ API klientuose. Select priima promql užklausą, ją analizuoja, nuskaito reikalingus duomenis šiai užklausai vykdyti iš saugyklos mazgų, apdoroja šiuos duomenis ir grąžina atsakymą.

Palyginkime „Thanos“ ir „VictoriaMetrics“ diegimo sudėtingumą.

Pradėkime nuo Thanos. Prieš pradėdami dirbti su „Thanos“, objektų saugykloje, pvz., S3 arba GCS, turite sukurti segmentą, kad „Thanos Sidecar“ galėtų į jį įrašyti duomenis.

Tada kiekvienam „Prometheus“ turite įdiegti „Thanos Sidecar“. Prieš tai turite nepamiršti išjungti duomenų tankinimo programoje „Prometheus“. Duomenų tankinimas periodiškai suglaudina duomenis vietinėje „Prometheus“ saugykloje, kad sumažintų išteklių suvartojimą.
Kai įdiegiate „Thanos Sidecar“ savo „Prometheus“, turite išjungti šį duomenų tankinimą, nes „Thanos Sidecar“ neveikia tinkamai, kai įjungtas duomenų tankinimas. Tai reiškia, kad jūsų „Prometheus“ pradeda saugoti duomenis dviejų valandų blokais ir nustoja jungti tuos blokus į didesnius. Atitinkamai, jei pateikiate užklausas, kurios viršija pastarųjų dviejų valandų trukmę, jos neveiks taip efektyviai, kaip galėtų veikti, jei būtų įjungtas duomenų tankinimas.

Todėl „Thanos“ rekomenduoja sumažinti duomenų saugojimo laiką vietinėje saugykloje iki 6–8 valandų, kad sumažėtų daugybės mažų blokų sąnaudos.
Įdiegę „Thanos Sidecar“, turite įdiegti du komponentus kiekvienam objektų saugojimo segmentui. Tai yra „Thanos Compactor“ ir „Thanos Store Gateway“.

Po to turite įdiegti „Thanos Query“ ir sukonfigūruoti, kad jis galėtų prisijungti prie visų jūsų turimų „Thanos Store Gateway“ ir taip pat prisijungti prie visų „Thanos Sidecars“.
Čia gali kilti nedidelė problema.

Turite sukonfigūruoti patikimą ir saugų Thanos Query ryšį su šiais komponentais. Ir jei jūsų „Prometheus“ yra skirtinguose duomenų centruose arba skirtinguose VPC, jungtis su jais iš išorės draudžiama. Bet kad „Thanos Query“ veiktų, reikia kažkaip sukonfigūruoti ryšį ir sugalvoti būdą.
Jei turite daug tokių duomenų centrų, atitinkamai mažėja visos sistemos patikimumas. Kadangi „Thanos Query“ turi nuolat palaikyti ryšius su visais „Thanos Sidecars“, esančiais skirtinguose duomenų centruose. Kiekviena gaunama užklausa nukreipia užklausas į visus „Thanos Sidecars“. Jei ryšys nutrūksta, gausite neišsamų duomenų rinkinį arba gausite atsakymą „grupė neveikia“.

„VictoriaMetrics“ viskas yra šiek tiek paprasčiau. Vieno mazgo versijai tereikia paleisti vieną dvejetainį failą ir viskas veikia.

Klasterio versijoje pakanka paleisti visus aukščiau išvardintus trijų tipų komponentus bet kokiu kiekiu arba naudoti automatizuoti „Kubernetes“ komponentų paleidimą. Taip pat planuojame sukurti Kubernetes operatorių. Vairo diagrama neapima kai kurių atvejų ir leidžia šaudyti sau į koją. Pavyzdžiui, tai leidžia sumažinti saugojimo mazgų skaičių, o tai sukels duomenų praradimą.

Paleidę vieną dvejetainę arba grupinę versiją, tereikia pridėti Prometheus prie konfigūracijos kad jis pradėtų rašyti duomenis lygiagrečiai vietinei saugyklai ir nuotolinei saugyklai. Kaip matote, ši konfigūracija turėtų veikti daug patikimiau, palyginti su Thanos konfigūracija. Mums nereikia palaikyti ryšio iš „VictoriaMetrics“ su visais „Prometheus“, nes patys „Prometheus“ jungiasi prie „VictoriaMetrics“ ir perduoda duomenis.

Apsvarstykime „Thanos“ ir „VictoriaMetrics“ palaikymą.

„Thanos“ turi stebėti „Sidecar“, kad įsitikintų, jog jie nenustoja įkelti duomenų į objektų saugyklą. Jie gali sustabdyti šį duomenų atsisiuntimą dėl atsisiuntimo klaidų, pvz., tinklo ryšys su objektų saugykla laikinai nutrūksta arba objektų saugykla laikinai nepasiekiama. Thanos Sidecar šiuo metu tai pastebės, praneš apie klaidą, gali sudužti ir nustoti veikti. Jei jo nestebėsite, nustosite perkelti duomenis į objektų saugyklą. Jei saugojimo laikas praeis (rekomenduojama 6–8 val.), prarasite duomenis, kurie nepateko į objektų saugyklą.

Thanos tankintuvai gali nustoti veikti dėl . Sutankintuvai paima duomenis iš objektų saugyklos ir sujungia juos į didesnes duomenų dalis. Kadangi tankintuvai nėra sinchronizuojami su šoniniais vežimėliais, gali nutikti taip: Sidecar dar nespėjo užbaigti bloko, Compactor nusprendžia, kad šis blokas buvo visiškai parašytas. Kompakteris pradeda jį skaityti. Jis neperskaito viso bloko ir nustoja veikti. Žr. išsamią informaciją .

„Store Gateway“ gali grąžinti nenuoseklius duomenis dėl lenktynių tarp „Compactor“ ir „Sidecars“. Tas pats atsitinka ir čia, nes „Store Gateway“ niekaip nėra sinchronizuotas su kompaktoriais ir šoniniais vežimėliais. Atitinkamai, lenktynių sąlygos gali susidaryti, kai „Store Gateway“ nemato dalies duomenų arba mato nereikalingus duomenis.

Pagal numatytuosius nustatymus „Thanos“ užklausos komponentas pateikia dalinį rezultatą, jei kai kurie šoniniai vežimėliai arba parduotuvės šliuzai šiuo metu nepasiekiami. Dalį duomenų gausite ir net nesužinosite, kad negavote visų duomenų. Taip jis veikia pagal numatytuosius nustatymus. Panašioje situacijoje „VictoriaMetrics“ pateikia pažymėtus duomenis kaip dalinius.

Skirtingai nei „Thanos“, „VictoriaMetrics“ retai praranda duomenis. Net jei „Prometheus“ ir „VictoriaMetrics“ ryšys nutrūksta, tai nėra problema, nes „Prometheus“ ir toliau įrašo gaunamus naujus duomenis „Write Ahead Log“, kurio dydis yra 2 valandos. Jei per dvi valandas atkursite ryšį su VictoriaMetrics, jūsų duomenys nebus prarasti. Prometėjas .

Skirtingai nuo „Thanos“, kuris įrašo duomenis į objektų saugyklą tik po dviejų valandų, „Prometheus“ automatiškai atkartoja duomenis naudodamas nuotolinio rašymo protokolą į nuotolinę saugyklą, pvz., „VictoriaMetrics“. Nebijote prarasti vietinės saugyklos „Prometheus“. Jei jis staiga prarado vietinę saugyklą, blogiausiu atveju prarasite paskutines duomenų sekundes, kurios neturėjo laiko įrašyti į nuotolinę saugyklą.

„Kubernetes“ automatiškai valdo klasterį, skirtingai nei „Thanos“. Sunku sudėti visus „Thanos“ komponentus į vieną „Kubernetes“ klasterį, skirtingai nei „VictoriaMetrics“ klasterio komponentai.

„VictoriaMetrics“ turi labai paprastą naujos versijos atnaujinimą. Tiesiog sustabdykite „VictoriaMetrics“, atnaujinkite dvejetainius failus ir paleiskite jį. Sustabdžius SIGINT signalą, visi VictoriaMetrics dvejetainiai failai gražiai išjungiami. Jie teisingai išsaugo reikiamus duomenis, teisingai uždaro gaunamus ryšius, kad nieko neprarastų. Taigi atnaujindami nieko neprarasite.

„VictoriaMetrics“ leidžia labai lengvai išplėsti grupę. Tiesiog pridėkite reikiamus komponentus ir tęskite darbą.

Apie spąstus Thanos ir VictoriaMetrics.

Thanos turi šiuos spąstus. „Prometėjas“ turi saugoti paskutinių dviejų valandų duomenis. Jei jie pasimes, juos visiškai prarasite, nes jie dar nebuvo įrašyti į objektų saugyklą, pvz., S3.

„Store Gateway“ komponentui ir kompaktoriaus komponentui gali prireikti daug atminties, kad galėtų dirbti su didele objektų saugykla, jei joje saugoma daug mažų failų. Kuo didesnis failų skaičius ir dydis, tuo daugiau Store Gateway ir kompaktoriaus RAM reikia metainformacijai saugoti. Thanosas turi daug problemų dėl to .

Skelbiama, kad „Thanos“ neribotą laiką padidins jūsų turimą „Prometheus“ kiekį. Tai iš tikrųjų netiesa. Kadangi visos užklausos perduodamos per užklausos komponentą, kuris vienu metu turi apklausti visus „Store Gateway“ komponentus ir visus „Sidecar“ komponentus, iš ten paimti duomenis ir iš anksto juos apdoroti. Akivaizdu, kad užklausos greitį riboja lėčiausia silpnoji grandis, lėčiausias parduotuvės šliuzas arba lėčiausias šoninis vežimėlis.
Šie komponentai gali būti apkrauti netolygiai. Pavyzdžiui, turite „Prometheus“, kuris surenka milijonus metrikų per sekundę. Ir yra Prometėjas, kuris surenka tūkstančius metrikų per sekundę. Milijonus metrikų per sekundę renkantis „Prometheus“ serveriui, kuriame veikia, yra gerokai didesnis krūvis. Atitinkamai, Sidecar ten veikia lėčiau. Ir apskritai viskas ten veikia lėtai. Ir užklausos komponentas duomenis iš ten gaus labai lėtai. Atitinkamai, šis lėtas šoninis priekabas apribos visos jūsų grupės našumą.

Pagal numatytuosius nustatymus „Thanos“ pateikia dalinius duomenis, jei kai kurie šoniniai vagonai ir „Store Gateway“ nepasiekiami. Pavyzdžiui, jei jūsų šoninės priekabos yra išsibarsčiusios visame pasaulyje skirtinguose duomenų centruose, labai padidėja ryšio gedimo ir komponentų nepasiekiamumo tikimybė. Atitinkamai, daugeliu atvejų jūs gausite dalinius duomenis net to nežinodami.

„VictoriaMetrics“ taip pat turi spąstų. Pirmasis spąstas yra parinktis, ribojanti „VictoriaMetrics“ talpyklai naudojamos RAM kiekį. Pagal numatytuosius nustatymus jis yra lygus 60 % įrenginio, kuriame veikia VictoriaMetrics, RAM arba 60 % VictoriaMetrics pod RAM Kubernetes.
Jei šią reikšmę pakeisite neteisingai, galite sugadinti „VictoriaMetrics“ našumą. Pavyzdžiui, jei nustatysite per mažą reikšmę, duomenys gali nebetilpti į VictoriaMetrics talpyklą. Dėl šios priežasties jai teks papildomai dirbti ir įkelti procesorių bei diską. Jei šią parinktį padarysite per didelę, tai padidins, pirma, tikimybę, kad „VictoriaMetrics“ suges dėl atminties trūkumo klaidos, ir, antra, operacinės sistemos atmintyje liks labai mažai RAM. failų talpykla. „VictoriaMetrics“ našumui užtikrinti remiasi failų talpykla. Jei to nepakanka, disko apkrova gali labai padidėti. Todėl patarimas: nekeiskite parametro, nebent tai absoliučiai būtina.

Antras variantas. Tai yra retentionPeriod – laikotarpis, kuris pagal numatytuosius nustatymus nustatytas į 1 mėnesį. Tiek laiko „VictoriaMetrics“ saugo duomenis. Pasibaigus šiam laikotarpiui, „VictoriaMetrics“ ištrina duomenis.
Daugelis žmonių naudoja „VictoriaMetrics“ be šio parametro ir įrašo duomenis mėnesį. Ir tada jie klausia: kodėl dingo praėjusio mėnesio duomenys? Kadangi numatytasis saugojimo laikotarpis yra 1 mėnuo. Todėl turite žinoti ir nustatyti teisingą išlaikymo laikotarpį.

Pažvelkime į unikalias savybes.

Thanos turi funkciją, vadinamą sumažinimu: 5 minučių ir valandos intervalais, kurie dažnai . Jei ieškote „Google“ ir pažvelgsite į jų problemą „github“, yra daug problemų, susijusių su šiuo sumažinimu, kad kartais jis neveikia tinkamai arba neveikia taip, kaip tikisi vartotojai.

„Thanos“ turi „Prometheus HA“ porų duomenų dubliavimą. Kai du „Prometheus“ renka tas pačias metrikas iš tų pačių objektų, o „Thanos“ išsaugo juos objektų saugykloje. „Thanos“ gali tinkamai panaikinti šių duomenų dubliavimą, skirtingai nei „VictoriaMetrics“.

„Thanos“ turi įspėjimo komponentą, kuris buvo „Thanos“ schemoje. Bet jis .

„Thanos“ pranašumas yra tas, kad „Thanos“ ir „Prometheus“ turi tą patį kodą. „Thanos“ ir „Prometheus“ kuria tie patys kūrėjai. Patobulinus Thanosą ar Prometėją, laimi kita pusė.

Pagrindinė „VictoriaMetrics“ funkcija yra „MetricsQL“. Tai VictoriaMetrics plėtiniai, skirti PromQL, apie kuriuos kalbėjau ankstesniame dideliame stebėjimo metu.

„VictoriaMetrics“ palaiko duomenų įkėlimą naudojant daugybę skirtingų protokolų. VictoriaMetrics gali ne tik priimti duomenis iš Prometheus, bet ir per Influx, OpenTSDB ir Graphite protokolus.

„VictoriaMetrics“ duomenys užima daug mažiau vietos, palyginti su „Thanos“ ir „Prometheus“.
Jei įrašote tikrus duomenis, vartotojai kalba apie 2–5 kartus sumažintą duomenų dydį diske, palyginti su „Prometheus“ ir „Thanos“.

Kitas „VictoriaMetrics“ pranašumas yra tai, kad jis yra optimizuotas greičiui.

Pažiūrėkime į infrastruktūros kainą.

Vienas iš Thanos privalumų yra tai, kad ji saugo duomenis objektų saugykloje, kuri yra gana pigi.
Saugodami duomenis objektų saugykloje, turite mokėti už duomenų rašymo ir skaitymo operacijas (10 USD už milijoną operacijų). Kai rašote duomenis į objektų saugyklą, mokate prieglobos išlaidas už duomenų įkėlimą į internetą; jei jūsų klasteris nėra AWS, jis ten nemokamas. Kai skaitote duomenis, mokate nuo 10 iki 230 USD už 1 TB. Tai gali būti reikšminga, jei dažnai ieškote istorinių duomenų iš Thanos klasterio.

„Thanos“ klasteriui reikia mokėti už serverius, skirtus „Compact“, „Store Gateway“, „Query“ komponentams, kuriems reikia daug atminties, ir už CPU už didelius duomenų kiekius.

„VictoriaMetrics“ turi šias išlaidas. Jei saugote duomenis GCE HDD diskuose, tai kainuoja 40 USD už 1 TB. „VictoriaMetrics“ pakanka įprastų HDD diskų, nereikia SSD, kurie kainuoja penkis kartus brangiau. „VictoriaMetrics“ yra optimizuotas HDD.

„VictoriaMetrics“ reikalauja serverių komponentams: „Single-nod“ arba sugrupuotiems komponentams, kuriems, skirtingai nei „Thanos“ komponentams, reikia daug mažiau procesoriaus ir RAM, todėl jie bus pigesni.

Įgyvendinimo pavyzdžiai.

„Thanos“ turi „Gitlab“ diegimo pavyzdį. „Gitlab“ veikia tik „Thanos“. Bet ne viskas ten taip sklandu. Jei pažvelgsi į juos , tada pamatysite, kad jie nuolat turi keletą : nepakanka atminties „Store Gateway“ arba „Query“ komponentams. Jie nuolat turi didinti atminties kiekį.
Dėl to didėja šių problemų sprendimo išlaidos.
Antrasis diegimas, kuris gali būti sėkmingesnis, yra Improbable įmonė, kuri pradėjo kurti Thanos. Jie paskelbė Thanos šaltinio kodą. Improbable yra žaidimų variklius kurianti įmonė.

„VictoriaMetrics“ pateikia viešų diegimo pavyzdžių:
- wix.com svetainių kūrėjas
- „Adidas“ diegia „VictoriaMetrics“ ir netgi surengė pristatymą paskutiniame „PromCon 2019“.
- TrafficStars – skelbimų tinklas
- Seznam.cz yra populiari Čekijos paieškos sistema.
Ir tada buvo įmonės be pavadinimo, kurių dabar negaliu pavadinti. Jie nesutiko.
- Vienas pagrindinių žaidimų kūrėjų. Didesnis nei im Neįtikėtina.
- Pagrindinis grafikos programinės įrangos kūrėjas.
- Didelis Rusijos bankas.
- Europos vėjo turbinų gamintojas, sėkmingai išbandęs „VictoriaMetrics“. Šis gamintojas įdiegia „VictoriaMetrics“, kad stebėtų duomenis, surinktus iš vėjo turbinų, 50 mėginių per sekundę greičiu vienam jutikliui. Kiekviena vėjo turbina turi kelis šimtus jutiklių. Juose yra keli šimtai vėjo turbinų.
- Rusijos oro linijos, norinčios įdiegti „VictoriaMetrics“, bet vis dar negalinčios. Esame su jais sutarties stadijoje.
Išvados.
„VictoriaMetrics“ ir „Thanos“ sprendžia panašias problemas, tačiau skirtingais būdais:
- Visuotinis užklausos vaizdas
- horizontalus mastelio keitimas
- savavališkas išlaikymas

Ačiū.
Laukiame Jūsų pas mus .

Apklausoje gali dalyvauti tik registruoti vartotojai. , Prašau.
Ką naudojate kaip ilgalaikį „Prometheus“ saugojimą?
35,3%6. kas yra?
0,0%Cortex0
0,0%M3DB0
41,2%VictoriaMetrics7
23,5%kitas4
Balsavo 17 vartotojų. 16 vartotojai susilaikė.
Šaltinis: www.habr.com
