Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Ahojte všetci. Nižšie je uvedený prepis správa z Big Monitoring Meetup 4.

Prometheus – monitorovací systém pre rôzne systémy a služby, pomocou ktorého môžu správcovia systémov zbierať informácie o aktuálnych parametroch systémov a nastavovať upozornenia na prijímanie upozornení na odchýlky v prevádzke systémov.

Správa bude obsahovať porovnanie Thanos и VictoriaMetrics — projekty na dlhodobé uchovávanie metrík Prometheus.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Prehrať video

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Najprv vám poviem o Prometheovi. Toto je monitorovací systém, ktorý zhromažďuje metriky zo špecifikovaných cieľov a ukladá ich do lokálneho úložiska. Prometheus môže zaznamenávať metriky do vzdialeného úložiska a môže generovať upozornenia a pravidlá zaznamenávania.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Obmedzenia Prometheus:

  • Nemá globálne zobrazenie dopytov. Toto je, keď máte viacero nezávislých inštancií prometheus. Zhromažďujú metriky. A chcete sa pýtať na všetky tieto metriky zhromaždené z rôznych inštancií prometheus. Prometheus to nedovolí.
  • S prometheus je výkon obmedzený iba na jeden server. Prometheus sa automaticky neškáluje na viacerých serveroch. Svoje ciele môžete rozdeliť medzi viacero Prometheusov iba manuálne.
  • Rozsah metrík v Prometheus je obmedzený len na jeden server z rovnakého dôvodu, že sa nemôže automaticky škálovať na viacerých serveroch.
  • Organizovať bezpečnosť údajov v Prometheus nie je také jednoduché.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Riešenia týchto problémov/výziev?

Riešenia sú:

Všetky tieto riešenia slúžia na vzdialené ukladanie údajov zhromaždených spoločnosťou Prometheus. Problém vzdialeného úložiska z predchádzajúcej snímky riešia rôznymi spôsobmi. V tejto prezentácii budem hovoriť len o prvých dvoch riešeniach: Thanos и VictoriaMetrics.

Prvýkrát informácie o Thanos objavil tento odkaz. Je tam popísaná architektúra Thanos a ako to funguje.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos vezme dáta, ktoré Prometheus uložil na lokálny disk a skopíruje ich do S3 GCS alebo do iného úložiska predmetov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos teda poskytuje globálny pohľad na dopyt. Údaje uložené v objektovom úložisku môžete dotazovať z viacerých inštancií Prometheus.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos podporuje PromQL a Prometheus dotazovacie API.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos používa kód Prometheus na ukladanie údajov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos je vyvinutý rovnakými vývojármi ako Prometheus.

o VictoriaMetrics. Tu odkaz, kde sme prvýkrát hovorili VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics prijíma údaje od niekoľkých prometheus API pre vzdialený zápis protokol podporovaný spoločnosťou Prometheus.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics poskytuje globálne zobrazenie dotazov, pretože viaceré inštancie Prometheus môžu zapisovať údaje do jedného VictoriaMetrics. V súlade s tým môžete klásť otázky na všetky tieto údaje.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics tiež podporuje, ako Thanos, PromQL a Prometheus dotazovacie API.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Na rozdiel od Thanosa je zdrojový kód VictoriaMetrics napísaný od začiatku a je optimalizovaný na rýchlosť a spotrebu zdrojov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics, na rozdiel od Thanosa, škáluje vertikálne aj horizontálne. Jedzte Verzia s jedným uzlom, ktorá sa mení vertikálne. Môžete začať s jedným procesorom a 1 GB pamäte a postupne rásť na stovky procesorov a 1 TB pamäte. VictoriaMetrics môže použiť všetky tieto zdroje. Jeho výkon sa v porovnaní s 100-jadrovým systémom zvýši približne 1-krát.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

História Thanosa začala v novembri 2017, keď sa objavil prvý verejný záväzok. Predtým bol Thanos vyvinutý interne nepravdepodobný.io.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V júni 2019 bolo prelomové vydanie 0.5.0, v ktorom odstránený klebety protokol. Z Thanosa ho odstránili, pretože nepodával dobrý výkon. Klaster Thanos často nefungoval správne, uzly sa k nemu nesprávne pripájali kvôli protokolu ohovárania. Preto sme sa rozhodli ho odtiaľ odstrániť. Myslím, že toto je správne rozhodnutie.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V tom istom júni 2019 zaslali číslo žiadosti 256 в Cloud Native Computing Foundation.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

A po niekoľkých mesiacoch bol Thanos prijatý Cloud Native Computing Foundation, ktorá zahŕňa Prometheus, Kubernetes a ďalšie populárne projekty.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V januári 2018 sa začal vývoj VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V septembri 2018 som prvýkrát verejne spomenul VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V decembri 2018 bola zverejnená verzia s jedným uzlom.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V máji 2019 boli zverejnené zdrojov verzií s jedným uzlom aj s klastrom.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V júni 2019 sme rovnako ako Thanos podali žiadosť do nadácie CNCF pod číslom 255. Podali sme žiadosť jeden deň predtým, ako Thanos podal žiadosť.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Ale, žiaľ, stále nás tam neprijali. Potrebná pomoc komunity.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Pozrime sa na najdôležitejšie snímky zobrazujúce architektúru Thanos a VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Začnime Thanosom. Žlté komponenty sú komponenty Prometheus. Všetko ostatné sú komponenty Thanos. Začnime najdôležitejšou zložkou. Thanos Sidecar je komponent, ktorý sa inštaluje vedľa každého Prometheus. Načítava dáta Prometheus z lokálneho úložiska do S3 alebo iného Object Storage.

Existuje aj komponent s názvom Thanos Store Gateway, ktorý dokáže čítať tieto údaje z Object Storage na základe prichádzajúcich požiadaviek z Thanos Query. Thanos Query implementuje PromQL a Prometheus API. To znamená, že zvonku to vyzerá ako Prometheus. Prijíma PromQL dotazy, posiela ich do Thanos Store Gateway, Thanos Store Gateway získava potrebné dáta z Object Storage a posiela ich späť.

Údaje však ukladáme do Object Storage bez posledných dvoch hodín kvôli funkcii implementácie Thanos Sidecar, ktorá nemôže nahrať posledné dve hodiny do Object Storage S3, pretože Prometheus ešte nevytvoril súbory na tieto dve hodiny v lokálnom úložisku.

Ako ste sa rozhodli toto obísť? Thanos Query, okrem požiadaviek na bránu Thanos Store, posiela paralelné požiadavky do každého Thanos Sidecar, ktorý sa nachádza vedľa Prometheus.

A Thanos Sidecar na oplátku posiela proxy požiadavky ďalej do Prometheus a získava údaje za posledné dve hodiny.

Okrem týchto komponentov existuje aj voliteľný komponent, bez ktorého Thanos nebude fungovať dobre. Toto je Thanos Compact, ktorý je zodpovedný za zlúčenie malých súborov na Object Storage do väčších súborov, ktoré sem nahral Thanos Sidecars. Thanos Sidecar tam nahrá dátové súbory za dve hodiny. Tieto súbory, ak nie sú zlúčené do väčších súborov, tak ich počet môže veľmi výrazne narásť. Čím viac takýchto súborov, tým viac pamäte potrebuje Thanos Store Gateway, tým viac zdrojov je potrebných na prenos dát cez sieť a metadát. Thanos Store Gateway sa stáva neúčinným. Preto je potrebné spustiť Thanos Compact, ktorý spája malé súbory do väčších, aby takých súborov bolo menej a aby sa znížila réžia na Thanos Store Gateway.

Existuje aj taká zložka ako Thanos Ruler. Vykonáva pravidlá upozorňovania Prometheus a môže vyhodnotiť pravidlá nahrávania Prometheus, aby sa dáta zapisovali späť do Object Storage. Tento komponent sa však neodporúča používať, pretože... On má tendenciu vracať neúplné údaje.

Toto je jednoduchá schéma Thanosa.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Teraz to porovnajme so schémou VictoriaMetrics.

VictoriaMetrics má 2 verzie: Jednouzlovú a klastrovú verziu. Jeden uzol beží na jednom počítači. Single-node nemá tieto komponenty, len jeden binárny. Táto dvojhviezda na snímke vyzerá ako tento štvorec. Všetko, čo je vo vnútri štvorca, je obsahom binárneho súboru pre verziu s jedným uzlom. Nemusíte o ňom vedieť. Stačí spustiť binárny súbor a všetko pre nás funguje.

Klastrová verzia je zložitejšia. Vo vnútri sú tri rôzne komponenty: vmselect, vminsert a vmstorage. Z ich názvu by malo byť jasné, čo každý z nich robí. Komponent Insert akceptuje údaje v rôznych formátoch: z API vzdialeného zápisu Prometheus, protokolu linky Influx, protokolu Graphite a protokolu OpenTSDB. Komponent Insert ich akceptuje, analyzuje a distribuuje medzi existujúce komponenty úložiska, kde sú už dáta uložené. Komponent Select zasa akceptuje dotazy PromQL. Realizuje PromQL, ako aj Prometheus dotazovacie API a možno ho použiť ako náhradu za Prometheus v Grafane alebo iných klientov Prometheus API. Select prijme požiadavku promql, analyzuje ju, načíta potrebné údaje na vykonanie tejto požiadavky z úložných uzlov, spracuje tieto údaje a vráti odpoveď.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Porovnajme zložitosť inštalácie Thanos a VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Začnime Thanosom. Predtým, ako začnete pracovať s Thanosom, musíte vytvoriť vedro v Object Storage, ako je S3 alebo GCS, aby doň Thanos Sidecar mohol zapisovať dáta.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Potom pre každý Prometheus musíte nainštalovať Thanos Sidecar. Predtým si musíte pamätať, že ste v Prometheus zakázali komprimáciu údajov. Zhutňovanie údajov pravidelne komprimuje údaje v miestnom úložisku Prometheus, aby sa znížila spotreba zdrojov.

Keď si na svoj Prometheus nainštalujete Thanos Sidecar, musíte deaktivovať toto komprimovanie údajov, pretože Thanos Sidecar nefunguje správne so zapnutým komprimovaním údajov. To znamená, že váš Prometheus začne ukladať dáta v dvojhodinových blokoch a prestane tieto bloky spájať do väčších. Ak teda zadávate dopyty, ktoré presahujú trvanie posledných dvoch hodín, nebudú fungovať tak efektívne, ako by mohli fungovať, keby bolo povolené zhutňovanie údajov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos preto odporúča skrátiť čas uchovávania údajov v lokálnom úložisku na 6-8 hodín, aby sa znížila réžia veľkého počtu malých blokov.

Po nainštalovaní Thanos Sidecar musíte nainštalovať dva komponenty pre každý objekt úložiska. Ide o Thanos Compactor a Thanos Store Gateway.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Potom musíte nainštalovať Thanos Query a nakonfigurovať ho tak, aby sa mohol pripojiť ku všetkým bránam Thanos Store, ktoré máte, a tiež sa môže pripojiť ku všetkým Thanos Sidecars.

Tu môže nastať menší problém.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Musíte nakonfigurovať spoľahlivé a bezpečné pripojenie z Thanos Query k týmto komponentom. A ak sa váš Prometheus nachádza v rôznych dátových centrách alebo v rôznych VPC, pripojenie k nim zvonku je zakázané. Ale aby Thanos Query fungoval, musíte tam nejako nakonfigurovať pripojenie a musíte nájsť spôsob.

Ak máte veľa takýchto dátových centier, potom sa spoľahlivosť celého systému znižuje. Keďže Thanos Query musí neustále udržiavať pripojenie ku všetkým Thanos Sidecars umiestneným v rôznych dátových centrách. Pre každú prichádzajúcu požiadavku bude smerovať požiadavky na všetky Thanos Sidecars. Ak sa pripojenie preruší, dostanete buď neúplnú sadu údajov, alebo dostanete odpoveď „klaster je vypnutý“.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Vo VictoriaMetrics je všetko o niečo jednoduchšie. Pre verziu Single-node stačí spustiť jeden binárny súbor a všetko funguje.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V klastrovej verzii stačí spustiť všetky vyššie uvedené tri typy komponentov v akomkoľvek množstve, ktoré potrebujete, prípadne používate graf kormidla na automatizáciu spúšťania komponentov v Kubernetes. Tiež plánujeme urobiť operátora Kubernetes. Tabuľka Helm nepokrýva niektoré prípady a umožňuje vám strieľať si do nohy. Umožňuje vám napríklad znížiť počet úložných uzlov, čo povedie k strate údajov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Po spustení jednej binárnej alebo klastrovanej verzie stačí pridať Prometheus do konfigurácie nastavenie pre vzdialený zápis adresy URLaby začal zapisovať dáta paralelne do lokálneho úložiska a vzdialeného úložiska. Ako vidíte, táto konfigurácia by mala fungovať oveľa spoľahlivejšie v porovnaní s konfiguráciou Thanos. Nepotrebujeme udržiavať spojenie z VictoriaMetrics so všetkými Prometheus, pretože samotné Prometheus sa pripájajú k VictoriaMetrics a prenášajú údaje.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Uvažujme o podpore Thanos a VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos potrebuje monitorovať Sidecar, aby sa uistil, že neprestanú načítavať dáta do Object Storage. Môžu zastaviť sťahovanie údajov z dôvodu chýb pri sťahovaní, napríklad je dočasne prerušené sieťové pripojenie k Úložisku objektov alebo Úložisko objektov je dočasne nedostupné. Thanos Sidecar si to v tejto chvíli všimne, nahlási chybu, môže sa zrútiť a potom prestane fungovať. Ak to nebudete monitorovať, prestanete prenášať údaje do Object Storage. Ak uplynie čas uchovávania (odporúča sa 6-8 hodín), prídete o dáta, ktoré neskončili v Object Storage.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Kompaktory Thanos môžu prestať fungovať kvôli preteky so Sidecarom. Zhutňovače berú dáta z Object Storage a spájajú ich do väčších kusov dát. Keďže kompaktory nie sú synchronizované s postrannými vozíkmi, môže sa stať toto: postranný vozík ešte nestihol dokončiť blok, kompaktor sa rozhodne, že tento blok bol úplne zapísaný. Compactor ho začne čítať. Neprečíta celý blok a prestane fungovať. Pozri detaily tu.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Store Gateway môže vrátiť nekonzistentné údaje kvôli pretekom medzi Compactor a Sidecars. Tu je to to isté, pretože brána obchodu nie je žiadnym spôsobom synchronizovaná s kompaktormi a postrannými vozíkmi. V súlade s tým môžu nastať rasové podmienky, keď brána obchodu nevidí časť údajov alebo vidí nepotrebné údaje.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Komponent Query v Thanos predvolene vracia čiastočný výsledok, ak niektoré postranné vozíky alebo brány obchodu nie sú momentálne dostupné. Dostanete časť údajov a ani nebudete vedieť, že ste nedostali všetky údaje. Takto to funguje štandardne. V podobnej situácii VictoriaMetrics vráti označené údaje ako čiastočné.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Na rozdiel od Thanosa, VictoriaMetrics zriedka stratí dáta. Aj keď sa spojenie z Prometheus do VictoriaMetrics preruší, nie je to problém, pretože Prometheus naďalej zaznamenáva prichádzajúce nové údaje do protokolu Write Ahead Log, ktorého veľkosť je 2 hodiny. Ak obnovíte pripojenie k VictoriaMetrics do dvoch hodín, vaše údaje sa nestratia. Prometheus môže pridávať údaje po obnovení pripojenia k VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Na rozdiel od Thanosa, ktorý zapisuje údaje do úložiska objektov až po dvoch hodinách, Prometheus automaticky replikuje údaje pomocou protokolu vzdialeného zápisu do vzdialeného úložiska, ako je napríklad VictoriaMetrics. Nebojíte sa straty lokálneho úložiska v Prometheus. Ak náhle stratil miestne úložisko, v najhoršom prípade prídete o posledné sekundy údajov, ktoré sa nestihli zaznamenať do vzdialeného úložiska.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Kubernetes automaticky spravuje klaster, na rozdiel od Thanosa. Je ťažké umiestniť všetky komponenty Thanos do jedného klastra Kubernetes, na rozdiel od komponentov klastra VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics má veľmi jednoduchú aktualizáciu na novú verziu. Stačí zastaviť VictoriaMetrics, aktualizovať binárne súbory a spustiť ho. Po zastavení prostredníctvom signálu SIGINT sa všetky binárne súbory VictoriaMetrics vykonajú elegantné vypnutie. Správne ukladajú potrebné údaje, správne uzatvárajú prichádzajúce spojenia, aby nič nestratili. Pri inovácii teda nič nestratíte.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics veľmi uľahčuje rozšírenie klastra. Stačí pridať potrebné komponenty a pokračovať v práci.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

O nástrahách v Thanos a VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má nasledujúce úskalia. Prometheus musí uchovávať údaje za posledné dve hodiny. Ak sa stratia, stratíte ich úplne, pretože ešte neboli zapísané do Object Storage ako S3.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Komponent Store Gateway a komponent zhutňovača môžu vyžadovať veľa pamäte na prácu s veľkým úložiskom objektov, ak je tam uložených veľa malých súborov. Čím väčší je počet a veľkosť súborov, tým viac pamäte RAM Store Gateway a zhutňovača je potrebných na ukladanie metainformácií. Thanos má s tým veľa problémov Zlyhanie Store Gateway a kompaktora s priemernými objemami zaznamenaných dát.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos je inzerovaný, aby sa neobmedzene škáloval s množstvom Promethea, ktoré máte. V skutočnosti to nie je pravda. Keďže všetky požiadavky prechádzajú cez komponent Query, ktorý musí súčasne vyzvať všetky komponenty Store Gateway a všetky komponenty Sidecar, odtiaľ stiahnuť údaje a potom ich predspracovať. Je zrejmé, že rýchlosť požiadavky je obmedzená najpomalším slabým článkom, najpomalšou bránou obchodu alebo najpomalším Sidecar.

Tieto komponenty môžu byť nerovnomerne zaťažené. Napríklad máte Prometheus, ktorý zhromažďuje milióny metrík za sekundu. A je tu Prometheus, ktorý zbiera tisíce metrík za sekundu. Prometheus, ktorý zhromažďuje milióny metrík za sekundu, kladie oveľa vyššiu záťaž na server, na ktorom beží. Preto tam Sidecar funguje pomalšie. A vo všeobecnosti tam všetko funguje pomaly. A komponent Query odtiaľ bude ťahať dáta veľmi pomaly. Výkon celého vášho klastra bude teda týmto pomalým postranným vozíkom obmedzený.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

V predvolenom nastavení Thanos poskytuje čiastočné údaje, ak nie sú k dispozícii niektoré postranné vozíky a buď brána obchodu. Ak sú napríklad vaše postranné vozíky roztrúsené po celom svete v rôznych dátových centrách, pravdepodobnosť zlyhania pripojenia a nedostupnosti komponentov sa výrazne zvýši. Preto vo väčšine prípadov dostanete čiastočné údaje bez toho, aby ste o tom vedeli.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics má aj úskalia. Prvým úskalím je možnosť, ktorá obmedzuje množstvo pamäte RAM používanej pre vyrovnávaciu pamäť VictoriaMetrics. V predvolenom nastavení sa rovná 60 % pamäte RAM v počítači, na ktorom beží VictoriaMetrics, alebo 60 % pamäte RAM podu VictoriaMetrics v Kubernetes.

Ak túto hodnotu zmeníte nesprávne, môžete zničiť výkon VictoriaMetrics. Ak napríklad nastavíte príliš nízku hodnotu, údaje sa už nemusia zmestiť do vyrovnávacej pamäte VictoriaMetrics. Kvôli tomu bude musieť urobiť prácu navyše a zaťažiť procesor a disk. Ak urobíte túto možnosť príliš veľkou, po prvé, zvýši sa pravdepodobnosť, že VictoriaMetrics zlyhá s chybou nedostatku pamäte, a po druhé, povedie to k tomu, že v pamäti operačného systému zostane len veľmi málo pamäte RAM. vyrovnávacia pamäť súborov. A VictoriaMetrics sa pri výkone spolieha na vyrovnávaciu pamäť súborov. Ak to nestačí, zaťaženie disku sa môže výrazne zvýšiť. Preto rada: nemeňte parameter, pokiaľ to nie je absolútne nevyhnutné.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Druhá možnosť. Toto je retenciaPeriod – obdobie, ktoré je štandardne nastavené na 1 mesiac. Toto je doba, počas ktorej VictoriaMetrics ukladá údaje. Po uplynutí tejto doby VictoriaMetrics údaje vymaže.

Mnoho ľudí spúšťa VictoriaMetrics bez tohto parametra a zaznamenáva údaje za mesiac. A potom sa pýtajú: prečo zmizli údaje za predchádzajúci mesiac? Pretože predvolená doba uchovávania je 1 mesiac. Preto musíte poznať a nastaviť správnu dobu uchovávania.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Poďme sa pozrieť na jedinečné vlastnosti.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má funkciu nazývanú downsampling: 5-minútové a hodinové intervaly, ktoré často nefunguje správne. Ak google a pozriete sa na ich problém na github, existuje veľa problémov súvisiacich s týmto prevzorkovaním, že niekedy nefunguje správne alebo nefunguje tak, ako používatelia očakávajú.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má deduplikáciu údajov pre páry Prometheus HA. Keď dvaja Prometheus zbierajú rovnaké metriky z rovnakých cieľov a Thanos ich ukladá do Object Storage. Thanos dokáže tieto údaje správne deduplikovať, na rozdiel od VictoriaMetrics.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má výstražný komponent, ktorý bol v schéme Thanosa. Ale on neodporúča sa používať vo výrobe.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má tú výhodu, že Thanos a Prometheus zdieľajú rovnaký kód. Thanos a Prometheus vyvíjajú tí istí vývojári. S vylepšeniami Thanosa alebo Promethea vyhráva druhá strana.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Hlavnou funkciou VictoriaMetrics je MetricsQL. Toto sú rozšírenia VictoriaMetrics pre PromQL, o ktorých som hovoril na predchádzajúcom veľkom monitorovacom stretnutí.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics podporuje načítanie údajov pomocou mnohých rôznych protokolov. VictoriaMetrics dokáže prijímať dáta nielen z Prometheus, ale aj cez protokoly Influx, OpenTSDB a Graphite.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Údaje VictoriaMetrics zaberajú oveľa menej miesta v porovnaní s Thanos a Prometheus.

Ak zaznamenávate reálne dáta, používatelia hovoria o 2-5-násobnom zmenšení veľkosti dát na disku v porovnaní s Prometheusom a Thanosom.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Ďalšou výhodou VictoriaMetrics je, že je optimalizovaný na rýchlosť.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Pozrime sa na náklady na infraštruktúru.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Jednou z výhod Thanosu je, že dáta ukladá do objektového úložiska, čo je relatívne lacné.

Pri ukladaní údajov do objektového úložiska musíte zaplatiť za operácie zápisu a čítania údajov (10 USD za milión operácií). Keď zapisujete dáta do objektového úložiska, platíte svoje hostingové náklady za nahrávanie dát na internet, ak váš klaster nie je v AWS, je tam zadarmo. Pri čítaní dát zaplatíte 10 až 230 USD za 1 TB. To môže byť dôležité, ak často vyhľadávate historické údaje z klastra Thanos.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Pre klaster Thanos musíte platiť za servery za kompaktné, Store Gateway, komponenty Query, ktoré vyžadujú veľa pamäte, a CPU pre veľké množstvo údajov.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics má nasledujúce výdavky. Ak dáta ukladáte na GCE HDD disky, potom to vyjde na 40 dolárov za 1 TB. Pre VictoriaMetrics stačia obyčajné HDD disky, nie sú potrebné SSD, ktoré stoja päťkrát viac. VictoriaMetrics je optimalizovaný pre HDD.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics vyžaduje servery pre komponenty: buď komponenty s jedným uzlom alebo klastrované komponenty, ktoré na rozdiel od komponentov Thanos vyžadujú oveľa menej CPU a RAM – a budú teda lacnejšie.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Príklady implementácie.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Thanos má príklad implementácie v Gitlabe. Gitlab beží výhradne na Thanosovi. Ale nie všetko je tam také hladké. Ak sa na ne pozriete otázky, potom môžete vidieť, že neustále nejaké majú prevádzkové problémy s Thanosom: Nie je dostatok pamäte pre komponenty Store Gateway alebo Query. Neustále musia zvyšovať množstvo pamäte.

Z tohto dôvodu sa zvyšujú náklady na riešenie týchto problémov.

Druhou implementáciou, ktorá môže byť úspešnejšia, je spoločnosť Improbable, ktorá začala vyvíjať Thanos. Zverejnili zdrojový kód Thanosa. Improbable je spoločnosť, ktorá vyvíja herné enginy.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics má verejné príklady implementácie:

  • tvorca webových stránok wix.com
  • Adidas implementuje VictoriaMetrics a dokonca urobil prezentáciu na poslednom PromCon 2019
  • TrafficStars – reklamná sieť
  • Seznam.cz je populárny český vyhľadávač.

A potom tu boli no-name spoločnosti, ktoré teraz neviem pomenovať. Nesúhlasili.

  • Jeden významný vývojár hier. Väčšie ako im Nepravdepodobné.
  • Hlavný vývojár grafického softvéru.
  • Veľká ruská banka.
  • Európsky výrobca veterných turbín, ktorý úspešne otestoval VictoriaMetrics. Tento výrobca implementuje VictoriaMetrics na monitorovanie údajov zozbieraných z veterných turbín rýchlosťou 50 vzoriek za sekundu na senzor. Každá veterná turbína má niekoľko stoviek senzorov. Majú niekoľko stoviek veterných turbín.
  • Ruské letecké spoločnosti, ktoré chcú zaviesť VictoriaMetrics, ale stále nemôžu. Sme s nimi v štádiu zmluvy.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetricsZávery.

VictoriaMetrics a Thanos riešia podobné problémy, ale rôznymi spôsobmi:

  • Globálne zobrazenie dopytu
  • horizontálne škálovanie
  • svojvoľné ponechanie

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Ďakujem.

Čakáme Vás u nás telegramový kanál.

Výber dátového úložiska pre Prometheus: Thanos vs VictoriaMetrics

Do prieskumu sa môžu zapojiť iba registrovaní užívatelia. Prihlásiť saProsím.

Čo používate ako dlhodobé úložisko pre Prometheus?

  • 35,3%Thanos6

  • 0,0%Cortex0

  • 0,0%M3DB0

  • 41,2%VictoriaMetrics7

  • 23,5%iné4

Hlasovalo 17 užívateľov. 16 užívateľov sa zdržalo hlasovania.

Zdroj: hab.com

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster