Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Kaixo guztioi. Jarraian transkripzioa dago Big Monitoring Meetup-en txostena.

Prometeo – hainbat sistema eta zerbitzuren jarraipen-sistema, zeinaren laguntzaz sistema-administratzaileek sistemen egungo parametroei buruzko informazioa bil dezaketen eta alertak konfigura ditzakete sistemen funtzionamenduaren desbideratzeei buruzko jakinarazpenak jasotzeko.

Txostenak konparaketa bat jasoko du Thanos и VictoriaMetrics — Prometheus-en metrikak epe luzerako biltegiratzeko proiektuak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

bideoa

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Lehenik eta behin, Prometeoren berri emango dizut. Hau kontrol-sistema bat da, zehaztutako helburuetatik neurketak biltzen dituena eta tokiko biltegiratzean gordetzen dituena. Prometheus-ek neurketak graba ditzake urruneko biltegian eta alertak eta grabazio-arauak sor ditzake.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Prometheus mugak:

  • Ez du kontsulta-ikuspegi globalik. Hau da prometheus-en instantzia independente anitz dituzunean. Neurriak biltzen dituzte. Eta prometheus instantzia desberdinetatik bildutako metrika horien guztien gainean kontsultatu nahi duzu. Prometheusek ez du hau onartzen.
  • Prometheus-ekin, errendimendua zerbitzari bakarrera mugatzen da. Prometheus ez da automatikoki eskalatzen hainbat zerbitzarietan. Eskuz bakarrik zati ditzakezu zure helburuak Prometheus anitzen artean.
  • Prometheus-en neurketen esparrua zerbitzari bakarrera mugatzen da, arrazoi beragatik ezin baita automatikoki zerbitzari anitzetan eskalatu.
  • Ez da hain erraza Prometheus-en datuen segurtasuna antolatzea.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Arazo/erronka hauen irtenbideak?

Irtenbideak hauek dira:

Soluzio hauek guztiak Prometheus-ek bildutako datuak urrutiko biltegiratzeko dira. Aurreko diapositibako urruneko biltegiratze-arazoa modu ezberdinetan konpontzen dute. Aurkezpen honetan lehenengo bi irtenbideei buruz bakarrik hitz egingo dut: Thanos и VictoriaMetrics.

Lehenengo aldiz buruzko informazioa Thanos agertu zen lotura hau. Arkitektura deskribatzen da bertan Thanos eta nola funtzionatzen duen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek Prometheusek tokiko diskoan gordetako datuak hartzen ditu eta S3-ra kopiatzen ditu GCS edo beste objektuen biltegiratze batera.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Beraz, Thanos-ek kontsulta-ikuspegi globala eskaintzen du. Objektuen biltegian gordetako datuak Prometheus-en hainbat instantzitatik kontsulta ditzakezu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek PromQL eta Prometheus APIa kontsultatzen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek Prometheus kodea erabiltzen du datuak gordetzeko.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos Prometheus-en garatzaile berberek garatu dute.

Про VictoriaMetrics. hemen link, non lehen aldiz hitz egin genuen VictoriaMetrics.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek hainbat prometheusren datuak jasotzen ditu urruneko idazketa APIa Prometheus-ek onartzen duen protokoloa.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek kontsulta-ikuspegi globala eskaintzen du, Prometheus-en hainbat instantzi VictoriaMetrics batean datuak idatz ditzaketelako. Horren arabera, datu guzti horiei buruzko kontsultak egin ditzakezu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek, hala nola, Thanos, PromQL eta Prometheus-en kontsulta APIa onartzen du.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos ez bezala, VictoriaMetrics iturburu-kodea hutsetik idatzita dago eta abiadura eta baliabideen kontsumorako optimizatuta dago.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics, Thanos ez bezala, bertikalean zein horizontalean eskalatzen da. Jan Nodo bakarreko bertsioa, bertikalean eskalatzen dena. Prozesadore batekin eta 1 GB memoriarekin has zaitezke eta pixkanaka ehunka prozesadore eta 1 TB memoriarekin hazten joan zaitezke. VictoriaMetrics baliabide horiek guztiak erabil ditzake. Bere errendimendua 100 aldiz handituko da 1-nukleoko sistema batekin alderatuta.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosen historia 2017ko azaroan hasi zen, lehen konpromiso publikoa agertu zenean. Horren aurretik, Thanos barnean garatu zen litekeena.io.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2019ko ekainean 0.5.0 bertsio mugarri bat egon zen, eta bertan kenduta esamesak protokoloa. Thanosetik kendu zuten, ez zuelako ondo aritu. Askotan Thanos klusterrak ez zuen behar bezala funtzionatu, esamesak protokoloaren ondorioz gaizki konektatzen ziren nodoak. Horregatik, handik kentzea erabaki genuen. Uste dut hau erabaki zuzena dela.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2019ko ekainean bertan eskaera zenbakia bidali zuten 256 в Cloud Native Computing Fundazioa.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Eta hilabete pare bat igaro ondoren Thanos onartu zuten Cloud Native Computing Fundazioa, Prometheus, Kubernetes eta beste proiektu ezagun batzuk biltzen dituena.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2018ko urtarrilean, VictoriaMetrics-en garapena hasi zen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2018ko irailean, publikoki aipatu nuen VictoriaMetrics lehen aldiz.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2018ko abenduan, nodo bakarreko bertsioa argitaratu zen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Maiatzean 2019 argitaratu ziren Nodo bakarreko zein cluster bertsioen iturriak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

2019ko ekainean, Thanosek bezala, eskaera bat aurkeztu genion CNCF fundazioari zenbakiarekin 255. Thanosek eskatu baino egun bat lehenago egin genuen eskaera.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Baina, zoritxarrez, oraindik ez gaituzte bertan onartu. Komunitatearen laguntza behar da.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Ikus ditzagun Thanos eta VictoriaMetrics-en arkitektura erakusten duten diapositiba garrantzitsuenak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Has gaitezen Thanosekin. Osagai horiak Prometheus osagaiak dira. Gainerako guztia Thanos osagaiak dira. Has gaitezen osagai garrantzitsuenetik. Thanos Sidecar Prometheus bakoitzaren ondoan instalatzen den osagai bat da. Biltegiratze lokaletik Prometheus datuak S3 edo beste Object Storage batean kargatzen ditu.

Thanos Store Gateway izeneko osagai bat ere badago, eta Object Storage-ko datu hauek irakur ditzake Thanos Query-k jasotzen dituen eskaeretan. Thanos Query-k PromQL eta Prometheus APIa inplementatzen ditu. Hau da, kanpotik Prometeo dirudi. PromQL kontsultak jasotzen ditu, Thanos Store Gateway-ra bidaltzen ditu, Thanos Store Gateway-k Objektu biltegitik beharrezko datuak berreskuratzen ditu, itzultzen ditu.

Baina datuak Object Storage-n gordetzen ditugu azken bi ordurik gabe, Thanos Sidecar inplementazioaren eginbide bat dela eta, ezin baitu azken bi orduak Object Storage S3-ra kargatu, Prometheus-ek oraindik ez baitu sortu bi ordu horietarako fitxategiak tokiko biltegian.

Nola erabaki zenuen horri aurre egitea? Thanos Query-k, Thanos Store Gateway-ra egindako eskaerez gain, eskaera paraleloak bidaltzen ditu Thanos Sidecar bakoitzari, Prometheus-en ondoan dagoena.

Eta Thanos Sidecar-ek, berriz, Prometheus-i eskaerak gehiago ematen dizkio eta azken bi orduetako datuak berreskuratzen ditu.

Osagai horiez gain, aukerako osagai bat ere badago Thanosek ez du ondo funtzionatuko. Hau Thanos Compact da, Thanos Sidecarsek hemen kargatu dituen fitxategi txikiak Object Storage-ko fitxategiak batzeaz arduratzen dena. Thanos Sidecar-ek datu-fitxategiak kargatzen ditu bertan bi ordutan. Fitxategi hauek, fitxategi handiagoetan batzen ez badira, haien kopurua nabarmen hazi daiteke. Zenbat eta fitxategi gehiago, orduan eta memoria gehiago behar da Thanos Store Gatewayrako, orduan eta baliabide gehiago behar dira datuak sarean eta metadatuetan transferitzeko. Thanos Store Gateway ez da eraginkorra bihurtzen. Hori dela eta, beharrezkoa da Thanos Compact exekutatu, fitxategi txikiak handiagoekin batzen dituena, fitxategi horiek gutxiago egon daitezen eta Thanos Store Gateway-n gainkostuak murrizteko.

Thanos Ruler bezalako osagai bat ere badago. Prometheus-en alerta-arauak exekutatzen ditu eta Prometheus-en grabazio-arauak ebalua ditzake datuak Object Storage-ra itzultzeko. Baina osagai hori ez da gomendagarria erabiltzea, izan ere... Berak datu osatugabeak itzultzeko joera du.

Hau Thanosen eskema sinplea da.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Orain aldera dezagun VictoriaMetrics eskemarekin.

VictoriaMetrics-ek 2 bertsio ditu: nodo bakarreko bertsioa eta cluster bertsioa. Nodo bakarra ordenagailu batean exekutatzen da. Nodo bakarrekoak ez ditu osagai hauek, bitar bakarrak. Diapositibako bitar honek karratu honen itxura du. Karratuaren barruan dagoen guztia nodo bakarreko bertsiorako fitxategi bitarren edukia da. Ez duzu berari buruz jakin behar. Bitarra besterik ez duzu exekutatu eta dena funtzionatzen digu.

Cluster bertsioa konplikatuagoa da. Haren barruan hiru osagai ezberdin daude: vmselect, vminsert eta vmstorage. Haien izenetik argi geratu behar da bakoitzak zer egiten duen. Txertatu osagaiak hainbat formatutako datuak onartzen ditu: Prometheus urrutiko idazketa APItik, Influx line protokolotik, Graphite protokolotik eta OpenTSDB protokolotik. Txertatu osagaiak onartzen ditu, analizatu eta lehendik dauden biltegiratze osagaien artean banatzen ditu, non datuak dagoeneko gordeta dauden. Hautatu osagaiak, berriz, PromQL kontsultak onartzen ditu. Inplementatzen du PromQL, baita Prometheus kontsultatzeko APIa ere, eta Prometheus-en ordezko gisa erabil daiteke Grafana-n edo Prometheus API-ko beste bezero batzuetan. Select-ek promql eskaera bat onartzen du, analizatzen du, eskaera hau biltegiratze-nodoetatik exekutatzeko beharrezko datuak irakurtzen ditu, datu horiek prozesatzen ditu eta erantzun bat itzultzen du.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Konpara dezagun Thanos eta VictoriaMetrics instalatzearen konplexutasuna.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Has gaitezen Thanosekin. Thanos-ekin lanean hasi baino lehen, ontzi bat sortu behar duzu Object Storage-n, hala nola S3 edo GCS, Thanos Sidecar-ek datuak idatz ditzan.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Ondoren, Prometheus bakoitzeko Thanos Sidecar instalatu behar duzu. Aurretik, gogoratu behar duzu Prometheus-en datuen trinkotzea desgaitzen duzula. Datuen trinkotzeak aldian-aldian datuak konprimitzen ditu Prometheus biltegiratze lokalean, baliabideen kontsumoa murrizteko.

Thanos Sidecar zure Prometheus-en instalatzen duzunean, datuen trinkotze hori desgaitu behar duzu, Thanos Sidecar-ek ez baitu behar bezala funtzionatzen datuen trinkotzea gaituta. Horrek esan nahi du zure Prometheus-ek bi orduko blokeetan datuak gordetzen hasten dela eta bloke horiek handiagoetan batzeari uzten diola. Horren arabera, azken bi orduen iraupena gainditzen duten kontsultak egiten badituzu, orduan ez dute funtzionatuko datuen trinkotzea gaituta egon balitz bezala funtzionatuko luketen modu eraginkorrean.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Hori dela eta, Thanos-ek biltegiratze lokalean datuak gordetzeko denbora 6-8 ordura murriztea gomendatzen du bloke txiki kopuru handi baten gainkostua murrizteko.

Thanos Sidecar instalatu ondoren, bi osagai instalatu behar dituzu Object Storage Bucket bakoitzeko. Hauek Thanos Compactor eta Thanos Store Gateway dira.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Horren ostean, Thanos Query instalatu eta konfiguratu behar duzu, dituzun Thanos Store Gateway guztietara konektatzeko eta Thanos Sidecar guztietara ere konektatzeko.

