Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Salaam wote. Chini ni nakala ripoti kutoka kwa Mkutano Mkuu wa 4 wa Ufuatiliaji.

Prometheus - mfumo wa ufuatiliaji wa mifumo na huduma mbalimbali, kwa msaada ambao wasimamizi wa mfumo wanaweza kukusanya taarifa kuhusu vigezo vya sasa vya mifumo na kuanzisha arifa za kupokea arifa kuhusu kupotoka katika uendeshaji wa mifumo.

Ripoti itajumuisha ulinganisho Thanos и VictoriaMetrics - miradi ya uhifadhi wa muda mrefu wa metriki za Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Cheza video

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kwanza, nitakuambia kuhusu Prometheus. Huu ni mfumo wa ufuatiliaji ambao unakusanya vipimo kutoka kwa malengo mahususi na kuyahifadhi kwenye hifadhi ya ndani. Prometheus inaweza kurekodi vipimo kwenye hifadhi ya mbali na inaweza kutoa arifa na sheria za kurekodi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mapungufu ya Prometheus:

  • Haina mwonekano wa kimataifa wa hoja. Hii ni wakati una mifano nyingi huru ya prometheus. Wanakusanya vipimo. Na ungependa kuuliza juu ya vipimo hivi vyote vilivyokusanywa kutoka matukio tofauti ya prometheus. Prometheus hairuhusu hii.
  • Kwa prometheus, utendaji ni mdogo kwa seva moja tu. Prometheus haiongezei kiotomatiki kwenye seva nyingi. Unaweza tu kugawanya malengo yako kati ya Prometheus nyingi.
  • Upeo wa vipimo katika Prometheus ni mdogo kwa seva moja tu kwa sababu hiyo hiyo ambayo haiwezi kuongeza kiotomatiki kwenye seva nyingi.
  • Si rahisi sana kupanga usalama wa data katika Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Suluhu za matatizo/changamoto hizi?

Suluhu ni:

Suluhisho hizi zote ni za uhifadhi wa mbali wa data iliyokusanywa na Prometheus. Wanasuluhisha shida ya uhifadhi wa mbali kutoka kwa slaidi iliyopita kwa njia tofauti. Katika uwasilishaji huu nitazungumza tu juu ya suluhisho mbili za kwanza: Thanos и VictoriaMetrics.

Kwa mara ya kwanza habari kuhusu Thanos alionekana na kiungo hiki. Usanifu umeelezewa hapo Thanos na jinsi inavyofanya kazi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos inachukua data ambayo Prometheus alihifadhi kwenye diski ya ndani na kuinakili kwa S3, kwa GCS au kwa hifadhi nyingine ya kitu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kwa hivyo Thanos hutoa mwonekano wa swala la kimataifa. Unaweza kuuliza data iliyohifadhiwa katika hifadhi ya kitu kutoka matukio mengi ya Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos inasaidia PromQL na API ya kuuliza ya Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos hutumia msimbo wa Prometheus kuhifadhi data.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos inatengenezwa na watengenezaji sawa na Prometheus.

juu ya VictoriaMetrics. Hapa kiungo, ambapo tulizungumza kwanza VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics hupokea data kutoka kwa prometheus kadhaa API ya kuandika ya mbali itifaki inayoungwa mkono na Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics hutoa mwonekano wa maswali ya kimataifa, kwa kuwa matukio mengi ya Prometheus yanaweza kuandika data kwa VictoriaMetrics moja. Ipasavyo, unaweza kuuliza juu ya data hii yote.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics pia inasaidia, kama Thanos, PromQL na API ya kuuliza ya Prometheus.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Tofauti na Thanos, msimbo wa chanzo wa VictoriaMetrics umeandikwa kuanzia mwanzo na umeboreshwa kwa kasi na matumizi ya rasilimali.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics, tofauti na Thanos, mizani wima na mlalo. Kula Toleo la nodi moja, ambayo hupima wima. Unaweza kuanza na kichakataji kimoja na kumbukumbu ya GB 1 na kukua taratibu hadi mamia ya vichakataji na TB 1 ya kumbukumbu. VictoriaMetrics inaweza kutumia nyenzo hizi zote. Utendaji wake utaongezeka kwa takriban mara 100 ikilinganishwa na mfumo wa 1-msingi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Historia ya Thanos ilianza mnamo Novemba 2017, wakati ahadi ya kwanza ya umma ilionekana. Kabla ya hii, Thanos ilitengenezwa ndani haiwezekani.io.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Juni 2019 kulikuwa na toleo la kihistoria 0.5.0, ambalo kuondolewa uvumi itifaki. Aliondolewa kutoka Thanos kwa sababu hakufanya vyema. Mara nyingi nguzo ya Thanos haikufanya kazi kwa usahihi, nodi ziliunganishwa nayo vibaya kwa sababu ya itifaki ya kejeli. Kwa hiyo, tuliamua kumuondoa hapo. Nadhani huu ni uamuzi sahihi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Juni 2019, walituma nambari ya maombi 256 в Cloud Native Computing Foundation.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Na baada ya miezi michache Thanos alikubaliwa ndani Cloud Native Computing Foundation, ambayo inajumuisha Prometheus, Kubernetes na miradi mingine maarufu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Januari 2018, ukuzaji wa VictoriaMetrics ulianza.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Septemba 2018, nilitaja hadharani VictoriaMetrics kwa mara ya kwanza.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Desemba 2018, toleo la nodi moja lilichapishwa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Mei 2019 zilichapishwa vyanzo vya matoleo ya nodi Moja na nguzo.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mnamo Juni 2019, kama Thanos, tuliwasilisha ombi kwa msingi wa CNCF chini ya nambari 255. Tulituma ombi siku moja kabla ya Thanos kutuma maombi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Lakini, kwa bahati mbaya, bado hatujakubaliwa huko. Usaidizi wa jumuiya unahitajika.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Hebu tuangalie slaidi muhimu zaidi zinazoonyesha usanifu wa Thanos na VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Wacha tuanze na Thanos. Vipengele vya njano ni vipengele vya Prometheus. Kila kitu kingine ni vipengele vya Thanos. Wacha tuanze na sehemu muhimu zaidi. Thanos Sidecar ni sehemu ambayo imewekwa karibu na kila Prometheus. Inapakia data ya Prometheus kutoka kwa hifadhi ya ndani hadi S3 au Hifadhi nyingine ya Kitu.

Pia kuna sehemu inayoitwa Thanos Store Gateway, ambayo inaweza kusoma data hii kutoka kwa Hifadhi ya Kitu baada ya maombi yanayoingia kutoka kwa Thanos Query. Hoja ya Thanos hutumia API ya PromQL na Prometheus. Hiyo ni, kutoka nje inaonekana kama Prometheus. Hupokea hoja za PromQL, na kuzituma kwa Thanos Store Gateway, Thanos Store Gateway hurejesha data muhimu kutoka kwa Hifadhi ya Kitu, na kuituma tena.

Lakini tunahifadhi data katika Hifadhi ya Kitu bila saa mbili zilizopita kutokana na kipengele cha utekelezaji wa Thanos Sidecar, ambacho hakiwezi kupakia saa mbili zilizopita kwenye Uhifadhi wa Kitu S3, kwani Prometheus bado hajaunda faili za saa hizi mbili katika hifadhi ya ndani.

Uliamuaje kuzunguka hii? Thanos Query, pamoja na maombi kwa Thanos Store Gateway, hutuma maombi sambamba kwa kila Thanos Sidecar, ambayo iko karibu na Prometheus.

Na Thanos Sidecar, kwa upande wake, hutuma maombi zaidi kwa Prometheus, na kupata data kwa saa mbili zilizopita.

Mbali na vipengele hivi, pia kuna sehemu ya hiari bila ambayo Thanos haitafanya vizuri. Hii ni Thanos Compact, ambayo ina jukumu la kuunganisha faili ndogo kwenye Hifadhi ya Kitu hadi faili kubwa ambazo zilipakiwa hapa na Thanos Sidecars. Thanos Sidecar hupakia faili za data hapo baada ya saa mbili. Faili hizi, ikiwa hazijaunganishwa kwenye faili kubwa, basi idadi yao inaweza kukua kwa kiasi kikubwa sana. Kadiri faili kama hizo zinavyoongezeka, ndivyo kumbukumbu inavyohitajika kwa Thanos Store Gateway, ndivyo rasilimali nyingi zinahitajika ili kuhamisha data kupitia mtandao na metadata. Thanos Store Gateway haifanyi kazi. Kwa hivyo, inahitajika kuendesha Thanos Compact, ambayo inaunganisha faili ndogo hadi kubwa, ili kuwe na faili chache kama hizo na kupunguza juu ya lango la Thanos Store.

Kuna pia sehemu kama vile Mtawala wa Thanos. Hutekeleza sheria za arifa za Prometheus na inaweza kutathmini sheria za kurekodi za Prometheus ili kuandika data kurudi kwenye Hifadhi ya Kitu. Lakini sehemu hii haipendekezi kutumiwa, kwa sababu ... Yeye inaelekea kurudisha data ambayo haijakamilika.

Huu ni mpango rahisi wa Thanos.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Sasa hebu tulinganishe na mpango wa VictoriaMetrics.

VictoriaMetrics ina matoleo 2: Nodi moja na toleo la nguzo. Nodi moja inaendesha kwenye kompyuta moja. Nodi moja haina vipengele hivi, jozi moja tu. Hii binary kwenye slaidi inaonekana kama mraba huu. Kila kitu kilicho ndani ya mraba ni yaliyomo kwenye faili ya binary kwa toleo la nodi Moja. Huna haja ya kujua kuhusu yeye. Unaendesha tu mfumo wa jozi na kila kitu kinatufanyia kazi.

Toleo la nguzo ni ngumu zaidi. Ndani yake kuna vipengele vitatu tofauti: vmselect, vminsert na vmstorage. Kutoka kwa jina lao inapaswa kuwa wazi kile kila mmoja wao anafanya. Kipengele cha Chomeka kinakubali data katika miundo tofauti: kutoka kwa API ya uandishi ya mbali ya Prometheus, itifaki ya laini ya Utitiri, itifaki ya Graphite na itifaki ya OpenTSDB. Sehemu ya Ingiza inazikubali, kuzichanganua na kuzisambaza kati ya vipengee vya hifadhi vilivyopo, ambapo data tayari imehifadhiwa. Sehemu ya Chagua, kwa upande wake, inakubali hoja za PromQL. Anatekeleza PromQL, pamoja na API ya kuuliza ya Prometheus, na inaweza kutumika kama mbadala wa Prometheus huko Grafana au wateja wengine wa API ya Prometheus. Select inakubali ombi la promql, inachanganua, inasoma data muhimu kwa ajili ya kutekeleza ombi hili kutoka kwa nodi za hifadhi, huchakata data hii na kurudisha jibu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Hebu tulinganishe ugumu wa kusakinisha Thanos na VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Wacha tuanze na Thanos. Kabla ya kuanza kufanya kazi na Thanos, unahitaji kuunda ndoo katika Hifadhi ya Kitu, kama vile S3 au GCS, ili Thanos Sidecar iweze kuiandikia data.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kisha kwa kila Prometheus unahitaji kusakinisha Thanos Sidecar. Kabla ya hii, unahitaji kukumbuka kuzima ujumuishaji wa data katika Prometheus. Ubandikaji wa data mara kwa mara hubana data katika hifadhi ya ndani ya Prometheus ili kupunguza matumizi ya rasilimali.

Unaposakinisha Thanos Sidecar kwenye Prometheus yako, ni lazima uzime ugandamizo huu wa data, kwa sababu Thanos Sidecar haifanyi kazi ipasavyo ikiwa umewasha mshikamano wa data. Hii inamaanisha kuwa Prometheus yako inaanza kuhifadhi data katika vizuizi vya saa mbili na kuacha kuunganisha vitalu hivyo kuwa vikubwa zaidi. Ipasavyo, ikiwa utauliza maswali yanayozidi muda wa saa mbili zilizopita, basi hazitafanya kazi kwa ufanisi kama ambavyo zingefanya kazi ikiwa ujumuishaji wa data ungewezeshwa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kwa hivyo, Thanos inapendekeza kupunguza muda wa kuhifadhi data katika hifadhi ya ndani hadi saa 6-8 ili kupunguza upeo wa juu wa idadi kubwa ya vitalu vidogo.

Mara baada ya kusakinisha Thanos Sidecar, lazima usakinishe vipengele viwili kwa kila Ndoo ya Hifadhi ya Kitu. Hizi ni Thanos Compactor na Thanos Store Gateway.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Baada ya hapo, unahitaji kusakinisha Hoja ya Thanos na kuisanidi ili iweze kuunganishwa kwenye Lango zote za Thanos Store ulizo nazo, na pia iweze kuunganisha kwa Thanos Sidecars zote.

Kunaweza kuwa na tatizo kidogo hapa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Unahitaji kusanidi muunganisho wa kuaminika na salama kutoka kwa Thanos Query hadi vipengele hivi. Na ikiwa Prometheus yako iko katika vituo tofauti vya data, au katika VPC tofauti, basi miunganisho yao kutoka nje ni marufuku. Lakini ili Thanos Query ifanye kazi, unahitaji kwa njia fulani kusanidi muunganisho hapo, na lazima utafute njia.

Ikiwa una vituo vingi vya data vile, basi, ipasavyo, kuegemea kwa mfumo mzima kunapungua. Kwa kuwa Hoja ya Thanos lazima idumishe miunganisho kila mara kwa Thanos Sidecars zote zilizo katika vituo tofauti vya data. Kwa kila ombi linaloingia, itaelekeza maombi kwa Thanos Sidecars zote. Ikiwa muunganisho umekatizwa, utapokea seti isiyokamilika ya data, au utapokea jibu la "nguzo iko chini".

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Katika VictoriaMetrics kila kitu ni rahisi kidogo. Kwa toleo la nodi moja, unahitaji tu kuendesha binary moja na kila kitu kinafanya kazi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Katika toleo la nguzo, inatosha kuendesha aina zote tatu za vifaa hapo juu kwa idadi yoyote unayohitaji, au kutumia. chati ya usukani kuharakisha uzinduzi wa vipengee katika Kubernetes. Pia tunapanga kutengeneza opereta wa Kubernetes. Chati ya Helm haijumuishi visa vingine na hukuruhusu kujipiga risasi kwenye mguu. Kwa mfano, inakuwezesha kupunguza idadi ya nodes za kuhifadhi, ambayo itasababisha kupoteza data.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Baada ya kuzindua binary moja au toleo la nguzo, unahitaji tu kuongeza Prometheus kwenye usanidi. mpangilio wa url ya uandishi wa mbaliili ianze kuandika data sambamba na uhifadhi wa ndani na uhifadhi wa mbali. Kama unavyoona, usanidi huu unapaswa kufanya kazi kwa uhakika zaidi ikilinganishwa na usanidi wa Thanos. Hatuhitaji kudumisha muunganisho kutoka VictoriaMetrics hadi Prometheus zote, kwa sababu Prometheus wenyewe huunganisha kwenye VictoriaMetrics na kusambaza data.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Wacha tuzingatie msaada wa Thanos na VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos inahitaji kufuatilia Sidecar ili kuhakikisha kuwa hawaachi kupakia data kwenye Hifadhi ya Kitu. Huenda zikasimamisha upakuaji huu wa data kwa sababu ya hitilafu za upakuaji, kwa mfano muunganisho wako wa mtandao kwenye Hifadhi ya Kipengee umekatizwa kwa muda, au Hifadhi ya Kitu haipatikani kwa muda. Thanos Sidecar atagundua hili kwa wakati huu, aripoti hitilafu, inaweza kuanguka na kuacha kufanya kazi. Ikiwa hutaifuatilia, basi utaacha kuhamisha data kwenye Hifadhi ya Kitu. Ikiwa muda wa kuhifadhi utapita (masaa 6-8 yanapendekezwa), basi utapoteza data ambayo haikuishia kwenye Hifadhi ya Kitu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kompakta za Thanos zinaweza kuacha kufanya kazi kwa sababu ya mbio ni pamoja na Sidecar. Kompyuta huchukua data kutoka kwa Hifadhi ya Kitu na kuiunganisha katika vipande vikubwa vya data. Kwa kuwa kompakta hazijaoanishwa na Sidecars, yafuatayo yanaweza kutokea: Sidecar bado haijapata muda wa kukamilisha kizuizi, Compactor anaamua kuwa kizuizi hiki kimeandikwa kabisa. Kompyuta inaanza kuisoma. Haisomi kizuizi kikamilifu na huacha kufanya kazi. Tazama maelezo hapa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Store Gateway inaweza kurudisha data isiyolingana kutokana na mbio kati ya Compactor na Sidecars. Jambo hilo hilo hufanyika hapa, kwa sababu Lango la Hifadhi halijaoanishwa na Compacts na Sidecars kwa njia yoyote. Ipasavyo, hali za mbio zinaweza kutokea wakati Store Gate haioni sehemu ya data au kuona data isiyo ya lazima.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kipengele cha Hoji katika Thanos kwa chaguomsingi hurejesha matokeo kiasi ikiwa baadhi ya magari ya kando au Lango la Hifadhi hazipatikani kwa sasa. Utapokea sehemu ya data, na hutajua hata kwamba haukupokea data zote. Hivi ndivyo inavyofanya kazi kwa chaguo-msingi. Katika hali kama hiyo, VictoriaMetrics hurejesha data iliyowekwa alama kama sehemu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Tofauti na Thanos, VictoriaMetrics mara chache hupoteza data. Hata kama muunganisho kutoka kwa Prometheus hadi VictoriaMetrics umekatizwa, hili si tatizo, kwa kuwa Prometheus anaendelea kurekodi data mpya inayoingia kwenye Kumbukumbu ya Andika Mbele, ambayo ukubwa wake ni saa 2. Ukirejesha muunganisho wako kwenye VictoriaMetrics ndani ya saa mbili, data yako haitapotea. Prometheus inaweza kuongeza data baada ya kurejesha muunganisho kwa VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Tofauti na Thanos, ambayo huandika data ili kuhifadhi vitu baada ya saa mbili tu, Prometheus hunakili data kiotomatiki kwa kutumia itifaki ya uandishi wa mbali hadi hifadhi ya mbali, kama vile VictoriaMetrics. Huogopi kupoteza hifadhi ya ndani katika Prometheus. Ikiwa ghafla alipoteza hifadhi ya ndani, basi katika hali mbaya zaidi utapoteza sekunde za mwisho za data ambazo hazikuwa na muda wa kurekodi katika hifadhi ya mbali.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kubernetes inasimamia nguzo kiotomatiki, tofauti na Thanos. Ni vigumu kuweka vijenzi vyote vya Thanos kwenye nguzo moja ya Kubernetes, tofauti na vijenzi vya nguzo vya VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics ina sasisho rahisi sana kwa toleo jipya. Acha tu VictoriaMetrics, sasisha jozi na uzindue. Inaposimamishwa kupitia mawimbi ya SIGINT, jozi zote za VictoriaMetrics huzima kabisa. Wanahifadhi kwa usahihi data muhimu, funga miunganisho inayoingia kwa usahihi ili wasipoteze chochote. Kwa hivyo hutapoteza chochote wakati wa kusasisha.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics hurahisisha sana kupanua nguzo. Ongeza tu vipengele muhimu na uendelee kufanya kazi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kuhusu mitego katika Thanos na VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina mitego ifuatayo. Prometheus lazima ahifadhi data kwa saa mbili zilizopita. Zikipotea, utazipoteza kabisa kwa sababu bado hazijaandikwa kwa Object Storage kama S3.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kipengele cha Lango la Hifadhi na kijenzi cha kompakt kinaweza kuhitaji kumbukumbu nyingi kufanya kazi na Hifadhi kubwa ya Kitu ikiwa kuna faili nyingi ndogo zilizohifadhiwa hapo. Kadri idadi na ukubwa wa faili unavyoongezeka, ndivyo Store Gateway na RAM ya kompakt inavyohitajika ili kuhifadhi maelezo. Thanos ana maswala mengi kuhusu ukweli kwamba Hifadhi Lango na kompakt ajali na kiasi cha wastani cha data iliyorekodiwa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos inatangazwa ili kuongeza kwa muda usiojulikana na kiasi cha Prometheus ulicho nacho. Hii si kweli. Kwa kuwa maombi yote hupitia kipengele cha Hoji, ambacho lazima kwa wakati mmoja kuchague vipengee vyote vya Lango la Hifadhi na vipengee vyote vya Sidecar, kuvuta data kutoka hapo na kisha kuichakata. Kwa wazi, kasi ya ombi imepunguzwa na kiungo dhaifu kidogo zaidi, Lango la Duka la polepole zaidi au Sidecar ya polepole zaidi.

Vipengele hivi vinaweza kupakiwa kwa usawa. Kwa mfano, una Prometheus, ambayo hukusanya mamilioni ya vipimo kwa sekunde. Na kuna Prometheus, ambayo hukusanya maelfu ya vipimo kwa sekunde. Prometheus, ambayo hukusanya mamilioni ya vipimo kwa sekunde, huweka mzigo wa juu zaidi kwenye seva inayotumia. Ipasavyo, Sidecar inafanya kazi polepole huko. Na kwa ujumla kila kitu hufanya kazi polepole huko. Na sehemu ya Hoji itavuta data kutoka hapo polepole sana. Ipasavyo, utendakazi wa nguzo yako yote utapunguzwa na Sidecar hii polepole.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kwa chaguomsingi, Thanos hutoa data kiasi ikiwa baadhi ya Sidecars na ama Lango la Hifadhi hazipatikani. Kwa mfano, ikiwa Sidecars zako zimetawanyika kote ulimwenguni katika vituo tofauti vya data, basi uwezekano wa hitilafu ya muunganisho na kutopatikana kwa vipengele huongezeka sana. Ipasavyo, katika hali nyingi utapokea data sehemu bila hata kujua.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics pia ina mitego. Shimo la kwanza ni chaguo ambalo linaweka kikomo kiasi cha RAM kinachotumika kwa akiba ya VictoriaMetrics. Kwa chaguomsingi, ni sawa na 60% ya RAM kwenye mashine ambapo VictoriaMetrics inaendesha au 60% ya RAM ya pod VictoriaMetrics katika Kubernetes.

Ukibadilisha thamani hii kimakosa, unaweza kuharibu utendakazi wa VictoriaMetrics. Kwa mfano, ukiweka thamani ya chini sana, data inaweza kutoshea tena kwenye akiba ya VictoriaMetrics. Kwa sababu ya hili, atalazimika kufanya kazi ya ziada na kupakia processor na diski. Ikiwa utafanya chaguo hili kuwa kubwa sana, itaongeza, kwanza, uwezekano kwamba VictoriaMetrics itaanguka na kosa la kumbukumbu, na, pili, itasababisha ukweli kwamba kutakuwa na RAM kidogo sana iliyobaki kwenye kumbukumbu ya mfumo wa uendeshaji. kashe ya faili. Na VictoriaMetrics inategemea kashe ya faili kwa utendakazi. Ikiwa haitoshi, mzigo kwenye diski unaweza kuongezeka sana. Kwa hiyo, ushauri: usibadili parameter isipokuwa lazima kabisa.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Chaguo la pili. Hii ni retentionPeriod - kipindi ambacho kimewekwa kuwa mwezi 1 kwa chaguomsingi. Huu ni muda ambao VictoriaMetrics huhifadhi data. Baada ya kipindi hiki, VictoriaMetrics hufuta data.

Watu wengi huendesha VictoriaMetrics bila kigezo hiki na kurekodi data kwa mwezi mmoja. Na kisha wanauliza: kwa nini data ya mwezi uliopita ilitoweka? Kwa sababu retentionPeriod chaguomsingi ni mwezi 1. Kwa hiyo, unahitaji kujua na kuweka retentionPeriod sahihi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Hebu tuangalie vipengele vya kipekee.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina kipengele kinachoitwa downsampling: muda wa dakika 5 na saa, ambayo mara nyingi haifanyi kazi ipasavyo. Ukitafuta google na kuangalia suala lao kwenye github, kuna maswala mengi yanayohusiana na sampuli hii ya chini, ambayo wakati mwingine haifanyi kazi kwa usahihi, au haifanyi kazi kama watumiaji wanavyotarajia.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina upunguzaji wa data kwa jozi za Prometheus HA. Prometheus mbili zinapokusanya vipimo sawa kutoka kwa malengo sawa na Thanos huzihifadhi kwenye Hifadhi ya Kitu. Thanos inaweza kutoa nakala ya data hii ipasavyo, tofauti na VictoriaMetrics.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina kijenzi cha tahadhari ambacho kilikuwa kwenye mpangilio wa Thanos. Lakini yeye haipendekezi kutumika katika uzalishaji.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina faida kwamba Thanos na Prometheus wanashiriki nambari sawa. Thanos na Prometheus zinatengenezwa na watengenezaji sawa. Kwa kuboreshwa kwa Thanos au Prometheus, upande mwingine unashinda.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kipengele kikuu cha VictoriaMetrics ni MetricsQL. Hivi ni viendelezi vya VictoriaMetrics kwa PromQL, ambavyo nilizungumzia kwenye mkutano mkuu wa awali wa ufuatiliaji.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics inasaidia upakiaji wa data kwa kutumia itifaki nyingi tofauti. VictoriaMetrics haiwezi tu kukubali data kutoka kwa Prometheus, lakini pia kupitia Influx, OpenTSDB na itifaki za Graphite.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Data ya VictoriaMetrics inachukua nafasi kidogo ikilinganishwa na Thanos na Prometheus.

Ikiwa unarekodi data halisi, watumiaji huzungumza juu ya kupunguzwa kwa mara 2-5 kwa ukubwa wa data kwenye diski ikilinganishwa na Prometheus na Thanos.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Faida nyingine ya VictoriaMetrics ni kwamba imeboreshwa kwa kasi.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Tuangalie gharama za miundombinu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Moja ya faida za Thanos ni kwamba huhifadhi data kwenye hifadhi ya kitu, ambayo ni ya bei nafuu.

Wakati wa kuhifadhi data katika hifadhi ya kitu, lazima ulipie shughuli za kuandika na kusoma data ($10 kwa kila utendakazi milioni). Unapoandika data kwa uhifadhi wa kitu, unalipa gharama zako za upangishaji kwa kupakia data kwenye Mtandao; ikiwa nguzo yako haiko katika AWS, ni bure hapo. Unaposoma data, unalipa kati ya $10 na $230 kwa kila TB 1. Hii inaweza kuwa muhimu ikiwa mara kwa mara unauliza data ya kihistoria kutoka kwa nguzo ya Thanos.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Kwa nguzo ya Thanos, unahitaji kulipia seva kwa Compact, Store Gate, vipengele vya Hoji vinavyohitaji kumbukumbu nyingi, na CPU kwa kiasi kikubwa cha data.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics ina gharama zifuatazo. Ikiwa utahifadhi data kwenye anatoa za GCE HDD, basi inatoka $40 kwa 1TB. Kwa VictoriaMetrics, anatoa za kawaida za HDD zinatosha; hakuna SSD, ambazo zinagharimu mara tano zaidi, zinahitajika. VictoriaMetrics imeboreshwa kwa HDD.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics inahitaji seva za vipengee: ama vipengee vya nodi moja au vilivyounganishwa, ambavyo, tofauti na vijenzi vya Thanos, vinahitaji CPU na RAM kidogo zaidi - na kwa hivyo vitakuwa nafuu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Mifano ya utekelezaji.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Thanos ina mfano wa utekelezaji katika Gitlab. Gitlab inaendesha kabisa Thanos. Lakini sio kila kitu ni laini sana huko. Ukiwaangalia masuala ya, basi unaweza kuona kwamba daima wana baadhi matatizo ya uendeshaji na Thanos: Hakuna kumbukumbu ya kutosha kwa Lango la Hifadhi au vipengee vya Hoji. Wanapaswa kuongeza kiwango cha kumbukumbu kila wakati.

Kwa sababu ya hili, gharama za kutatua matatizo haya huongezeka.

Utekelezaji wa pili, ambao unaweza kufanikiwa zaidi, ni kampuni isiyowezekana, ambayo ilianza kukuza Thanos. Walichapisha msimbo wa chanzo wa Thanos. Haiwezekani ni kampuni inayotengeneza injini za mchezo.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

VictoriaMetrics ina mifano ya utekelezaji wa umma:

  • wix.com mjenzi wa tovuti
  • Adidas inatekeleza VictoriaMetrics na hata ilitoa wasilisho katika PromCon 2019 iliyopita
  • TrafficStars - mtandao wa matangazo
  • Seznam.cz ni injini ya utafutaji maarufu ya Kicheki.

Na kisha kulikuwa na kampuni zisizo na majina ambazo siwezi kuzitaja sasa. Hawakukubali.

  • Msanidi mmoja mkuu wa mchezo. Kubwa kuliko im Probable.
  • Msanidi programu mkuu wa michoro.
  • Benki kubwa ya Urusi.
  • Watengenezaji wa turbine ya upepo wa Ulaya ambao wamejaribu kwa ufanisi VictoriaMetrics. Mtengenezaji huyu anatumia VictoriaMetrics kufuatilia data iliyokusanywa kutoka kwa mitambo ya upepo kwa kiwango cha sampuli 50 kwa sekunde kwa kila kitambuzi. Kila turbine ya upepo ina sensorer mia kadhaa. Wana mitambo mia kadhaa ya upepo.
  • Mashirika ya ndege ya Kirusi ambayo yanataka kutekeleza VictoriaMetrics, lakini bado hawawezi. Tuko kwenye hatua ya mkataba nao.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetricsHitimisho.

VictoriaMetrics na Thanos hutatua shida zinazofanana, lakini kwa njia tofauti:

  • Mwonekano wa hoja ya kimataifa
  • kuongeza usawa
  • uhifadhi holela

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Asante.

Tunakungoja kwetu chaneli ya telegramu.

Inachagua hifadhi ya data ya Prometheus: Thanos vs VictoriaMetrics

Watumiaji waliojiandikisha pekee ndio wanaweza kushiriki katika utafiti. Weka sahihitafadhali.

Unatumia nini kama hifadhi ya muda mrefu kwa Prometheus?

  • 35,3%Thanos6

  • 0,0%Cortex0

  • 0,0%M3DB0

  • 41,2%VictoriaMetrics7

  • 23,5%nyingine4

Watumiaji 17 walipiga kura. Watumiaji 16 walijizuia.

Chanzo: mapenzi.com

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster