Thanos - Prometheus Scalable

Turjumaada maqaalka waxaa si gaar ah loogu diyaariyey ardayda koorsada "Dhaqanka iyo qalabka DevOps".

Fabian Reinartz waa horumariye software-ka ah, Tag oo aad u janjeera, iyo mushkilad xaliye. Isagu sidoo kale waa ilaaliye Prometheus iyo la-aasaasaha Kubernetes SIG qalabaynta. Waagii hore, wuxuu ahaa injineer wax soo saar ee SoundCloud wuxuuna hogaaminayay kooxda la socodka CoreOS. Hadda waxa uu ka shaqeeyaa Google

Bartek Plotka - Injineer Kaabayaasha dhaqaalaha ah oo aan macquul ahayn. Waxa uu xiiseynayaa tignoolajiyada cusub iyo dhibaatooyinka nidaamyada la qaybiyay. Waxa uu leeyahay waayo-aragnimo barnaamijeed heer hoose ah ee Intel, waayo-aragnimo wax ku biirinta ee Mesos, iyo heerka-caalmiga ah ee waayo-aragnimo wax soo saarka SRE at Improbable. U heellan horumarinta adduunka adeegyada yaryar Saddexdiisa jacayl: Golang, il furan iyo kubbadda laliska.

Markaad eegto badeecadeena calanka ah SpatialOS, waxaad qiyaasi kartaa in Improbable uu u baahan yahay kaabayaal daruuri oo heer caalami ah oo firfircoon oo leh daraasiin Kubernetes ah. Waxaan ahayn mid ka mid ah kuwii ugu horreeyay ee adeegsada nidaamka la socodka Prometheus. Prometheus wuxuu awood u leeyahay inuu la socdo malaayiin metrik waqtiga dhabta ah wuxuuna la yimaadaa luuqad su'aaleed awood leh oo kuu ogolaanaysa inaad soo saarto macluumaadka aad u baahan tahay.

Fududeynta iyo isku halaynta Prometheus waa mid ka mid ah faa'iidooyinka ugu muhiimsan. Si kastaba ha ahaatee, markii aan dhaafnay miisaan gaar ah, waxaan la kulannay dhowr cilladood. Si aan u xalinno dhibaatooyinkaas waanu horumarinay Thanos waa mashruuc il furan oo ay abuurtay Improbable in si aan kala go 'lahayn loogu beddelo kooxaha Prometheus ee jira nidaam keliya oo la socodka oo leh kaydinta xogta taariikheed ee aan xadidnayn. Thanos waxaa laga heli karaa Github halkan.

Lasoco wararkii ugu dambeeyay ee Improbable

Hadafkeena Thanos

Miisaan gaar ah, dhibaatooyin ayaa soo baxa kuwaas oo ka baxsan awoodaha vanilj Prometheus. Sidee si la isku halleyn karo oo dhaqaale ahaan loogu kaydiyaa petabytes ee xogta taariikhiga ah? Tan ma la samayn karaa iyada oo aan la dhimin wakhtiga jawaabta? Suurtagal ma tahay in la galo dhammaan cabbirada ku yaal server-yada Prometheus ee kala duwan oo wata hal codsi API? Ma jirtaa hab lagu isku daro xogta la soo koobay iyadoo la isticmaalayo Prometheus HA?

Si wax looga qabto arrimahan, waxaan abuurnay Thanos. Qaybaha soo socdaa waxay sharxayaan sida aan u wajahnay arrimahan oo aan sharaxno yoolalkayaga.

Xog weydiinta tusaalooyin badan oo Prometheus ah ( waydiin caalami ah)

Prometheus waxay bixisaa hab shaqaynaysa oo lagu jeexjeexo. Xitaa hal server Prometheus wuxuu bixiyaa miisaan ku filan si uu uga xoreeyo isticmaalayaasha kakanaanta sharding siman ee ku dhawaad ​​dhammaan kiisaska isticmaalka.

In kasta oo kani yahay nooc geyn weyn, inta badan waa lagama maarmaan in la galo xogta server-yada Prometheus ee kala duwan iyada oo loo marayo hal API ama UI - aragti caalami ah. Dabcan, waa suurtogal in lagu soo bandhigo su'aalo badan hal guddi oo Grafana ah, laakiin su'aal kasta waxaa lagu fulin karaa oo kaliya hal server Prometheus. Dhanka kale, Thanos waxaad waydiin kartaa oo isku geyn kartaa xogta server-yo badan oo Prometheus ah maadaama dhamaantood laga heli karo hal dhibic oo kaliya.

Markii hore, si aan u helno aragti caalami ah oo aan macquul ahayn, waxaan u habeynay tusaalaheena Prometheus heerar badan Xiriirka kala sareynta. Tani waxay ka dhigan tahay in la abuurayo hal server oo Prometheus meta ah kaas oo ururiya qaar ka mid ah cabbirada seerfar kasta oo caleen ah.

Thanos - Prometheus Scalable

Habkani waxa uu noqday dhibaato. Tani waxay keentay qaabayn aad u adag, oo lagu daray meel dheeraad ah oo suurtagal ah oo fashil ah, iyo ku dhaqanka xeerarka adag si loo hubiyo in dhamaadka federaalka uu helo xogta uu u baahan yahay oo kaliya. Intaa waxaa dheer, xiriirka noocan oo kale ah kuma ogola inaad hesho aragti caalami ah oo run ah, maadaama dhammaan xogta aan laga helin hal codsi API.

Tan si dhow ula xidhiidha waa aragtida midaysan ee xogta lagu ururiyay helitaan sare (HA) Server-yada Prometheus. Qaabka Prometheus'HA wuxuu si madaxbanaan u ururiyaa xogta laba jeer, taas oo ah mid aad u fudud ma noqon karto mid fudud. Si kastaba ha ahaatee, isticmaalka isku-dhafka iyo aragtida kala-saarista ee labada durdurba waxay noqon doontaa mid aad u habboon.

Dabcan, waxaa jirta baahi loo qabo adeegayaasha Prometheus oo aad loo heli karo. Improbable, waxaan si dhab ah u qaadanaa la socodka xogta daqiiqad-ka-daqiiqo, laakiin haysashada hal tusaale Prometheus koox kasta waa hal dhibic oo guul darro ah. Qalad kasta oo qaabeynta ama cillad qalabku waxay u horseedi kartaa luminta xogta muhiimka ah. Xataa keenista fudud waxay sababi kartaa khalkhal yar oo ku yimaada ururinta mitirka sababtoo ah dib u bilaabashadu waxay aad uga dheeraan kartaa inta u dhaxaysa xoqitaanka.

Kaydinta lagu kalsoonaan karo ee xogta taariikhiga ah

Kaydinta mitir ee raqiis ah, dhakhso badan, muddada-dheer waa riyadeena (ay wadaagaan inta badan isticmaalayaasha Prometheus). Wax aan macquul ahayn, waxaa nalagu qasbay inaan habaynno muddada haynta cabbirka ilaa sagaal maalmood (ee Prometheus 1.8). Tani waxay ku daraysaa xad cad ilaa inta aan dib u eegi karno.

Prometheus 2.0 wuu fiicnaaday arrintan, maadaama tirada wakhtiga taxanaha ahi aanay saamaynaynin waxqabadka guud ee serverka (eeg. KubeCon qoraalka muhiimka ah ee ku saabsan Prometheus 2). Si kastaba ha ahaatee, Prometheus waxay ku kaydisaa xogta diskka deegaanka. Inkasta oo isku-buufinta xogta waxtarka sare leh ay si weyn u yarayn karto isticmaalka SSD-ga maxalliga ah, waxaa ugu dambeyntii wali xaddidan tirada xogta taariikhiga ah ee la keydin karo.

Intaa waxaa dheer, at Improbable waxaan daneynaa isku halaynta, fududaanta iyo qiimaha. Saxanadaha waaweyn ee gudaha aad bay u adag tahay in lagu shaqeeyo oo dib loo soo celiyo. Waxay ku kacayaan wax ka badan waxayna u baahan yihiin qalab dheeri ah, taasoo keentay kakanaanta aan loo baahnayn.

Hoos u dhigista

Markii aan bilownay la shaqeynta xogta taariikhiga ah, waxaan ogaanay in ay jiraan dhibaatooyin asaasi ah oo leh big-O oo ka dhigaya su'aalaha gaabiska iyo gaabis inta aan ku shaqeyneyno toddobaadyo, bilo, iyo sannado xog ah.

Xalka caadiga ah ee dhibaatadani wuxuu noqon lahaa hoos u dhigid (hoos u dhigista) - yaraynta soo noqnoqoshada muunada calaamadaha. Hoos-u-dhigista, waxaan "hoos u dhigi karnaa" ilaa waqti ballaaran waxaanan ilaalin karnaa tiro isku mid ah oo muunado ah, anagoo ilaalinayna su'aalaha jawaabaha.

Hoos u dhigista xogta hore waa shuruud lama huraan ah oo ah xal kasta oo kaydinta muddada-dheer waana ka baxsan baaxadda vanilj Prometheus.

Hadafyo dheeri ah

Mid ka mid ah yoolalka asalka ah ee mashruuca Thanos wuxuu ahaa in si aan kala go 'lahayn loogu daro qalab kasta oo jira oo Prometheus ah. Hadafka labaad waxa uu ahaa fudayd hawl-qabad oo leh caqabadaha ugu yar ee gelitaanka. Ku-tiirsanaanta kasta waa in ay si fudud ugu qancaan isticmaaleyaasha yaryar iyo kuwa waaweyn labadaba, taas oo sidoo kale ka dhigan tahay qiimo hoose.

Dhismaha Thanos

Ka dib marka aan taxno yoolalkayaga qaybta hore, aan ka shaqeyno iyaga oo aragno sida Thanos u xalliyo dhibaatooyinkan.

Aragtida caalamka

Si loo helo muuqaal caalami ah oo ku saabsan tusaalooyinka Prometheus ee jira, waxaan u baahanahay inaan ku xirno hal dhibic codsi oo laga galo dhammaan server-yada. Tani waa sida saxda ah ee qaybta Thanos ay qabato. Sidecar. Waxaa la geeyaa meel ku xigta server kasta oo Prometheus ah waxayna u shaqeysaa sidii wakiil, iyadoo u adeegeysa xogta Prometheus maxalliga ah iyada oo loo marayo gRPC Store API, taasoo u oggolaanaysa xogta taxanaha ah in lagu soo celiyo sumadda iyo waqtiga kala duwan.

Dhanka kale waa miisaanka-baxa, qaybta Querier-la'aanta, taas oo wax yar ka qabta kaliya ka jawaabista su'aalaha PromQL iyada oo loo marayo heerka Prometheus HTTP API. Querier, Sidecar iyo qaybaha kale ee Thanos waxay ku wada xiriiraan borotokoolka xanta.

Thanos - Prometheus Scalable

  1. Querier, markuu helo codsi, wuxuu ku xidhaa server-ka Store API ee u dhigma, taas oo ah, Sidecars-yadayada oo wuxuu ka helaa xog taxane ah oo wakhti ah servers Prometheus u dhigma.
  2. Intaa ka dib, waxay isku daraysaa jawaabaha waxayna ku fulinaysaa su'aal PromQL iyaga. Querier wuxuu isku dari karaa xogta kala duwan iyo xogta nuqul ka mid ah server-yada Prometheus HA.

Tani waxay xallisaa qayb weyn oo ka mid ah halxiraalahayada - isku-darka xogta ka soo baxda server-yada Prometheus ee go'doonsan oo laga dhigo hal aragti. Dhab ahaantii, Thanos waxa kaliya loo isticmaali karaa sifadan. Wax isbeddel ah looma baahna in lagu sameeyo adeegayaasha Prometheus ee jira!

Nolosha shelf aan xadidnayn!

Si kastaba ha ahaatee, mar dhow ama hadhow waxaan rabnaa inaan kaydino xogta ka baxsan wakhtiga caadiga ah ee Prometheus. Waxaan dooranay kaydinta shay si aan u kaydiyo xogta taariikhiga ah. Waxaa si weyn looga heli karaa daruur kasta iyo sidoo kale xarumaha xogta ee goobta waana mid aad waxtar u leh. Intaa waxaa dheer, ku dhawaad ​​wax kasta oo kaydinta shay ayaa la heli karaa iyada oo loo marayo S3 API ee caanka ah.

Prometheus wuxuu xogta ka qoraa RAM ilaa saxan ku dhawaad ​​labadii saacadoodba mar. Xogta kaydsan waxay ka kooban tahay dhammaan xogta muddo go'an waana mid aan beddeli karin. Tani waa mid aad u habboon sababtoo ah Thanos Sidecar wuxuu si fudud u eegi karaa tusaha xogta Prometheus iyo, marka baloogyada cusub la heli karo, ku dheji baaldiyada kaydinta shay.

Thanos - Prometheus Scalable

Ku dhajinta kaydinta shay isla markiiba ka dib markaad ku qorto disk sidoo kale waxay kuu ogolaaneysaa inaad ilaaliso fududaanta qashinka (Prometheus iyo Thanos Sidecar). Kaas oo fududaynaya taageerada, kharashka iyo naqshadaynta nidaamka.

Sida aad arki karto, kaabta xogta waa mid aad u fudud. Laakiin ka waran weydiinta xogta ku jirta kaydinta shayga?

Qaybta Dukaanka Thanos waxay u shaqeysaa sidii wakiil si looga soo saaro xogta kaydinta shayga. Sida Thanos Sidecar, waxay ka qaybqaadataa kooxda xanta waxayna fulisaa API Store. Sidan, Querier-ka jira wuxuu ula dhaqmi karaa sida Sidecar, sida ilo kale oo xog taxane ah - looma baahna qaabeyn gaar ah.

Thanos - Prometheus Scalable

Xirmooyinka xogta taxanaha wakhtiga waxay ka kooban yihiin dhawr fayl oo waaweyn. Ku raritaanka baahida waxay noqon doontaa mid aan waxtar lahayn, oo ku kaydintooda gudaha waxay u baahan doontaa xaddi badan oo xusuusta iyo meel disk ah.

Taa beddelkeeda, Store Gateway wuu yaqaan sida loo maamulo qaabka kaydinta Prometheus. Waad ku mahadsan tahay jadwal su'aal weydiin caqli badan iyo kaydinta kaliya qaybaha tusaha lagama maarmaanka ah ee blocks, waa suurtogal in la yareeyo weydiimaha adag ilaa tirada ugu yar ee codsiyada HTTP si loo diido faylasha kaydinta. Sidan, waxaad ku yareeyn kartaa tirada codsiyada afar ilaa lix amar oo waaweyn oo aad ku gaari kartaa waqtiyo jawaab celin ah oo guud ahaan ay adag tahay in la kala saaro codsiyada xogta SSD-ga maxalliga ah.

Thanos - Prometheus Scalable

Sida ku cad jaantuska sare, Thanos Querier wuxuu si weyn u yareeyaa kharashka weydiinta xogta kaydinta shay kasta isaga oo ka faa'iidaysanaya qaabka kaydinta Prometheus oo u dhigaya xogta la xidhiidha dhinac dhinac. Isticmaalka habkan, waxaan isku dari karnaa codsiyo badan oo keliya oo ah tirada ugu yar ee hawlgallada ballaaran.

Isku-duubni iyo hoos u dhigid

Marka baloog cusub oo taxane waqti ah si guul leh loogu shubo kaydinta shayga, waxaanu ula dhaqannaa xog "taariikheed", taas oo isla markiiba laga heli karo Kadinka Dukaanka.

Si kastaba ha ahaatee, muddo ka dib, baloogyada hal il (Prometheus with Sidecar) ayaa urura oo aan mar dambe isticmaalin awoodda tilmaanta buuxda. Si loo xalliyo dhibaatadan, waxaan soo bandhignay qayb kale oo loo yaqaan Compactor. Waxay si fudud u khusaysaa matoorka isku xidhka maxalliga ah ee Prometheus xogta taariikhiga ah ee kaydinta shayga waxaana loo ordi karaa shaqo fudud oo xilliyeed ah.

Thanos - Prometheus Scalable

Waad ku mahadsan tahay isku-buufin hufan, weydiinta kaydinta muddo dheer ma keenayso dhibaato xagga cabbirka xogta. Si kastaba ha noqotee, qiimaha suurtagalka ah ee furista bilyan qiyamka iyo ku socodsiinta processor-ka weydiinta ayaa si lama filaan ah u dhalin doonta koror aad u weyn waqtiga fulinta weydiinta. Dhanka kale, maadaama ay jiraan boqolaal dhibco xog ah halkii pixel ee shaashadda, waxay noqotaa mid aan suurtagal ahayn in xitaa la sawiro xogta xallinta buuxda. Sidaa darteed, hoos-u-dhigiddu maaha mid suurtagal ah oo keliya, laakiin sidoo kale ma horseedi doonto luminta saxda ah ee muuqda.

Thanos - Prometheus Scalable

Si loo dhimo xogta, Compactor wuxuu si joogto ah u ururiyaa xogta xal shan daqiiqo iyo hal saac ah. Qayb kasta oo ceyriin ah oo lagu koodhiyay iyadoo la adeegsanayo isku-buufinta TSDB XOR, noocyada kala duwan ee xogta wadareedka ayaa la kaydiyaa, sida min, max ama wadar hal baloog ah. Tani waxay u oggolaanaysaa Querier inuu si toos ah u doorto wadar ahaan ku habboon weydiinta PromQL ee la bixiyay.

Looma baahna qaabayn gaar ah si isticmaaluhu u isticmaalo xogta saxda ah ee la dhimay. Querier wuxuu si toos ah u kala beddelaa xalal kala duwan iyo xogta cayriin marka isticmaaluhu uu soo galiyo kana baxo. Haddii la rabo, isticmaaluhu si toos ah ayuu kan u xakameyn karaa iyada oo loo marayo cabbirka "tallaabo" ee codsiga.

Maadaama qiimaha kaydinta hal GB uu yar yahay, asal ahaan Thanos wuxuu kaydiyaa xogta cayriin, xogta xallinta shan daqiiqo iyo hal saac. Looma baahna in la tirtiro xogta asalka ah.

Xeerarka duubista

Xitaa Thanos, xeerarka duubista ayaa ah qayb muhiim ah oo ka mid ah xirmada la socodka. Waxay yareeyaan kakanaanta, daahitaanka, iyo qiimaha weydiimaha. Waxay sidoo kale ku habboon yihiin isticmaalayaasha si ay u helaan xogta la isku daray ee cabbirada. Thanos wuxuu ku salaysan yahay tusaale ahaan vanilj Prometheus, marka si fiican ayaa loo aqbali karaa in lagu kaydiyo xeerarka duubista iyo xeerarka digniinta ee serverka Prometheus ee jira. Si kastaba ha ahaatee, xaaladaha qaarkood tani kuma filna:

  • Digniin caalami ah iyo qaanuunka (tusaale, digniin marka adeeggu aanu ka shaqayn wax ka badan laba ka mid ah saddexda kooxoodba).
  • Xeerka xogta ka baxsan kaydinta maxalliga ah.
  • Rabitaanka in lagu kaydiyo dhammaan xeerarka iyo digniinaha hal meel.

Thanos - Prometheus Scalable

Dhammaan kiisaskan, Thanos waxaa ku jira qayb gaar ah oo la yiraahdo Ruler, kaas oo xisaabiya qaanuunka iyo feejignaanta iyada oo loo marayo Thanos Queries. Adigoo siinaya StoreAPI si fiican loo yaqaan, noodhka weydiintu wuxuu heli karaa qiyaasaha cusub ee la xisaabiyay. Ka dib waxay sidoo kale lagu kaydiyaa shay kaydinta oo laga dhigay iyada oo la sii marayo Dukaanka Gateway.

Awoodda Thanos

Thanos waa dabacsanaan ku filan in lagu habeeyo si uu ugu habboonaado baahiyahaaga. Tani waxay si gaar ah faa'iido u leedahay markaad ka soo guureyso Prometheus cad. Aan si degdeg ah dib ugu soo koobno ​​wixii aan ka baranay qaybaha Thanos oo aan tusaale degdeg ah u soo qaadanno. Waa kuwan sida loogu qaado vaniljkaaga Prometheus adduunka “keydinta cabbirrada aan xadidneyn”:

Thanos - Prometheus Scalable

  1. Ku dar Thanos Sidecar server-kaaga Prometheus - tusaale ahaan, weel dhinaceed ah oo ku dhex jira sanduuqa Kubernetes.
  2. Geli nuqulo badan oo Thanos Querier ah si aad u awooddo inaad u aragto xogta. Marxaladdan way fududahay in la sameeyo xanta u dhaxaysa Scraper iyo Querier. Si aad u hubiso isdhexgalka qaybaha, isticmaal mitirka 'thanos_cluster_members'.

Kaliya labadan tillaabo ayaa ku filan si ay u bixiyaan aragtida caalamiga ah iyo ka-saarista xogta aan kala go 'lahayn ee ka iman kara Prometheus HA nuqullada! Kaliya ku xidh boodhadhkaaga Querier HTTP barta ugu dambaysa ama isticmaal Thanos UI si toos ah.

Si kastaba ha noqotee, haddii aad u baahan tahay kaydinta cabbirada iyo kaydinta muddada dheer, waxaad u baahan doontaa inaad dhammaystirto saddex tallaabo oo kale:

  1. Samee baaldi AWS S3 ama GCS Habee Sidecar si aad xogta ugu koobbiso baaldiyadan. Kaydinta xogta maxalliga ah hadda waa la yareyn karaa.
  2. Deploy Store Gateway oo ku xidh kooxdaada xanta ah ee jirta. Hadda waxaad waydiin kartaa xogta la taageeray!
  3. Geli Compactor si loo hagaajiyo hufnaanta weydiinta muddo dheer iyadoo la adeegsanayo is-xakamaynta iyo hoos u dhigista.

Haddii aad rabto inaad wax badan ka ogaato, ha ka waaban inaad eegto our kubernetes muujin tusaalayaal и bilaabista!

Shan tilaabo oo kaliya, waxaan Prometheus u rogey nidaam la socon kara oo la isku halayn karo oo leh aragti caalami ah, waqti kaydinta aan xadidnayn iyo helitaan heer sare ah oo suurtagal ah.

Codsiga jiid: waanu kuu baahanahay!

Thanos wuxuu ahaa mashruuc il furan laga soo bilaabo bilowgii. Is dhexgalka aan kala go'a lahayn ee Prometheus iyo awoodda loo isticmaalo qayb ka mid ah Thanos ayaa ka dhigaysa doorasho aad u fiican oo lagu cabbirayo nidaamka kormeerkaaga si dadaal la'aan ah.

Had iyo jeer waanu soo dhawaynaynaa GitHub Pull Requests iyo Arrimmaha. Dhanka kale, xor u noqo inaad nagula soo xiriirto arrimaha Github ama caajisnimo Wax aan macquul aheyn- Eng #thanosHaddii aad hayso su'aalo ama jawaab celin, ama aad rabto inaad la wadaagto khibradaada isticmaalkeeda! Haddii aad jeceshahay waxa aan ku samayno Improbable, ha ka waaban inaad nala soo xidhiidho - waxaan had iyo jeer haysanaa boosaska banaan!

Wax badan ka baro koorsada.

Source: www.habr.com

Add a comment