Chaidh eadar-theangachadh an artaigil ullachadh gu sònraichte airson oileanaich a’ chùrsa
A’ coimhead air an toradh suaicheanta againn SpatialOS, faodaidh tu tomhas gu bheil Improbable a’ feumachdainn bun-structar sgòthan a tha gu math beothail, aig ìre cruinne le dusanan de chlàran Kubernetes. B’ sinne aon den chiad fheadhainn a chleachd siostam sgrùdaidh
Is e sìmplidheachd agus earbsachd Prometheus aon de na prìomh bhuannachdan aige. Ach, aon uair ‘s gun deach sinn seachad air sgèile sònraichte, ruith sinn a-steach do ghrunn eas-bhuannachdan. Gus fuasgladh fhaighinn air na duilgheadasan sin tha sinn air a leasachadh
Ar n-amasan le Thanos
Aig ìre sònraichte, tha duilgheadasan ag èirigh a tha nas fhaide na comasan vanilla Prometheus. Ciamar a stòradh gu h-earbsach agus gu h-eaconamach petabytes de dhàta eachdraidheil? An gabh seo a dhèanamh gun a bhith a’ toirt buaidh air an ùine freagairt? A bheil e comasach faighinn chun a h-uile meatrach a tha suidhichte air diofar luchd-frithealaidh Prometheus le aon iarrtas API? A bheil dòigh sam bith air dàta ath-chruthaichte a chruinneachadh a’ cleachdadh Prometheus HA?
Gus dèiligeadh ris na cùisean sin, chruthaich sinn Thanos. Tha na h-earrannan a leanas a’ mìneachadh mar a dhèilig sinn ris na cùisean sin agus a’ mìneachadh ar n-amasan.
A’ ceasnachadh dàta bho ioma-eisimpleirean Prometheus (ceist chruinneil)
Tha Prometheus a’ tabhann dòigh-obrach gnìomhail a thaobh rùsgadh. Tha eadhon aon fhrithealaiche Prometheus a’ toirt seachad scalability gu leòr gus luchd-cleachdaidh a shaoradh bho iom-fhillteachd sgrìobadh còmhnard anns cha mhòr a h-uile cùis cleachdaidh.
Ged is e deagh mhodail cleachdadh a tha seo, gu tric feumar faighinn gu dàta air diofar luchd-frithealaidh Prometheus tro aon API no UI - sealladh cruinneil. Gu dearbh, tha e comasach grunn cheistean a thaisbeanadh ann an aon phannal Grafana, ach chan urrainnear gach ceist a chuir gu bàs ach air aon fhrithealaiche Prometheus. Air an làimh eile, le Thanos faodaidh tu ceasnachadh agus cruinneachadh dàta bho iomadh seirbheisiche Prometheus leis gu bheil iad uile rim faighinn bho aon àite crìochnachaidh.
Roimhe sin, gus sealladh cruinneil fhaighinn ann an Improbable, chuir sinn na h-eisimpleirean Prometheus againn air dòigh gu ioma-ìre
Bha an dòigh-obrach seo na dhuilgheadas. Tha seo air leantainn gu rèiteachadh nas iom-fhillte, puing fàilligeadh a bharrachd a dh’ fhaodadh a bhith ann, agus cur an sàs riaghailtean iom-fhillte gus dèanamh cinnteach nach fhaigh an t-ionad crìochnachaidh co-aonaichte ach an dàta a tha a dhìth air. A bharrachd air an sin, chan eil an seòrsa caidreachas seo a’ leigeil leat fìor shealladh cruinne fhaighinn, leis nach eil a h-uile dàta ri fhaighinn bho aon iarrtas API.
Gu dlùth co-cheangailte ri seo tha sealladh aonaichte den dàta a chaidh a chruinneachadh air frithealaichean Prometheus le ruigsinneachd àrd (HA). Bidh modal HA Prometheus gu neo-eisimeileach a’ cruinneachadh dàta dà uair, a tha cho sìmplidh nach b’ urrainn a bhith nas sìmplidh. Ach, bhiodh e mòran na b’ fhasa sealladh aonaichte agus dùblaichte den dà shruth a chleachdadh.
Gu dearbh, tha feum air frithealaichean Prometheus a tha rim faighinn gu mòr. Aig Improbable, bidh sinn a’ toirt aire dha-rìribh do sgrùdadh dàta mionaid-air-mionaid, ach tha aon eisimpleir Prometheus gach brabhsair na aon phuing fàiligeadh. Faodaidh mearachd rèiteachaidh no fàilligeadh bathar-cruaidh sam bith leantainn gu call dàta cudromach. Faodaidh eadhon cleachdadh sìmplidh beagan aimhreit adhbhrachadh ann an cruinneachadh meatrach oir faodaidh ath-thòiseachadh a bhith fada nas fhaide na an ùine sgrìobaidh.
Stòradh earbsach de dhàta eachdraidheil
Is e stòradh meatrach saor, luath, fad-ùine ar bruadar (air a cho-roinn leis a’ mhòr-chuid de luchd-cleachdaidh Prometheus). Ann an Do-chreidsinneach, thàinig oirnn an ùine gleidhidh meatrach a rèiteachadh gu naoi latha (airson Prometheus 1.8). Tha seo a’ cur crìochan follaiseach air dè cho fada air ais as urrainn dhuinn coimhead.
Tha Prometheus 2.0 air a thighinn air adhart a thaobh seo, leis nach eil an àireamh de shreath ùine a’ toirt buaidh tuilleadh air coileanadh iomlan an fhrithealaiche (faic.
A bharrachd air an sin, aig Improbable tha cùram againn mu earbsachd, sìmplidheachd agus cosgais. Tha e nas duilghe diosgan mòra ionadail obrachadh agus cùl-taic. Bidh iad a’ cosg barrachd agus bidh feum aca air barrachd innealan cùl-taic, a’ leantainn gu iom-fhillteachd neo-riatanach.
Downsampling
Aon uair ‘s gun do thòisich sinn ag obair le dàta eachdraidheil, thuig sinn gu bheil duilgheadasan bunaiteach ann le big-O a bhios a’ dèanamh cheistean nas slaodaiche agus nas slaodaiche fhad ‘s a bhios sinn ag obair le seachdainean, mìosan, agus bliadhnaichean de dhàta.
Bhiodh am fuasgladh àbhaisteach don duilgheadas seo
Tha ìsleachadh seann dàta na riatanas do-sheachanta airson fuasgladh stòraidh fad-ùine sam bith agus tha e taobh a-muigh raon vanilla Prometheus.
Amasan a bharrachd
B ’e aon de na h-amasan tùsail aig pròiseact Thanos a bhith ag amalachadh gu sgiobalta le ionadan Prometheus sam bith a bha ann mu thràth. B’ e an dàrna amas furasta obrachadh le glè bheag de bhacaidhean air faighinn a-steach. Bu chòir earbsa sam bith a bhith riaraichte gu furasta airson luchd-cleachdaidh beag agus mòr, a tha cuideachd a 'ciallachadh cosgais bunaiteach ìseal.
Thanos ailtireachd
Às deidh dhuinn na h-amasan againn a liostadh san roinn roimhe seo, obraichidh sinn troimhe agus faic mar a dh’ fhuasglas Thanos na duilgheadasan sin.
Sealladh cruinne
Gus sealladh cruinneil fhaighinn a bharrachd air na h-eisimpleirean Prometheus a th’ ann mar-thà, feumaidh sinn aon àite inntrigidh iarrtas a cheangal ris a h-uile seirbheisiche. Is e seo dìreach a bhios pàirt Thanos a’ dèanamh.
Air an taobh eile tha am pàirt Querier gun stàit, nach eil a’ dèanamh mòran a bharrachd air dìreach ceistean PromQL a fhreagairt tro API àbhaisteach Prometheus HTTP. Bidh Querier, Sidecar agus co-phàirtean Thanos eile a’ conaltradh tro
- Bidh Querier, nuair a gheibh e iarrtas, a ’ceangal ris an t-seirbheisiche Store API co-fhreagarrach, is e sin, ris na Sidecars againn agus a’ faighinn dàta sreath ùine bho na frithealaichean Prometheus co-fhreagarrach.
- Às deidh sin, bidh e a’ cothlamadh nam freagairtean agus a’ cur an gnìomh ceist PromQL orra. Faodaidh Querier an dà chuid dàta neo-cheangailte agus dàta dùblaichte bho luchd-frithealaidh Prometheus HA a thoirt còmhla.
Bidh seo a’ fuasgladh pìos mòr den tòimhseachan againn - a’ cothlamadh dàta bho luchd-frithealaidh iomallach Prometheus ann an aon shealladh. Gu dearbh, chan urrainnear Thanos a chleachdadh ach airson am feart seo. Chan fheumar atharrachadh a dhèanamh air na frithealaichean Prometheus a th’ ann mar-thà!
Beatha sgeilp gun chrìoch!
Ach, nas luaithe no nas fhaide bidh sinn airson dàta a stòradh nas fhaide na an ùine gleidhidh àbhaisteach Prometheus. Thagh sinn stòradh stuthan gus dàta eachdraidheil a stòradh. Tha e ri fhaighinn gu farsaing ann an sgòthan sam bith a bharrachd air ionadan dàta air togalaichean agus tha e gu math cosg-èifeachdach. A bharrachd air an sin, tha cha mhòr stòr stuth sam bith ri fhaighinn tron API S3 ainmeil.
Bidh Prometheus a’ sgrìobhadh dàta bho RAM gu diosc timcheall air a h-uile dà uair a thìde. Anns a ’bhloc dàta a tha air a stòradh tha an dàta gu lèir airson ùine stèidhichte agus tha e do-ruigsinneach. Tha seo gu math goireasach oir is urrainn dha Thanos Sidecar dìreach coimhead air an eòlaire dàta Prometheus agus, mar a bhios blocaichean ùra rim faighinn, an luchdachadh a-steach do bhucaid stòraidh stuthan.
Le bhith a’ luchdachadh a-steach do stòradh stuthan dìreach às deidh sgrìobhadh gu diosc leigidh sin leat sìmplidheachd an sgrìob (Prometheus agus Thanos Sidecar) a chumail suas. A tha a’ sìmpleachadh taic, cosgais agus dealbhadh siostam.
Mar a chì thu, tha cùl-taic dàta gu math sìmplidh. Ach dè mu dheidhinn a bhith a’ ceasnachadh dàta ann an stòradh stuthan?
Tha am pàirt Thanos Store ag obair mar neach-ionaid gus dàta fhaighinn air ais bho stòradh stuthan. Coltach ri Thanos Sidecar, bidh e a ’gabhail pàirt anns a’ bhuidheann gossip agus a ’buileachadh an Store API. San dòigh seo, faodaidh Querier a th’ ann mar-thà a làimhseachadh mar Sidecar, mar stòr eile de dhàta sreath ùine - chan eil feum air rèiteachadh sònraichte.
Tha grunn fhaidhlichean mòra ann am blocaichean dàta sreath ùine. Bhiodh an luchdachadh air iarrtas gu math neo-èifeachdach, agus le bhith gan tasgadh gu h-ionadail bhiodh feum air tòrr cuimhne agus àite diosc.
An àite sin, tha fios aig Store Gateway mar a làimhsicheas tu cruth stòraidh Prometheus. Taing do chlàr-ama ceiste snasail agus a ’tasgadh dìreach na pàirtean clàr-amais riatanach de bhlocaichean, tha e comasach ceistean iom-fhillte a lughdachadh gu àireamh as lugha de dh’ iarrtasan HTTP airson faidhlichean stòraidh a chuir an aghaidh. San dòigh seo, faodaidh tu an àireamh de dh’iarrtasan a lughdachadh le ceithir gu sia òrdughan meudachd agus amannan freagairt a choileanadh a tha sa chumantas duilich eadar-dhealachadh bho iarrtasan gu dàta air SSD ionadail.
Mar a chithear san dealbh gu h-àrd, tha Thanos Querier gu mòr a’ lughdachadh cosgais gach ceist mu stòradh dàta le bhith a’ cleachdadh cruth stòraidh Prometheus agus a’ cur dàta co-cheangailte ri taobh. A’ cleachdadh an dòigh-obrach seo, is urrainn dhuinn mòran iarrtasan singilte a chur còmhla ann an àireamh as lugha de dh’ obraichean mòra.
Compactation agus downsampling
Aon uair ‘s gu bheil bloc ùr de dhàta sreath ùine air a luchdachadh gu soirbheachail ann an stòradh stuthan, bidh sinn ga làimhseachadh mar dàta“ eachdraidheil ”, a tha ri fhaighinn sa bhad tro Gheata an Stòr.
Ach, às deidh beagan ùine, bidh blocaichean bho aon stòr (Prometheus le Sidecar) a’ cruinneachadh agus chan eil iad a’ cleachdadh an làn chomas clàrachaidh tuilleadh. Gus an duilgheadas seo fhuasgladh, thug sinn a-steach pàirt eile ris an canar Compactor. Tha e dìreach a’ buntainn einnsean teannachaidh ionadail Prometheus ri dàta eachdraidheil ann an stòradh stuthan agus faodar a ruith mar obair baidse sìmplidh bho àm gu àm.
Mar thoradh air teannachadh èifeachdach, chan eil a bhith a’ ceasnachadh an stòraidh thar ùine mhòr na dhuilgheadas a thaobh meud dàta. Ach, tha e do-sheachanta gum bi àrdachadh mòr ann an ùine cur an gnìomh ceist mar thoradh air a’ chosgais a dh’ fhaodadh a bhith ann a bhith a’ dì-phapadh billean luachan agus gan ruith tro phròiseasar ceist. Air an làimh eile, leis gu bheil ceudan de phuingean dàta gach piogsail air an sgrion, bidh e do-dhèanta eadhon an dàta fhaicinn aig làn rùn. Mar sin, chan e a-mhàin gu bheil ath-samplachadh comasach, ach cuideachd cha toir sin call follaiseach air cruinneas.
Gus dàta a lughdachadh, bidh Compactor gu leantainneach a’ cruinneachadh dàta aig rùn còig mionaidean agus uair a thìde. Airson gach pìos amh a tha air a chòdachadh le bhith a’ cleachdadh teannachadh TSDB XOR, tha diofar sheòrsaichean dàta iomlan air an stòradh, leithid min, max no suim airson aon bhloca. Leigidh seo le Querier cruinneachadh gu fèin-ghluasadach a thaghadh a tha iomchaidh airson ceist PromQL sònraichte.
Chan eil feum air rèiteachadh sònraichte gus an cleachd an neach-cleachdaidh dàta mionaideachd nas lugha. Bidh Querier gu fèin-ghluasadach ag atharrachadh eadar diofar rùintean agus dàta amh mar a bhios an neach-cleachdaidh a’ gluasad a-steach agus a-mach. Ma thogras tu, faodaidh an neach-cleachdaidh smachd a chumail air seo gu dìreach tron pharamadair “ceum” san iarrtas.
Leis gu bheil cosgais stòradh aon GB ìosal, gu gnàthach bidh Thanos a’ stòradh dàta amh, dàta fuasglaidh còig mionaidean agus uair a thìde. Chan eil feum air an dàta tùsail a dhubhadh às.
Riaghailtean clàraidh
Eadhon le Thanos, tha riaghailtean clàraidh nam pàirt riatanach den stac sgrùdaidh. Bidh iad a’ lughdachadh iom-fhillteachd, latency, agus cosgais cheistean. Tha iad cuideachd goireasach dha luchd-cleachdaidh dàta cruinn fhaighinn a rèir meatrach. Tha Thanos stèidhichte air suidheachaidhean vanilla Prometheus, agus mar sin tha e iomchaidh gu leòr riaghailtean clàraidh agus riaghailtean rabhaidh a stòradh air frithealaiche Prometheus a tha ann mar-thà. Ach, ann an cuid de chùisean is dòcha nach bi seo gu leòr:
- Rabhadh agus riaghailt chruinneil (mar eisimpleir, rabhadh nuair nach obraich seirbheis air barrachd air dhà de thrì cruinneachaidhean).
- Riaghailt airson dàta taobh a-muigh stòradh ionadail.
- Am miann a h-uile riaghailt agus rabhadh a stòradh ann an aon àite.
Airson na cùisean sin uile, tha Thanos a ’toirt a-steach pàirt air leth ris an canar Ruler, a bhios a’ tomhas riaghladh agus rabhadh tro Thanos Queries. Le bhith a’ toirt seachad StoreAPI ainmeil, gheibh an nód Ceist cothrom air meatrach a tha air ùr obrachadh a-mach. Nas fhaide air adhart bidh iad cuideachd air an stòradh ann an stòradh stuthan agus rim faighinn tro Gheata an Stòr.
Cumhachd Thanos
Tha Thanos sùbailte gu leòr airson a ghnàthachadh gus freagairt air na feumalachdan agad. Tha seo gu sònraichte feumail nuair a bhios tu a’ gluasad bho Prometheus soilleir. Bheir sinn geàrr-chunntas gu sgiobalta air na dh’ ionnsaich sinn mu cho-phàirtean Thanos le eisimpleir sgiobalta. Seo mar a bheir thu do bhanile Prometheus a-steach do shaoghal “stòradh meatrach gun chrìoch”:
- Cuir Thanos Sidecar ris na frithealaichean Prometheus agad - mar eisimpleir, inneal-càr taobh ann am pod Kubernetes.
- Cleachd iomadh mac-samhail Thanos Querier gus an urrainn dhut dàta fhaicinn. Aig an ìre seo tha e furasta gossip a stèidheachadh eadar Scraper agus Querier. Gus eadar-obrachadh cho-phàirtean a dhearbhadh, cleachd am meatrach 'thanos_cluster_members'.
Tha dìreach an dà cheum seo gu leòr gus sealladh cruinneil a thoirt seachad agus lughdachadh dàta gun fhiosta bho mac-samhail Prometheus HA! Dìreach ceangail na deas-bhòrd agad ri puing crìochnachaidh Querier HTTP no cleachd an Thanos UI gu dìreach.
Ach, ma tha feum agad air cùl-taic meatrach agus stòradh fad-ùine, feumaidh tu trì ceumannan eile a choileanadh:
- Cruthaich bucaid AWS S3 no GCS. Dèan rèiteachadh air Sidecar gus dàta a chopaigeadh gu na cuinneagan sin. Faodar stòradh dàta ionadail a lughdachadh a-nis.
- Cleachd Store Gateway agus ceangail e ris a’ bhuidheann gossip agad. A-nis faodaidh tu an dàta cùl-taic a cheasnachadh!
- Cleachd Compactor gus èifeachdas ceist a leasachadh thar amannan fada a’ cleachdadh teannachadh agus downsampling.
Ma tha thu airson tuilleadh fhaighinn a-mach, na bi leisg sùil a thoirt air an fheadhainn againn
Ann an dìreach còig ceumannan, thionndaidh sinn Prometheus gu bhith na shiostam sgrùdaidh earbsach le sealladh cruinneil, ùine stòraidh gun chrìoch agus cothrom àrd air meatrach.
Iarrtas tarraing: tha feum againn ort!
Bidh sinn an-còmhnaidh a’ cur fàilte air Iarrtasan is Cùisean GitHub Pull. Anns an eadar-ama, faodaidh tu fios a chuir thugainn tro Github Issues no slack
Source: www.habr.com