Thanos - Prometheus Inscálaithe

Ullmhaíodh aistriúchán an ailt go sonrach do mhic léinn an chúrsa "Cleachtais agus uirlisí DevOps".

Fabian Reinartz is forbróir bogearraí, Go fanatic, agus fadhbréiteach é. Is cothaitheoir Prometheus é freisin agus comhbhunaitheoir ionstraimíochta Kubernetes SIG. San am atá caite, bhí sé ina innealtóir táirgeachta ag SoundCloud agus bhí sé i gceannas ar an bhfoireann monatóireachta ag CoreOS. Oibríonn sé ag Google faoi láthair.

Cluiche Bartek Plotka - Innealtóir Bonneagair ag Dodhéanta. Tá suim aige i dteicneolaíochtaí nua agus fadhbanna na gcóras dáilte. Tá taithí ríomhchláraithe ar leibhéal íseal aige ag Intel, taithí ranníocóra ag Mesos, agus taithí táirgeachta SRE den scoth ag Improbable. Tiomnaithe do shaol na micrisheirbhísí a fheabhsú. A thriúr grá: Golang, foinse oscailte agus eitpheil.

Ag féachaint ar ár bpríomhtháirge SpatialOS, is féidir leat buille faoi thuairim go bhfuil gá le bonneagar néal ard-dinimiciúil ar scála domhanda ina bhfuil mórán braislí Kubernetes ag teastáil ó Improbable. Bhí muid ar cheann de na chéad daoine a d’úsáid córas monatóireachta Prometheus. Tá Prometheus in ann na milliúin méadrachta a rianú i bhfíor-am agus tagann sé le teanga fiosrúcháin chumhachtach a ligeann duit an fhaisnéis atá uait a bhaint as.

Tá simplíocht agus iontaofacht Prometheus ar cheann dá phríomhbhuntáistí. Mar sin féin, nuair a chuaigh muid thar scála áirithe, tháinig muid ar roinnt míbhuntáistí. Chun na fadhbanna seo a réiteach tá forbairt déanta againn Thanos Is tionscadal foinse oscailte é Improbable chun braislí Prometheus atá ann cheana féin a athrú gan uaim go córas monatóireachta aonair le stóráil sonraí stairiúla gan teorainn. Tá Thanos ar fáil ar Github anseo.

Coinnigh suas chun dáta leis an nuacht is déanaí ó Improbable.

Ár spriocanna le Thanos

Ar scála áirithe, tagann fadhbanna chun cinn atá níos faide ná cumais vanilla Prometheus. Conas petabytes de shonraí stairiúla a stóráil go hiontaofa agus go heacnamaíoch? An féidir é seo a dhéanamh gan cur isteach ar an am freagartha? An féidir rochtain a fháil ar gach méadracht atá suite ar fhreastalaithe éagsúla Prometheus le hiarratas API amháin? An bhfuil aon bhealach ann sonraí macasamhlaithe a bhailítear a chomhcheangal trí úsáid a bhaint as Prometheus HA?

Chun aghaidh a thabhairt ar na saincheisteanna seo, chruthaigh muid Thanos. Déanann na hailt seo a leanas cur síos ar an gcaoi a ndeachaigh muid i ngleic leis na saincheisteanna seo agus míníonn siad ár spriocanna.

Ag ceistiú sonraí ó chásanna iolracha Prometheus (fios domhanda)

Cuireann Prometheus cur chuige feidhmiúil ar fáil maidir le bearradh. Soláthraíonn fiú freastalaí amháin Prometheus a dhóthain inscálaithe chun úsáideoirí a shaoradh ó chastacht an chomhroinnte chothrománaigh i mbeagnach gach cás úsáide.

Cé gur samhail imlonnaithe iontach é seo, is minic go mbíonn gá le sonraí a rochtain ar fhreastalaithe éagsúla Prometheus trí API amháin nó UI - dearcadh domhanda. Ar ndóigh, is féidir ceisteanna iolracha a thaispeáint i bpainéal Grafana amháin, ach ní féidir gach ceist a chur i gcrích ach ar fhreastalaí Prometheus amháin. Ar an láimh eile, le Thanos is féidir leat sonraí a fhiosrú agus a chomhiomlánú ó fhreastalaithe iomadúla Prometheus ós rud é go bhfuil rochtain orthu go léir ó chríochphointe amháin.

Roimhe seo, chun léargas domhanda a fháil in Improbable, d'eagraíomar ár gcásanna Prometheus ina il-leibhéil Cónaidhm Ordlathach. Chiallaigh sé seo a chruthú freastalaí meta Prometheus amháin a bhailíonn roinnt de na méadracht ó gach freastalaí duille.

Thanos - Prometheus Inscálaithe

Bhí fadhb leis an gcur chuige seo. Mar thoradh air sin tá cumraíochtaí níos casta, cuireadh pointe breise féideartha teipe leis, agus cuireadh rialacha casta i bhfeidhm chun a áirithiú nach bhfaigheann an críochphointe cónaidhm ach na sonraí a theastaíonn uaidh. Ina theannta sin, ní cheadaíonn an cineál seo cónaidhm duit fíorléargas domhanda a fháil, ós rud é nach bhfuil na sonraí go léir ar fáil ó iarratas API amháin.

Is dlúthbhaint leis seo ná dearcadh aontaithe ar na sonraí a bhailítear ar fhreastalaithe ard-infhaighteachta (HA) Prometheus. Bailíonn múnla HA Prometheus go neamhspleách sonraí faoi dhó, rud atá chomh simplí nach bhféadfadh sé a bheith níos simplí. Mar sin féin, bheadh ​​sé i bhfad níos áisiúla radharc comhcheangailte agus dídhúbailte den dá shruth a úsáid.

Ar ndóigh, tá gá le freastalaithe Prometheus atá ar fáil go mór. Ag Dodhócha, glacaimid go dáiríre le monatóireacht sonraí nóiméad ar nóiméad, ach is pointe teipe amháin é cás Prometheus amháin a bheith againn in aghaidh an bhraisle. D'fhéadfadh caillteanas sonraí tábhachtacha a bheith mar thoradh ar aon earráid chumraíochta nó teip crua-earraí. Is féidir fiú imscaradh simplí a bheith ina chúis le cur isteach beag ar bhailiú méadrachta mar is féidir le atosú a bheith i bhfad níos faide ná an t-eatramh scrapála.

Stóráil iontaofa sonraí stairiúla

Is é ár n-aisling stórála méadrachta saor, tapa, fadtéarmach (a roinneann formhór na n-úsáideoirí Prometheus). In Improbable, cuireadh iallach orainn an tréimhse choinneála méadrachta a chumrú go naoi lá (do Prometheus 1.8). Cuireann sé seo teorainneacha soiléire ar cé chomh fada siar is féidir linn breathnú.

Tá feabhas tagtha ar Prometheus 2.0 maidir leis seo, ós rud é nach mbíonn tionchar ag líon na sraitheanna ama ar fheidhmíocht fhoriomlán an fhreastalaí a thuilleadh (féach. KubeCon spreagaitheasc faoi Prometheus 2 saor in aisce). Stórálann Prometheus sonraí ar dhiosca áitiúil, áfach. Cé gur féidir le comhbhrú sonraí ardéifeachtúlachta laghdú suntasach a dhéanamh ar úsáid áitiúil SSD, tá teorainn fós ar an méid sonraí stairiúla is féidir a stóráil ar deireadh thiar.

Ina theannta sin, ag Improbable is cúram dúinn faoi iontaofacht, simplíocht agus costas. Tá sé níos deacra dioscaí móra áitiúla a oibriú agus cúltaca a dhéanamh. Cosnaíonn siad níos mó agus éilíonn siad níos mó uirlisí cúltaca, rud a fhágann go bhfuil castacht gan ghá.

íosshampláil

Nuair a thosaigh muid ag obair le sonraí stairiúla, thuig muid go bhfuil deacrachtaí bunúsacha le mór-O a fhágann go bhfuil fiosrúcháin níos moille agus níos moille agus muid ag obair le seachtainí, míonna, agus blianta sonraí.

Bheadh ​​an réiteach caighdeánach ar an bhfadhb seo íosshampláil (downsampling) - laghdú ar an minicíocht samplála comhartha. Le íosshampláil, is féidir linn “scála síos” go raon ama níos mó agus an líon céanna samplaí a choinneáil, ag coinneáil fiosrúcháin sofhreagrach.

Is riachtanas dosheachanta é mionsampláil a dhéanamh ar sheanshonraí d’aon réiteach stórála fadtéarmach agus tá sé lasmuigh de raon feidhme an bhainne Prometheus.

Spriocanna breise

Ar cheann de bhunspriocanna thionscadal Thanos bhí comhtháthú gan uaim le haon suiteálacha Prometheus a bhí ann cheana féin. Ba é an dara sprioc ná éascaíocht oibríochta le híosmhéid bacainní ar iontráil. Ba cheart go mbeadh aon spleáchas sásta go héasca d'úsáideoirí beaga agus móra, rud a chiallaíonn costas bonn íseal freisin.

ailtireacht Thanos

Tar éis dúinn ár spriocanna a liostú san alt roimhe seo, déanaimis oibriú tríothu agus féachaint conas a réitíonn Thanos na fadhbanna seo.

Amharc domhanda

Chun léargas domhanda a fháil ar chásanna reatha Prometheus, ní mór dúinn pointe iontrála iarratais amháin a nascadh le gach freastalaí. Is é seo go díreach a dhéanann comhpháirt Thanos. Carrcharranna. Déantar é a imscaradh in aice le gach freastalaí Prometheus agus feidhmíonn sé mar sheachvótálaí, ag freastal ar shonraí áitiúla Prometheus tríd an gRPC Store API, rud a fhágann gur féidir sonraí sraith ama a aisghabháil de réir chlib agus raon ama.

Ar an taobh eile tá an chomhpháirt Querier gan stát ar scála amach, nach ndéanann mórán níos mó ná fiosrúcháin PromQL a fhreagairt trí API caighdeánach Prometheus HTTP. Déanann Querier, Sidecar agus comhpháirteanna Thanos eile cumarsáid trí prótacal gossip.

Thanos - Prometheus Inscálaithe

  1. Ceanglaíonn Querier, ar iarratas a fháil, leis an bhfreastalaí Store API comhfhreagrach, is é sin, lenár Sidecars agus faigheann sé sonraí sraith ama ó na freastalaithe Prometheus comhfhreagracha.
  2. Ina dhiaidh sin, cuireann sé na freagraí le chéile agus cuireann sé ceist PromQL i gcrích orthu. Is féidir le Querier sonraí dícheangailte agus sonraí dúblacha ó fhreastalaithe HA Prometheus a chumasc.

Réitíonn sé seo píosa mór dár bhfreagra - sonraí ó fhreastalaithe iargúlta Prometheus a chomhcheangal in aon radharc amháin. Go deimhin, ní féidir Thanos a úsáid ach amháin don ghné seo. Ní gá aon athrú a dhéanamh ar fhreastalaithe reatha Prometheus!

Seilfré gan teorainn!

Mar sin féin, luath nó mall beidh muid ag iarraidh sonraí a stóráil thar ghnáth-am coinneála Prometheus. Roghnaíomar stóras réad chun sonraí stairiúla a stóráil. Tá sé ar fáil go forleathan in aon scamall chomh maith le hionaid sonraí ar an áitreabh agus tá sé an-éifeachtach ó thaobh costais de. Ina theannta sin, tá beagnach aon stóráil réad ar fáil tríd an API S3 aitheanta.

Scríobhann Prometheus sonraí ó RAM chuig diosca thart ar gach dhá uair an chloig. Tá na sonraí go léir ar feadh tréimhse socraithe ama sa bhloc sonraí stóráilte agus tá sé do-athlasach. Tá sé seo an-áisiúil toisc nach féidir le Thanos Sidecar ach breathnú ar eolaire sonraí Prometheus agus, de réir mar a thagann bloic nua ar fáil, iad a luchtú isteach i mbuicéid stórála réad.

Thanos - Prometheus Inscálaithe

Ligeann lódáil isteach sa stóráil réad díreach tar éis scríobh chuig diosca duit simplíocht an scraper (Prometheus agus Thanos Sidecar) a choinneáil. A shimplíonn tacaíocht, costas agus dearadh córais.

Mar a fheiceann tú, tá cúltaca sonraí an-simplí. Ach cad faoi cheist a chur ar shonraí i stóráil réad?

Feidhmíonn comhpháirt Thanos Store mar sheachfhreastalaí chun sonraí a aisghabháil ó stóráil réad. Cosúil le Thanos Sidecar, glacann sé páirt sa bhraisle gossip agus cuireann sé an Store API i bhfeidhm. Ar an mbealach seo, is féidir le Querier atá ann cheana féin é a chóireáil mar Thaobhcharr, mar fhoinse eile de shonraí sraith ama - níl aon chumraíocht speisialta ag teastáil.

Thanos - Prometheus Inscálaithe

Is éard atá i bloic sonraí sraith ama ná roinnt comhad mór. Bheadh ​​sé mí-éifeachtach go leor iad a luchtú ar éileamh, agus chun iad a thaisceadh go háitiúil bheadh ​​gá le méid mór cuimhne agus spás diosca.

Ina áit sin, tá a fhios ag Store Gateway conas formáid stórála Prometheus a láimhseáil. A bhuí le sceidealóir fiosrúchán cliste agus gan ach na codanna innéacs riachtanacha de bhloic a thaisceadh, is féidir fiosruithe casta a laghdú go dtí líon íosta iarrataí HTTP chun comhaid stórála agóid a dhéanamh. Ar an mbealach seo, is féidir leat líon na n-iarratas a laghdú ó cheithre go sé ordú méide agus amanna freagartha a bhaint amach ar deacair iad a idirdhealú go ginearálta ó iarratais ar shonraí ar SSD áitiúil.

Thanos - Prometheus Inscálaithe

Mar a léirítear sa léaráid thuas, laghdaíonn Thanos Querier go mór an costas in aghaidh an fhiosrúcháin ar shonraí stórála réad trí fhormáid stórála Prometheus a ghiaráil agus sonraí gaolmhara a chur taobh le taobh. Trí leas a bhaint as an gcur chuige seo, is féidir linn go leor iarratas aonair a chomhcheangal in íoslíon bulcoibríochtaí.

Comhdhlúthú agus íosshampláil

Nuair a dhéantar bloc nua de shonraí sraith ama a luchtú go rathúil i stóráil réad, caithfimid é mar shonraí “stairiúla”, atá ar fáil láithreach tríd an Store Gateway.

Mar sin féin, tar éis roinnt ama, carnann bloic ó fhoinse amháin (Prometheus le Sidecar) agus ní úsáideann siad an cumas innéacsaithe iomlán a thuilleadh. Chun an fhadhb seo a réiteach, thugamar isteach comhpháirt eile ar a dtugtar Compactor. Ní dhéanann sé ach inneall balcadh áitiúil Prometheus a chur i bhfeidhm ar shonraí stairiúla i stóráil réad agus is féidir é a rith mar bhaisc-phost tréimhsiúil simplí.

Thanos - Prometheus Inscálaithe

A bhuí le comhbhrú éifeachtach, ní fadhb i dtéarmaí méid na sonraí é an stóráil a fhiosrú thar thréimhse fhada ama. Mar sin féin, beidh méadú suntasach ar am forghníomhaithe na gceist mar thoradh ar an gcostas féideartha a bhaineann le billiún luach a dhíphacáil agus iad a rith trí phróiseálaí fiosrúcháin. Ar an láimh eile, ós rud é go bhfuil na céadta pointí sonraí in aghaidh an picteilín ar an scáileán, éiríonn sé dodhéanta fiú na sonraí a shamhlú ag réiteach iomlán. Mar sin, ní hamháin gur féidir íosshampláil a dhéanamh, ach ní bheidh sé mar thoradh ar chaillteanas suntasach cruinnis.

Thanos - Prometheus Inscálaithe

Chun sonraí a íosshampláil, déanann Compactor sonraí a chomhiomlánú go leanúnach ag taifeach cúig nóiméad agus uair an chloig. I gcás gach smután amh atá ionchódaithe ag baint úsáide as comhbhrú TSDB XOR, stóráiltear cineálacha éagsúla sonraí comhiomlána, mar shampla min, uasmhéid nó suim le haghaidh bloc amháin. Ligeann sé seo do Querier comhiomlán a roghnú go huathoibríoch atá oiriúnach do cheist áirithe PromQL.

Níl aon chumraíocht speisialta ag teastáil don úsáideoir chun sonraí beachtas laghdaithe a úsáid. Athraíonn Querier go huathoibríoch idir rúin éagsúla agus sonraí amh de réir mar a théann an t-úsáideoir isteach agus amach. Más mian leis, is féidir leis an úsáideoir é seo a rialú go díreach tríd an bparaiméadar “céim” san iarratas.

Ós rud é go bhfuil an costas a bhaineann le GB amháin a stóráil íseal, de réir réamhshocraithe stórálann Thanos sonraí amh, sonraí réitigh cúig nóiméad agus uair an chloig. Ní gá na sonraí bunaidh a scriosadh.

Rialacha taifeadta

Fiú amháin le Thanos, is cuid riachtanach den chruach faireacháin iad na rialacha taifeadta. Laghdaíonn siad castacht, latency, agus costas na bhfiosrúchán. Tá siad áisiúil freisin d’úsáideoirí sonraí comhiomlána a fháil de réir méadrachta. Tá Thanos bunaithe ar chásanna vanilla Prometheus, agus mar sin tá sé inghlactha go leor rialacha taifeadta agus rialacha foláirimh a stóráil ar fhreastalaí Prometheus atá ann cheana féin. Mar sin féin, i gcásanna áirithe b'fhéidir nach leor é seo:

  • Foláireamh agus riail dhomhanda (mar shampla, foláireamh nuair nach n-oibríonn seirbhís ar níos mó ná dhá cheann de thrí bhraisle).
  • Riail maidir le sonraí lasmuigh den stóráil áitiúil.
  • An fonn a stóráil go léir rialacha agus foláirimh in aon áit amháin.

Thanos - Prometheus Inscálaithe

I gcás na gcásanna seo go léir, tá comhpháirt ar leith ar a dtugtar Ruler san áireamh i Thanos, a ríomhann riail agus foláireamh trí Thanos Ceisteanna. Trí StoreAPI aitheanta a sholáthar, is féidir leis an nód Iarratas rochtain a fháil ar mhéadracht úr-ríomh. Níos déanaí déantar iad a stóráil freisin i stóráil réad agus cuirtear ar fáil iad tríd an Store Gateway.

Cumhacht Thanos

Tá Thanos solúbtha go leor le bheith saincheaptha chun freastal ar do chuid riachtanas. Tá sé seo úsáideach go háirithe agus tú ag aistriú ó Prometheus simplí. Déanaimis achoimriú go tapa ar a bhfuil foghlamtha againn faoi chomhpháirteanna Thanos le sampla tapa. Seo conas do chuid fanaile Prometheus a thabhairt isteach i saol na “stórála méadrachta gan teorainn”:

Thanos - Prometheus Inscálaithe

  1. Cuir Thanos Sidecar le do fhreastalaithe Prometheus - mar shampla, coimeádán taobhcharr i pod Kubernetes.
  2. Imscaradh go leor macasamhla Thanos Querier le bheith in ann sonraí a fheiceáil. Ag an gcéim seo is furasta gossip a shocrú idir Scraper agus Querier. Chun idirghníomhaíocht na gcomhpháirteanna a sheiceáil, bain úsáid as an méadrach 'thanos_cluster_members'.

Is leor an dá chéim seo chun radharc domhanda agus dídhúthú sonraí gan uaim a sholáthar ó mhacasamhla HA Prometheus a d’fhéadfadh a bheith ann! Níl ort ach do dheais a nascadh le críochphointe Querier HTTP nó úsáid Chomhéadain Thanos go díreach.

Mar sin féin, má theastaíonn cúltaca méadrach agus stóráil fhadtéarmach uait, beidh ort trí chéim eile a chur i gcrích:

  1. Cruthaigh buicéad AWS S3 nó GCS. Cumraigh Sidecar chun sonraí a chóipeáil chuig na buicéid seo. Is féidir stóráil sonraí áitiúla a íoslaghdú anois.
  2. Imscaradh Store Gateway agus ceangail é le do bhraisle gossip atá ann cheana féin. Anois is féidir leat na sonraí cúltaca a cheistiú!
  3. Imscaradh Compactor chun éifeachtúlacht fiosrúcháin a fheabhsú thar thréimhsí fada ama ag baint úsáide as balcadh agus íosshampláil.

Más mian leat tuilleadh eolais a fháil, ná bíodh leisce ort breathnú ar ár gcuid samplaí soiléire kubernetes и ag tosú!

Gan ach cúig chéim, rinneamar Prometheus a iompú ina chóras monatóireachta iontaofa le radharc domhanda, am stórála gan teorainn agus infhaighteacht ard méadrach.

Iarratas tarraingt: ní mór dúinn tú!

Thanos is tionscadal foinse oscailte é ón tús. Is rogha iontach é comhtháthú gan uaim le Prometheus agus an cumas gan ach cuid de Thanos a úsáid chun do chóras monatóireachta a scála gan stró.

Cuirimid fáilte i gcónaí roimh Iarratais agus Saincheisteanna GitHub Pull. Idir an dá linn, ná bíodh drogall ort teagmháil a dhéanamh linn trí Github Issues nó slack Improbable-eng #thanosmá tá ceisteanna nó aiseolas agat, nó más mian leat do thaithí a roinnt agus é á úsáid! Más maith leat an méid a dhéanaimid ag Improbable, ná bíodh leisce ort teagmháil a dhéanamh linn - bíonn folúntais againn i gcónaí!

Tuilleadh eolais faoin gcúrsa.

Foinse: will.com

Add a comment