Arazo txiki bat egon daiteke hemen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos Query-tik osagai horietara konexio fidagarria eta segurua konfiguratu behar duzu. Eta zure Prometheus datu-zentro desberdinetan edo VPC desberdinetan badago, kanpotik haiekin konexioak debekatuta daude. Baina Thanos Query-k funtziona dezan, nolabait konfiguratu behar duzu konexioa bertan, eta modu bat asmatu behar duzu.

Horrelako datu-zentro asko badituzu, orduan, horren arabera, sistema osoaren fidagarritasuna gutxitzen da. Thanos Query-k datu-zentro desberdinetan kokatutako Thanos Sidecar guztietarako konexioak etengabe mantendu behar dituenez. Jasotako eskaera bakoitzeko, Thanos Sidecar guztietara bideratuko ditu eskaerak. Konexioa eteten bada, datu-multzo osatugabea jasoko duzu edo "klusterra hutsik dago" erantzuna jasoko duzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-en dena apur bat sinpleagoa da. Nodo bakarreko bertsiorako, bitar bat exekutatu besterik ez duzu behar eta dena funtzionatzen du.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Kluster bertsioan, nahikoa da goiko hiru osagai mota guztiak behar duzun edo erabilitako kantitatean exekutatzeko lema taula Kubernetesen osagaien abiarazte automatizatzeko. Kubernetes operadore bat egiteko asmoa ere badugu. Helm diagramak ez ditu kasu batzuk estaltzen eta oinetan tiro egiten uzten dizu. Esaterako, biltegiratze-nodo kopurua murrizteko aukera ematen du, eta horrek datuak galtzea ekarriko du.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Bertsio bitar edo multzokatu bat abiarazi ondoren, Prometheus konfigurazioan gehitu besterik ez duzu behar Urruneko idazketa URLaren ezarpenahorrela, tokiko biltegiratzearekin eta urruneko biltegiratzearekin paraleloan datuak idazten hasten da. Ikus dezakezunez, konfigurazio honek askoz ere fidagarriagoa izan beharko luke Thanos konfigurazioarekin alderatuta. Ez dugu VictoriaMetrics-etik Prometheus guztientzako konexiorik mantendu behar, Prometheus beraiek VictoriaMetrics-era konektatzen direlako eta datuak transmititzen dituztelako.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Har dezagun Thanos eta VictoriaMetrics-en laguntza.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek Sidecar kontrolatu behar du Object Storage-n datuak kargatzeari uzten ez diotela ziurtatzeko. Baliteke datu-deskarga hau gelditzea deskarga-erroreen ondorioz; adibidez, Object Storage-rako sare-konexioa aldi baterako eten da edo Object Storage ez dago aldi baterako erabilgarri. Thanos Sidecar-ek une honetan nabarituko du, errore baten berri emango du, huts egin dezake eta gero funtzionatzeari utziko dio. Kontrolatzen ez baduzu, objektuen biltegiratze datuak transferitzeari utziko diozu. Atxikipen-denbora igarotzen bada (6-8 ordu gomendatzen da), orduan objektuen biltegian amaitu ez diren datuak galduko dituzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Baliteke Thanos trinkogailuak funtzionatzeari uztea lasterketa Sidecar-ekin da. Compactor-ek Object Storage-tik datuak hartzen dituzte eta datu-zati handiagoetan batzen dituzte. Konpaktatzaileak Sidecar-ekin sinkronizatzen ez direnez, honako hau gerta daiteke: Sidecar-ek oraindik ez du denborarik izan blokea osatzeko, Compactorrek bloke hori guztiz idatzita dagoela erabakitzen du. Compactor irakurtzen hasten da. Ez du blokea osorik irakurtzen eta funtzionatzeari uzten dio. Ikusi xehetasunak Hemen.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Baliteke Store Gateway-k datuak koherenteak itzultzea Compactor eta Sidecars-en arteko lasterketen ondorioz. Hemen gauza bera gertatzen da, Store Gateway-a ez baitago inola ere sinkronizatuta Compactors eta Sidecars-ekin. Horren arabera, lasterketa-baldintzak gerta daitezke Store Gateway-k datuen zatirik ikusten ez duenean edo beharrezkoak ez diren datuak ikusten ez dituenean.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-en Kontsulta osagaiak lehenespenez emaitza partziala ematen du Sidecars edo Store Gateway batzuk eskuragarri ez badira une honetan. Datuen zati bat jasoko duzu, eta ez duzu jakingo datu guztiak jaso ez dituzunik ere. Horrela funtzionatzen du lehenespenez. Antzeko egoera batean, VictoriaMetrics-ek markatutako datuak partzial gisa itzultzen ditu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek ez bezala, VictoriaMetrics-ek oso gutxitan galtzen ditu datuak. Prometheus-etik VictoriaMetrics-era konexioa eten bada ere, hori ez da arazorik, Prometheus-ek sarrerako datu berriak Write Ahead Log-en erregistratzen jarraitzen baitu, zeinaren tamaina 2 ordukoa baita. Bi orduko epean VictoriaMetrics-era konexioa berrezartzen baduzu, zure datuak ez dira galduko. Prometeo VictoriaMetrics-en konexioa berrezarri ondoren datuak gehi ditzake.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek ez bezala, bi orduren buruan objektuen biltegian datuak idazten dituena, Prometheus-ek automatikoki erreplikatzen ditu datuak urruneko idazketa-protokoloa erabiliz urruneko biltegiratzera, hala nola VictoriaMetrics. Ez duzu Prometheus-en tokiko biltegiratzea galtzeko beldurrik. Bat-batean tokiko biltegiratzea galdu badu, kasu txarrenean urruneko biltegian grabatzeko astirik izan ez duten datuen azken segundoak galduko dituzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Kubernetes-ek automatikoki kudeatzen du klusterra, Thanosek ez bezala. Zaila da Thanos osagai guztiak Kubernetes kluster batean kokatzea, VictoriaMetrics kluster osagaiak ez bezala.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek bertsio berriaren eguneratze oso sinplea du. Gelditu VictoriaMetrics, eguneratu bitarrak eta abiarazi. SIGINT seinale baten bidez gelditzen denean, VictoriaMetrics bitar guztiek itzalaldi dotorea egiten dute. Beharrezko datuak behar bezala gordetzen dituzte, sarrerako konexioak behar bezala ixten dituzte ezer ez galtzeko. Beraz, ez duzu ezer galduko eguneratzean.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek oso erraza da kluster bat zabaltzea. Beharrezko osagaiak gehitu eta lanean jarraitu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos eta VictoriaMetrics-en zuloei buruz.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek honako hutsune hauek ditu. Prometheusek azken bi orduetako datuak gorde behar ditu. Galtzen badira, guztiz galduko dituzu oraindik S3 bezalako Object Storage-n idatzi ez direlako.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Store Gateway osagaiak eta trinkogailuak memoria asko behar ditzake Object Storage handi batekin lan egiteko, fitxategi txiki asko gordeta badaude bertan. Fitxategien kopurua eta tamaina zenbat eta handiagoa izan, orduan eta metainformazioa gordetzeko Store Gateway eta RAM trinkotzaile gehiago behar dira. Thanosek arazo asko ditu horri buruz Store Gateway eta trinkogailuaren hutsegite bat grabatutako datuen batez besteko bolumenarekin.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek duzun Prometheus kopuruarekin mugagabe eskalatzeko iragartzen da. Hau benetan ez da egia. Eskaera guztiak Query osagaitik pasatzen direnez, zeinak Store Gateway osagai guztiak eta Sidecar osagai guztiak aldi berean galdekatu behar dituenez, atera datuak hortik eta, ondoren, aurreprozesatu. Jakina, eskaeraren abiadura lotura ahulenak, Store Gateway motelenak edo Sidecar motelenak mugatzen du.

Osagai hauek modu irregularrean kargatuta egon daitezke. Adibidez, Prometheus duzu, segundoko milioika metrika biltzen dituena. Eta Prometheus dago, segundoko milaka metrika biltzen dituena. Prometheus-ek, segundoko milioika metrika biltzen dituena, karga askoz handiagoa jartzen du exekutatzen duen zerbitzarian. Horren arabera, Sidecar-ek motelago funtzionatzen du bertan. Eta, oro har, dena poliki-poliki dabil hor. Eta Kontsulta osagaiak oso poliki aterako ditu datuak handik. Horren arabera, zure kluster osoaren errendimendua mugatuko du Sidecar motel honek.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Lehenespenez, Thanosek datu partzialak ematen ditu Sidecar batzuk eta Store Gateway ez badago erabilgarri. Esate baterako, zure Sidecar-ak datu-zentro ezberdinetan sakabanatuta badaude munduan zehar, orduan asko handitzen da konexio-hutsegiteko eta osagaien erabilgarritasunik ez izateko probabilitatea. Horren arabera, kasu gehienetan datu partzialak ere jakin gabe jasoko dituzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek ere hutsuneak ditu. Lehenengo zuloa VictoriaMetrics cacherako erabiltzen den RAM kopurua mugatzen duen aukera da. Lehenespenez, VictoriaMetrics exekutatzen ari den makinaren RAMaren % 60aren edo Kubernetes-en VictoriaMetrics pod-aren RAMaren % 60aren berdina da.

Balio hori gaizki aldatzen baduzu, VictoriaMetrics-en errendimendua honda dezakezu. Adibidez, balioa baxuegia ezartzen baduzu, baliteke datuak VictoriaMetrics cachean sartzea. Horregatik, lan gehigarria egin eta prozesadorea eta diskoa kargatu beharko ditu. Aukera hau handiegia egiten baduzu, lehenik eta behin, VictoriaMetrics-ek memoria falta den errore batekin huts egitearen probabilitatea handitzen du, eta, bigarrenik, sistema eragilearen memorian oso RAM gutxi geratuko dela ekarriko du. fitxategien cachea. Eta VictoriaMetrics fitxategien cache batean oinarritzen da errendimendurako. Nahikoa ez bada, diskoaren karga asko handitu daiteke. Horregatik, aholkua: ez aldatu parametroa guztiz beharrezkoa ez bada.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Bigarren aukera. Hau retentionPeriod da - lehenespenez hilabete 1 gisa ezartzen den epea. VictoriaMetrics-ek datuak gordetzen dituen denbora-tartea da. Epe hori igarota, VictoriaMetrics-ek datuak ezabatzen ditu.

Jende askok VictoriaMetrics exekutatzen du parametro hori gabe eta hilabetez erregistratzen ditu datuak. Eta orduan galdetzen dute: zergatik desagertu ziren aurreko hilabeteko datuak? Lehenetsitako atxikipen-epea hilabete 1 delako. Hori dela eta, atxikipen-aldi egokia ezagutu eta ezarri behar duzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Ikus ditzagun ezaugarri bereziak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek downsampling izeneko funtzio bat du: 5 minutuko eta orduko tarteak, askotan ez da behar bezala funtzionatzen. Googlen bilatzen baduzu eta github-en duten arazoa ikusten baduzu, gutxiengin honekin lotutako arazo asko daude, batzuetan ez duela behar bezala funtzionatzen edo erabiltzaileek espero duten moduan.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek Prometheus HA bikoteentzako datuen desduplicazioa du. Bi Prometheus helburu berberetatik neurri berdinak biltzen dituztenean eta Thanosek Object Storage-n gordetzen dituenean. Thanosek behar bezala desbikoiztu ditzake datu hauek, VictoriaMetrics-ek ez bezala.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek Thanos eskeman zegoen alerta-osagai bat du. Baina hura ez da gomendagarria ekoizpenean erabiltzeko.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanosek abantaila du Thanos eta Prometheus-ek kode bera partekatzen dutela. Thanos eta Prometheus garatzaile berdinek garatzen dituzte. Thanos edo Prometheus-en hobekuntzekin, beste aldeak irabazten du.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-en ezaugarri nagusia MetricsQL da. Hauek PromQL-rako VictoriaMetrics luzapenak dira, aurreko monitorizazioko bileran hitz egin nituenak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek datuak kargatzen ditu protokolo ezberdin asko erabiliz. VictoriaMetrics-ek Prometheus-en datuak onar ditzake, baita Influx, OpenTSDB eta Graphite protokoloen bidez ere.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-en datuek askoz leku gutxiago hartzen dute Thanos eta Prometheusekin alderatuta.

Datu errealak grabatzen badituzu, erabiltzaileek diskoko datuen tamaina 2-5 aldiz murrizteari buruz hitz egiten dute Prometheus eta Thanosekin alderatuta.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-en beste abantaila bat abiadurarako optimizatuta dagoela da.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Ikus dezagun azpiegituren kostua.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-en abantailetako bat objektuen biltegian datuak gordetzen dituela da, eta hori nahiko merkea da.

Datuak objektuen biltegian gordetzean, datuak idazteko eta irakurtzeko eragiketak ordaindu behar dituzu (10 $ milioi eragiketa bakoitzeko). Datuak objektuen biltegian idazten dituzunean, zure ostalaritza-kostuak ordaintzen dituzu datuak Internetera kargatzeagatik; zure clusterra AWSn ez badago, doakoa da bertan. Datuak irakurtzen dituzunean, 10 $ eta 230 $ artean ordaintzen duzu 1TB bakoitzeko. Hau esanguratsua izan daiteke Thanos klusterreko datu historikoak maiz kontsultatzen badituzu.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos kluster baterako, zerbitzariak ordaindu behar dituzu Compact, Store Gateway, Query memoria asko behar duten osagaiak eta CPU datu kopuru handietarako.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek honako gastu hauek ditu. GCE HDD unitateetan datuak gordetzen badituzu, 40 $-ra ateratzen da 1TBgatik. VictoriaMetrics-erako, HDD unitate arruntak nahikoak dira; ez da SSDrik behar, bost aldiz gehiago kostatzen dena. VictoriaMetrics HDDrako optimizatuta dago.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek zerbitzariak behar ditu osagaietarako: keinu bakarreko osagaiak edo klusteratutako osagaiak, Thanosen osagaiek ez bezala, CPU eta RAM askoz gutxiago behar dituzte eta, ondorioz, merkeagoak izango dira.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Ezarpenaren adibideak.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Thanos-ek inplementazio adibide bat du Gitlab-en. Gitlab Thanos-en exekutatzen da erabat. Baina han dena ez da hain leuna. Haiei begiratuz gero gaiak, gero ikus dezakezue etengabe badituztela batzuk Thanos-ekin funtzionamendu arazoak: Ez dago nahikoa memoria Store Gateway edo Query osagaietarako. Etengabe handitu behar dute memoria kopurua.

Horregatik, arazo hauek konpontzeko kostuak areagotu egiten dira.

Bigarren inplementazioa, arrakasta handiagoa izan dezakeena, Thanos garatzen hasi zen Improbable konpainia da. Thanos iturburu kodea argitaratu zuten. Improbable joko-motorrak garatzen dituen enpresa da.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

VictoriaMetrics-ek inplementazio-adibide publikoak ditu:

  • wix.com webgunearen sortzailea
  • Adidas VictoriaMetrics inplementatzen ari da eta 2019ko azken PromCon-en aurkezpen bat ere egin zuen
  • TrafficStars - iragarki-sarea
  • Seznam.cz Txekiar bilatzaile ezaguna da.

Eta orduan izenik gabeko enpresak zeuden orain izendatzerik ez ditudanak. Ez zuten onartu.

  • Jokoen garatzaile nagusi bat. Improbablea baino handiagoa.
  • Software grafikoen garatzaile nagusia.
  • Errusiako banku handia.
  • VictoriaMetrics arrakastaz probatu duen aerosorgailuen Europako fabrikatzailea. Fabrikatzaile hau VictoriaMetrics inplementatzen ari da aerosorgailuetatik jasotako datuak kontrolatzeko, segundoko 50 lagin sentsore bakoitzeko. Aerosorgailu bakoitzak ehunka sentsore ditu. Hainbat ehunka aerosorgailu dituzte.
  • VictoriaMetrics ezarri nahi duten Errusiako aire konpainiek, baina oraindik ezin dute. Haiekin kontratu fasean gaude.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetricsOndorioak.

VictoriaMetrics eta Thanos-ek antzeko arazoak konpontzen dituzte, baina modu ezberdinetan:

  • Kontsulten ikuspegi globala
  • eskala horizontala
  • atxikipen arbitrarioa

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Eskerrik asko.

Zure zain gaude gurean Telegram kanala.

Prometheus-en datu biltegiratze bat aukeratzea: Thanos vs VictoriaMetrics

Erregistratutako erabiltzaileek soilik parte hartu dezakete inkestan. Hasi saioa, mesedez.

Zer erabiltzen duzu Prometheus-en epe luzerako biltegiratze gisa?

  • 35,3%Thanos6

  • 0,0%Cortex0

  • 0,0%M3DB0

  • 41,2%VictoriaMetrics7

  • 23,5%beste4

17 erabiltzailek eman dute botoa. 16 erabiltzaile abstenitu ziren.

Iturria: www.habr.com

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak 🔥 Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster