Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Tere kÔigile. Allpool on esitluse kokkuvÔte Big Monitoring Meetup 4'st.

Prometheus – sĂŒsteem erinevate sĂŒsteemide ja teenuste jĂ€lgimiseks, millega sĂŒsteemiadministraatorid saavad koguda teavet sĂŒsteemide praeguste parameetralade kohta ja seadistada teateid, et saada teateid sĂŒsteemide töö kĂ”rvalekallete kohta.

Esitluses vĂ”rreldakse Thanos ja VictoriaMetrics — projekte, mis on mĂ”eldud Prometheus'e pikaajaliseks metrikate salvestamiseks.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Vaata videot

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Alustuseks rÀÀgin Prometheus'est. See on jĂ€lgimissĂŒsteem, mis kogub metrikaid mÀÀratud sihtkohtadelt ja salvestab need kohalikku salvestusse. Prometheus suudab salvestada metrikaid kaugseadmestusse, suudab genereerida teateid ja salvestamisreegleid.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Prometheus'e piirangud:

  • Tal ei ole globaalset pĂ€ringute ĂŒlevaadet. See juhtum on, kui teil on mitu sĂ”ltumatut Prometheus'e instantsi. Need koguvad metrikaid. Ja te soovite teha pĂ€ringu kĂ”igi nende metrikate ĂŒle, mis on kogutud erinevatest Prometheus'e instantsidest. Prometheus seda ei vĂ”imalda.
  • Prometheuse puhul on jĂ”udlus piiratud ainult ĂŒhe serveriga. Prometheus ei saa automaatselt skaleeruda mitme serveri peale. Saate kĂ€sitsi jaotada oma sihtmĂ€rgid erinevate Prometheuste vahel.
  • Prometheuses on meetrikate maht piiratud samuti ainult ĂŒhe serveriga, mis on sama pĂ”hjus, miks ta ei saa automaatselt skaleeruda mitme serveri peale.
  • Prometheuses ei ole andmete sĂ€ilitamine nii lihtne.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Kuidas nende probleemide lahendamine?

Lahendused on jÀrgmised:

KÔik need lahendused on mÔeldud Prometheuse poolt kogutud andmete kaugarhive jaoks. Need lahendavad eelmisel slaidil esitatud remote storage probleemi erinevalt. Selles esitluses kÀsitlen ainult kahte esimest lahendust: Thanos ja VictoriaMetrics.

Esmakordselt ilmus info Thanos selle lingi kaudu . Seal on kirjeldatud arhitektuurija kuidas see töötab. Thanos Thanos vÔtab andmed, mille Prometheus on lokaalsetele ketastele salvestanud, ja kopeerib need S3-sse,

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

GCS-i vÔi teise objekti salvestusse. Seega tagab Thanos globaalsete pÀringute vaatamise. Te saate pÀrida andmeid, mis on salvestatud objekti salvestusse, mitme Prometheuse eksemplari kaudu.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos toetab PromQL-i ja

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Prometheuse pÀringu API-d. Thanos kasutab andmete salvestamiseks Prometheuse koodi..

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos kasutab andmete salvestamiseks Prometheuse koodi.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos'i arendavad samad arendajad nagu Prometheus.

Umbes VictoriaMetrics. Siin link, kus me esmakordselt rÀÀkisime VictoriaMetrics.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics saab andmeid mitmest prometheus' est remote write API protokoll, mida toetab Prometheus.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics tagab globaalset pĂ€ringute vaadet, kuna mitmed Prometheus' eksemplarid vĂ”ivad andmeid salvestada ĂŒhte VictoriaMetrics'i. Vastavalt on vĂ”imalik teha pĂ€ringuid kĂ”igi nende andmete pĂ”hjal.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics toetab samuti nagu Thanos — PromQL ja Prometheuse pĂ€rindus-API.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Erinevalt Thanos' est on VictoriaMetrics'i lÀhtekood kirjutatud nullist ja optimeeritud kiirusel ja ressursikasutusele.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics, erinevalt Thanos' est, skaaleerub nii vertikaalselt kui horisontaalselt. On Ühe sĂ”lme versioon, mis skaaleerub vertikaalselt. VĂ”ite alustada ĂŒhe protsessori ja 1 GB mĂ€luga ning kasvata jĂ€rk-jĂ€rgult kuni saja protsessori ja 1 TB mĂ€luni. VictoriaMetrics suudab kasutada kogu seda ressursi. Selle jĂ”udlus suureneb umbes 100 korda vĂ”rreldes 1-tuumalise sĂŒsteemiga.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos'e ajalugu algas novembris 2017, kui ilmus esimene avalik komitee. Enne seda arendati Thanos't ettevÔtte sees improbable.io.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Juuni 2019. aastal toimus mÀrgiline vÀljaanne 0.5.0, kus eemaldati gossip protokoll. See eemaldati Thanosest, kuna ta nÀitas end halvas valguses. Sageli töötas Thanos klaster vale tÔhususega, node'd ei suutnud Ôigesti toimida gossip-protokolli tÔttu. SeetÔttu otsustati see sealt eemaldada. Pean seda Ôigeks otsuseks.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Samas juunis 2019 saatsid nad taotluse numbri 256 ĂŒhes Cloud Native Computing Foundation.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Ja paar kuud hiljem vÔeti Thanos vastu Cloud Native Computing Foundation, kuhu kuuluvad Prometheus, Kubernetes ja teised populaarsed projektid.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Jaanuaris 2018 algas VictoriaMetricsi arendus.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Septembris 2018 mainisin esmakordselt avalikult VictoriaMetricsi.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Detsembris 2018 avaldati Single-node versioon.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Maias 2019 avaldi allikaid nii Single-node kui ka klastriversiooni kohta.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Juunis 2019, nagu Thanos, esitasime CNCF sihtasutusele taotluse numbriga 255. Esitasime taotluse ĂŒhe pĂ€eva varem, kui Thanos.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Kahjuks ei ole meid siiani vastu vÔetud. Vajame kogukonna abi.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Vaatame ĂŒle kĂ”ige olulisemad slaidid, mis nĂ€itavad Thanos ja VictoriaMetrics arhitektuuri.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Alustame Thanosega. Kollased komponendid on Prometheuse komponendid. KÔik muu on Thanose komponendid. Alustame kÔige olulisemast komponendist. Thanos Sidecar on komponent, mis paigaldatakse iga Prometheuse kÔrvale. See tegeleb Prometheuse andmete laadimisega kohalikust salvestusruumist S3 vÔi mÔnda muusse objektisalvestusse.

On veel ĂŒks komponent, Thanos Store Gateway, mis suudab lugeda neid andmeid objektisalvestusest Thanose pĂ€ringute sisse tulevate taotlustega. Thanos Query rakendab PromQL ja Prometheuse API. Seega nĂ€eb see vĂ€ljastpoolt vĂ€lja nagu Prometheus. See vĂ”tab vastu PromQL pĂ€ringud, saadab need Thanos Store Gateway'le, mis toob vajalikud andmed objektisalvestusest ja saadab need tagasi.

Kuid meie objektisalvestuses on andmed ilma viimaste kahe tundideta, kuna Thanos Sidecari rakenduse eripĂ€ra tĂ”ttu ei saa see viimaseid kahte tundi objektisalvestusse S3 ĂŒles laadida, sest nende kahe tunni jooksul ei ole Prometheus veel loonud faile kohalikus salvestuses.

Kuidas me selle ringi saame? Thanos Query, lisaks pÀringutele Thanos Store Gateway'sse, saadab samaaegselt pÀringud ka igasse Thanos Sidecar'i, mis asub Prometheuse lÀheduses.

Ja Thanos Sidecar omakorda edastab pÀringud edasi Prometheusele, et tuua vÀlja andmed viimase kahe tunni jooksul.

Lisaks nendele komponentidele on veel valikuline komponent, ilma milleta Thanos ei tunne end hĂ€sti. See on Thanos Compact, mis tegeleb vĂ€ikeste failide kokkuviimisega Object Storage'is suuremateks failideks, mis on siia ĂŒles laaditud Thanos Sidecar'ide abil. Thanos Sidecar laadib sinna andmefailid, mis on kahe tunni jooksul genereeritud. Kui neid faile ei liideta kokku suuremateks failideks, vĂ”ib nende arv kasvama hakata vĂ€ga oluliselt. Mida rohkem selliseid faile, seda rohkem on vaja mĂ€lu Thanos Store Gateway jaoks, ja rohkem ressursse andmete edastamiseks vĂ”rgu kaudu, metandmete haldamiseks. Thanos Store Gateway töö muutub ebaefektiivseks. SeetĂ”ttu on ÀÀrmiselt oluline kĂ€ivitada Thanos Compact, mis liidab vĂ€iksed failid suuremateks, et vĂ€hendada selliste failide arvu ja vĂ€hendada Thanos Store Gateway koormust.

On olemas ka komponent Thanos Ruler. See tÀidab Prometheuse hÀire reegleid ja suudab arvutada Prometheuse salvestusreegleid, et jÀlle andmeid Object Storage'isse salvestada. Kuid seda komponenti ei soovitata kasutada, kuna see on kaldunud tagastama puudulikku teavet.

Siin on Thanos'e lihtne skeem.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VÔrreldes VictoriaMetrics'i skeemiga.

VictoriaMetrics'il on 2 versiooni: ĂŒhe sĂ”lme ja klastriversioon. Ühe sĂ”lme versioon töötab ĂŒhel arvutil. Ühe sĂ”lme versioonil ei ole neid komponente, vaid ainult ĂŒks binaarfail. See binaarfail nĂ€eb slaidil vĂ€lja nagu see ruut. KĂ”ik, mis ruudu sees asub, on ĂŒhe sĂ”lme versiooni binaarfaili sisu. Te ei pea sellest teadma. Lihtsalt kĂ€ivitate binaarfaili ja kĂ”ik töötab.

Klastriversioon on keerulisem. Selle sees on kolm erinevat komponenti: vmselect, vminsert ja vmstorage. Nende nimedest peaks olema aru, millega igaĂŒhe tegeleb. Insert komponent aktsepteerib andmeid erinevates formaatides: Prometheuse remote write API, Influx line protokoll, Graphite protokoll ja OpenTSDB protokoll. Insert komponent vĂ”tab need vastu, parsib ja jagab olemasolevatele salvestuskomponentidele, kus andmed salvestatakse. Select komponent, omakorda, aktsepteerib PromQL pĂ€ringud. See rakendab PromQL, samuti Prometheuse pĂ€ringute API-d, ja seda saab kasutada Prometheuse asendajana Grafanas vĂ”i muudes Prometheuse API klientides. Select aktsepteerib promql pĂ€ringu, parsib selle, loeb vajalikud andmed selle pĂ€ringu tĂ€itmiseks salvestusnode'idest, töötleb need andmed ja tagastab vastuse.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VÔrdleme Thanos'e ja VictoriaMetrics'e seadistamise keerukust.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Alustame Thanos'ega. Enne Thanos'ega töötamist tuleb luua bucket objektisalvestuses, nagu S3 vÔi GCS, et Thanos Sidecar saaks andmeid sinna salvestada.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

SeejĂ€rel tuleb iga Prometheuse jaoks paigaldada Thanos Sidecar. Enne seda ei tohi unustada vĂ€lja lĂŒlitada andmete tihendamist (data compaction) Prometheuses. Andmete tihendamine kokkutihedab andmeid Prometheuse kohalikus salvestuses, et vĂ€hendada ressursikasutust.

Kui installite Thanos Sidecari oma Prometheustele, peate selle andmete tihendamise vĂ€lja lĂŒlitama, kuna Thanos Sidecar ei suuda korralikult töötada, kui andmete tihendamine on lubatud. See tĂ€hendab, et teie Prometheus hakkab salvestama andmeid kahes tunni plokkides ja lĂ”petab nende plokkide jagamise suuremateks. SeetĂ”ttu, kui teete pĂ€ringuid, mis ĂŒletavad viimase kahe tunni kestuse, ei tööta need sama efektiivselt, vĂ”rreldes sellega, kuidas nad vĂ”iksid töötada, kui andmete tihendamine oleks sisse lĂŒlitatud.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

SeetĂ”ttu soovitab Thanos vĂ€hendada andmete sĂ€ilitamise aega kohalikus salvestuses 6-8 tunni tasemele, et vĂ€hendada paljude vĂ€ikeste plokkide ĂŒlekoormust.

PĂ€rast Thanos Sidecar'i installimist peate iga Object Storage Bucketi jaoks seadistama kaks komponenti: Thanos Compactor ja Thanos Store Gateway.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

SeejĂ€rel peate installima Thanos Query ja seadistama selle, et see oskaks ĂŒhenduda kĂ”igi Thanos Store Gateway'dega, mis teil on, ning samuti Thanos Sidecar'iga.

Siin vÔib olla vÀike probleem.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Te peate seadistama usaldusvÀÀrse ja turvalise ĂŒhenduse Thanos Query'st nende komponentidega. Ja kui teie Prometheus'ed asuvad erinevates andmeruumi keskustes vĂ”i erinevates VPC-des, on vĂ€lised ĂŒhendused neile keelatud. Kuid Thanos Query tööks peate leidma viisi, kuidas sinna ĂŒhendus luua.

Kui teil on palju selliseid andmeruumi keskusi, siis vĂ€heneb kogu sĂŒsteemi usaldusvÀÀrsus. Thanos Query peab pidevalt hoidma ĂŒhendust kĂ”igi erinevates andmeruumi keskustes asuvate Thanos Sidecar'idega. Iga sisenemise pĂ€ringu puhul suunab see pĂ€ringud kĂ”igile Thanos Sidecar'idele. Kui ĂŒhendus katkeb, saate kas ebaĂŒhtlase andmeseti vĂ”i vastuse 'klaster ei tööta'.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsis on asjad veidi lihtsamad. Single-node versiooniks piisab ĂŒhe binaari kĂ€ivitamisest ja kĂ”ik toimib.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Klastri versioonis piisab, kui kÀivitada kÔik eespool mainitud kolm komponenti mis tahes vajalikus koguses, vÔi kasutada helm chart komponentide kÀivitamise automatiseerimiseks Kubernetesis. Me plaanime teha ka Kubernetes operaatori. Helm chart ei kata mÔningaid juhtumeid ja vÔib pÔhjustada probleeme. NÀiteks vÔimaldab see vÀhendada storage node arvu, mis toob kaasa andmete kaotuse.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

PĂ€rast ĂŒhe binaari vĂ”i klastri versiooni kĂ€ivitamist piisab, kui lisada Prometheusesse remote write url, et alustada andmete salvestamist paralleelselt kohalikku storage'i ja kaugstorage'i. Nagu olete mĂ€rganud, peaks selline konfiguratsioon töötama oluliselt usaldusvÀÀrsemalt kui Thanos. Me ei pea hoidma ĂŒhendust VictoriaMetricsiga kĂ”igi Prometheustega, kuna Prometheused ĂŒhendavad ise VictoriaMetricsiga ja edastavad andmeid.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Vaatame Thanos ja VictoriaMetrics'i hooldust.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos peab jĂ€lgima Sidecar'i, et nad ei lĂ”petaks andmete laadimist Object Storage'i. Nad vĂ”ivad selle andmete laadimise lĂ”petada laadimisvigade tĂ”ttu, nĂ€iteks kui teie ĂŒhendus Object Storage'iga katkeb ajutiselt vĂ”i kui Object Storage on ajutiselt mitteaktiivne. Thanos Sidecar mĂ€rkab seda hetke, teatab veast, vĂ”ib kokku kukkuda ja seejĂ€rel lĂ”petada töötamise. Kui te ei jĂ€lgi seda, lĂ”petavad teie andmed edastamise Object Storage'i. Kui retention periood (soovitatavalt 6-8 tundi) möödub, kaotate andmed, mis ei jĂ”udnud Object Storage'i.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos'e kompaktorid vĂ”ivad lĂ”petada töötamise Sidecar'iga toimuvate 'vĂ”istluste' tĂ”ttu. Kompaktorid vĂ”tavad andmeid Object Storage'ist ja ĂŒhendavad need suuremateks andmepakettideks. Kuna kompaktorid ei ole sĂŒnkroonitud Sidecar'idega, vĂ”ib juhtuda jĂ€rgmist: Sidecar ei ole veel plokki tĂ€ielikult kirjutatud, Kompaktor otsustab, et see plokk on tĂ€ielikult kirjutatud. Kompaktor hakkab seda lugema. Ta loeb plokki mitte tĂ€ielikult ja lĂ”petab töötamise. Vaadake ĂŒksikasju. siin.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Store Gateway vĂ”ib edastada ebaĂŒhtlast teavet, kuna esineb vĂ”istlusi Compactor’i ja Sidecar’ide vahel. Siin on sama probleem, sest Store Gateway ei sĂŒnkroonitu Compactor’ite ja Sidecar’idega. Seega vĂ”ivad esineda vĂ”istlussituatsioonid, kus Store Gateway ei nĂ€e osa andmeid vĂ”i nĂ€eb liiga palju andmeid.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos’ Query komponent tagastab vaikimisi osalise tulemuse, kui mĂ”ned Sidecar’id vĂ”i Store Gateway ei ole praegu saadaval. Te saate osa andmeid, teadmata, et kĂ”iki andmeid ei ole saadud. Just nii see vaikimisi töötab. Sarnases olukorras VictoriaMetrics tagastab mĂ€rgistatud andmed osalistena.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Erinevalt Thanost, VictoriaMetrics kaotab harva andmeid. Isegi kui ĂŒhendus Prometheus’ega VictoriaMetrics’isse katkevad, siis ei ole probleem, kuna Prometheus jĂ€tkab uute andmete kirjutamist Write Ahead Log’isse, mille suurus on 2 tundi. Kui te taastate ĂŒhenduse VictoriaMetrics’iga kahe tunni jooksul, siis andmeid ei kaotata. Prometheus suudab andmeid pĂ€rast ĂŒhenduse taastamist VictoriaMetrics’iga jĂ€tkata..

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Erinevalt Thanost, mis salvestab andmeid objektisalvestusse alles kahe tunni pÀrast, replikeerib Prometheus andmeid automaatselt remote write protokolli kaudu remote salvestusse, nÀiteks VictoriaMetricsi. Sa ei pea kartma kohaliku salvestuse kaotust Prometheuses. Kui see peaks kaotama kohaliku salvestuse, kaotad sa halvemal juhul ainult viimased sekundid andmeid, mis ei jÔudnud remote salvestusse salvestuda.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Kubernetes haldab klastit automaatselt, erinevalt Thanost. KĂ”iki Thanose komponente on keeruline paigutada ĂŒhte Kubernetes klastrisse, erinevalt VictoriaMetricsi klastrikomponentidest.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsi uuendamine uuele versioonile on vĂ€ga lihtne. Lihtsalt peatad VictoriaMetricsi, uuendad binaarfailid ja kĂ€ivitad selle uuesti. SIGINT-signaali tĂ”mbamisel teevad kĂ”ik VictoriaMetricsi binaarfailid graatsilise vĂ€ljalĂŒlitamise. Nad salvestavad Ă”igesti vajalikud andmed ning sulgevad Ă”igesti sissetulevad ĂŒhendused, et mitte midagi kaotada. Seega ei kaota sa uuendamise ajal mitte midagi.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsi klastrite laiendamine on vÀga lihtne. Lihtsalt lisad vajalikud komponendid ja jÀtkad tööd.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanose ja VictoriaMetricsi potentsiaalsete probleemide kohta.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanosel on jÀrgmised nÔrkused. Prometheus peab hoidma andmeid viimase kahe tunni eest. Kui need kaovad, kaotate need tÀielikult, kuna need ei ole veel Object Storage'i, nÀiteks S3, salvestatud.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Store Gateway komponent ja kompaktsioon komponend vÔivad vajada palju mÀlu suure Object Storage'i haldamiseks, kui seal on palju vÀikeseid faile. Mida rohkem faile ja nende maht, seda rohkem vajab Store Gateway ja kompaktsioon mÀluruumi metaandmete hoidmiseks. Thanosel on palju probleeme seoses sellega, et Store Gateway ja kompaktsioon kukuvad keskmise salvestatud andmehulga korral..

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos reklaamib, et see suudab skaleeruda piiramatult teie Prometheuse arvu jĂ€rgi. Tegelikult ei ole see tĂ”si. Kuna kĂ”ik pĂ€ringud lĂ€hevad lĂ€bi Query komponendi, mis peab samaaegselt kĂŒsima kĂ”iki Store Gateway komponente ja kĂ”iki Sidecar komponente, et sealt andmeid saada ja seejĂ€rel neid eelprotsessida. On selge, et pĂ€ringute kiirus on piiratud kĂ”ige aeglasema nĂ”rgima lĂŒli, kĂ”ige aeglasema Store Gateway vĂ”i kĂ”ige aeglasema Sidecar'iga.

Need komponentid vĂ”ivad olla ebaĂŒhtlaselt koormatud. NĂ€iteks kui teil on Prometheus, mis kogub miljoneid mÔÔtmeid sekundis. Ja on Prometheus, kus kogutakse tuhandeid mÔÔtmeid sekundis. Prometheus, kus kogutakse miljoneid mÔÔtmeid sekundis, koormab serverit, millel ta töötab, palju rohkem. Seega töötab Sidecar seal aeglasemalt. Ja ĂŒldiselt kĂ”ik seal töötab aeglaselt. KĂŒsimuskomponent tĂ”mbab sealt andmeid vĂ€ga aeglaselt. Seega on kogu teie klastrite tootlikkus piiratud selle aeglase Sidecariga.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Vaikimisi annab Thanos osalised andmed, kui mĂ”ned Sidecar'id vĂ”i Store Gateway ei ole saadaval. NĂ€iteks kui teie Sidecar'id on laiali ĂŒle kogu maailma erinevates andmekeskustes, siis ĂŒhenduse katkemise ja komponentide mittesaadavuse tĂ”enĂ€osus suureneb. SeetĂ”ttu saate enamikul juhtudel osalisi andmeid, isegi mitte seda teades.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics-l on ka oma varjatud probleemid. Esimene probleem on seade, mis piirab VictoriaMetricsi kasutatava mÀlumahtu. Vaikimisi on see 60% seadme RAM-ist, kus VictoriaMetrics töötab, vÔi 60% VictoriaMetricsi RAM-ist Kubernetesis.

Vale vÀÀrtuse seadmine vĂ”ib VictoriaMetricsi jĂ”udlusele kahjulikult mĂ”juda. NĂ€iteks, kui seaded on liiga madalad, siis andmed ei pruugi VictoriaMetricsi vahemĂ€lu mahtuda. Sellisel juhul tuleb VictoriaMetricsil teha lisatööd, mis koormab protsessorit ja ketast. Kui seade on liiga suur, suureneb tĂ”enĂ€osus, et VictoriaMetrics kukub mĂ€lupuuduse tĂ”ttu kokku, ja see jĂ€tab operatsioonisĂŒsteemile vĂ€ga vĂ€he jĂ”udlust failide vahemĂ€lu jaoks. VictoriaMetrics toetub jĂ”udluse tagamiseks failide vahemĂ€lule. Kui seda pole piisavalt, vĂ”ib kettale koormus oluliselt suureneda. SeetĂ”ttu on soovitus: Ă€rge seadke parameetrit ilma hĂ€davajaduseta.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Teine valik. See on retentionPeriod — vaikimisi seade, mis on mÀÀratud 1 kuuks. See on aeg, mille jooksul VictoriaMetrics andmeid sĂ€ilitab. PĂ€rast seda perioodi VictoriaMetrics andmed kustutab.

Paljud kĂ€ivitavad VictoriaMetrics ilma selle parameetrita, salvestavad andmeid kuu jooksul. SeejĂ€rel kĂŒsivad nad: miks andmed kadusid eelmisel kuul? Sest retentionPeriod on vaikimisi mÀÀratud 1 kuuks. Seega tuleb teada ja seada Ă”ige retentionPeriod.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Vaatame ainulaadseid vÔimalusi.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanosel on selline funktsioon nagu downsampling: 5-minutilised ja tunnised intervallid, mis sageli töötavad vale. Kui otsida ja vaadata nende kĂŒsimusi githubis, siis seal on vĂ€ga palju kĂŒsimusi, mis on seotud selle downsamplinguga, et see mĂ”nikord ei tööta Ă”igesti vĂ”i ei toimi nii, nagu kasutajad ootavad.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanosel on andmete deduplikatsioon Prometheuse HA paaride jaoks. Kui kaks Prometheust koguvad samu mÔÔtmeid samadest sihtidest ja Thanos need objekti salvestusse kogub. Thanos oskab neid andmeid Ôigesti dedupliceerida, erinevalt VictoriaMetricsist.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanosel on alarmeerimise komponent, mis oli Thanosel skeemil. Kuid seda ei soovitata kasutada tootmises..

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanosel on eelis, et Thanosel ja Prometheusel on ĂŒhine kood. Thanos ja Prometheus on vĂ€lja töötanud samad arendajad. Kui Thanos vĂ”i Prometheus paraneb, vĂ”idab teine pool.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsi peamine omadus on MetricsQL. See on VictoriaMetricsi laiendus PromQL-ile, millest rÀÀkisin varasemal big monitoring meetupil.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics toetab andmete laadimist mitmesuguste protokollide kaudu. VictoriaMetrics mitte ainult ei saa andmeid Prometheuse kaudu, vaid ka protokollide kaudu Influx, OpenTSDB ja Graphite.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsi andmed vÔtavad tavaliselt palju vÀhem ruumi vÔrreldes Thanos ja Prometheusiga.

Kui salvestada reaalset andmeid, siis kasutajad rÀÀgivad 2-5 korda vÀiksemast andmete suurusest kettal vÔrreldes Prometheuse ja Thanosiga.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Veel ĂŒks VictoriaMetricsi eelis on see, et see on optimeeritud kiirusel.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

RÀÀgime infrastruktuuri kuludest.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Üks Thanos'e eeliseid on see, et see salvestab andmeid objekti salvestusse, mis on vĂ”rreldes teistega suhteliselt odav.

Andmete salvestamisel objektide salvestusse peate maksma andmete kirjutamise ja lugemise operatsioonide eest (10 dollarit miljoni operatsiooni kohta). Kui salvestate andmeid objektide salvestusse, katab teid teie hostingu kulu andmete internetti ĂŒleslaadimise eest, kui teie klaster ei ole AWS-is — seal on see tasuta. Andmete lugemisel maksate 10 kuni 230 dollarit 1 TB kohta. See vĂ”ib olla mĂ€rkimisvÀÀrne, kui pĂ€rite sageli ajaloolisi andmeid Thanos klastrist.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos klastri jaoks tuleb maksta serverite eest, mis on vajalikud Compact, Store Gateway, Query komponentide jaoks, mis nÔuavad suurt mÀlu ja CPU-d suurte andmemahtude jaoks.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsi kulud on jÀrgmised. Kui andmeid hoitakse GCE HDD-diskidel, siis maksab see 40 dollarit 1 TB eest. VictoriaMetricsile piisavad tavalised HDD-diskid, SSD-diskid, mis maksavad viis korda rohkem, pole vajalikud. VictoriaMetrics on optimeeritud HDD jaoks.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetricsile on vajalikud serverid komponentide jaoks: kas ĂŒksiklĂŒhendid vĂ”i klastrikomponendid, mis nĂ”uavad palju vĂ€hem CPU-d ja RAM-i kui Thanos komponendid, seega on see odavam.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Rakenduse nÀidised.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Thanos'e rakenduse nÀide on Gitlab. Gitlab töötab tÀielikult Thanos'e peal. Kuid seal ei ole kÔik nii sujuv. Kui vaadata nende issues, siis on nÀha, et neil on pidevalt mingeid operatiivprobleeme Thanos'ega: puudu on mÀlu Store Gateway vÔi Query komponentide jaoks. Neil tuleb pidevalt suurendada mÀlu mahtu.

SeetÔttu kasvavad kulud nende probleemide lahendamiseks.

Teine implementatsioon, mis vÔiks olla edukam, on ettevÔte Improbable, kes alustas Thanos'e arendamist. Nad avaldasid Thanos'e allika koodi. Improbable on ettevÔte, mis tegeleb mÀngumootorite arendamisega.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

VictoriaMetrics'il on avalikud rakenduse nÀidised:

  • wix.com veebilehe koostaja
  • Adidas rakendab VictoriaMetrics'i ja pidas isegi ettekande viimases PromCon 2019.
  • TrafficStars — reklaamivĂ”rgustik
  • Seznam.cz — populaarne TĆĄehhi otsingumootor.

JĂ€rgmiseks olid anonĂŒĂŒmsed ettevĂ”tted, keda ma praegu nimetada ei saa. Nad ei andnud nĂ”usolekut.

  • Üks suur mĂ€ngude arendaja. Suurem kui Improbable.
  • Suur graafika tarkvara arendaja.
  • Suur Venemaa pank.
  • Euroopa tuulegeneraatoreid tootav ettevĂ”te, mis on edukalt testinud VictoriaMetricsi. See tootja rakendab VictoriaMetricsi tuulegeneraatoreid jĂ€lgivate andmete jĂ€lgimiseks, kus igal sensoril on 50 proovivĂ”tu sekundi kiirus. Igas tuulegeneraatoris on sadade kaupa sensoreid. Neil on mitusada tuulegeneraatorit.
  • Venemaa lennufirmad, kes soovivad VictoriaMetricsi rakendada, kuid ei suuda seda veel teha. Me oleme nendega lepingueelsel etapil.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetricsJĂ€reldused.

VictoriaMetrics ja Thanos lahendavad sarnaseid probleeme, kuid erinevatel viisidel:

  • Globaalne pĂ€ringute vaade
  • horisontaalne skaleerimine
  • mugav retention

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

AitÀh.

Ootame teid meie telegrami kanalisse.

Valime andmesalvestust Prometheus'e jaoks: Thanos vs VictoriaMetrics

Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. Logige sisse, palun.

Mida te kasutate pikaajalise salvestuse jaoks Prometheuse jaoks?

  • 35,3%Thanos6

  • 0,0%Cortex0

  • 0,0%M3DB0

  • 41,2%VictoriaMetrics7

  • 23,5%muu4

HÀÀletas 17 kasutajat. 16 kasutajat ei osalenud.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster