Thanos - Scalable Prometheus

O le faaliliuga o le tusiga na saunia faapitoa mo tamaiti aoga o le vasega "DevOps faiga ma meafaigaluega".

Fabian Reinartz o se tagata fa'apipi'i polokalame, Go fanatic, ma fo'ia fa'afitauli. O ia foi o se Prometheus e tausia ma o se tasi na faavaeina le Kubernetes SIG meafaigaluega. I aso ua tuanaʻi, o ia o se inisinia gaosiga i SoundCloud ma taʻitaʻia le au mataʻituina i CoreOS. O lo'o galue nei ile Google.

Bartek Plotka - Inisinia Atina'e Atina'e ile Improbable. E fiafia o ia i tekinolosi fou ma faʻafitauli o le tufatufaina atu. O lo'o i ai lona poto masani fa'apolokalame i Intel, poto fa'asoa i Mesos, ma le poto masani ole gaosiga ole SRE ile lalolagi ile Improbable. Faʻamaoni i le faʻaleleia o le lalolagi o microservices. O ana alofaga e tolu: Golang, open source ma volipolo.

A'o va'ava'ai i la matou oloa SpatialOS, e mafai ona e mateina o le Improbable e mana'omia ai se atina'e fa'atosina maualuga, fa'alelalolagi fa'atasi ma le tele o fuifui Kubernetes. O matou o se tasi o tagata muamua na faʻaogaina se faiga mataʻituina Prometheus. E mafai e le Prometheus ona suʻeina le faitau miliona o metrics i le taimi moni ma e sau ma se gagana faʻafesili mamana e mafai ai ona e suʻeina faʻamatalaga e te manaʻomia.

O le faigofie ma le faʻatuatuaina o Prometheus o se tasi o ona faʻamanuiaga autu. Ae ui i lea, ina ua matou pasia se fuataga patino, sa matou fetaiai ma ni faaletonu. Ina ia foia nei faafitauli ua matou atiina ae Thanos ose poloketi fa'apogai matala na faia e le Improbable e fa'afaigofieina le suia o fuifui Prometheus o lo'o i ai i totonu o se faiga mata'ituina e tasi ma le teuina fa'amaumauga fa'asolopito e le gata. Thanos o loʻo avanoa ile Github iinei.

Tumau i tala fou mai le Improbable.

O matou sini ma Thanos

I se tulaga faʻapitoa, e tulaʻi mai faʻafitauli e sili atu nai lo le gafatia o vanilla Prometheus. E fa'afefea ona fa'atuatuaina ma fa'aletupe le teuina o petabytes o fa'amaumauga fa'asolopito? E mafai ona faia lenei mea e aunoa ma le fetuunaia o le taimi tali? E mafai ona maua uma metric o loʻo i luga o 'auʻaunaga Prometheus eseese ma se talosaga API e tasi? E i ai se auala e tuʻufaʻatasia ai faʻamatalaga faʻapipiʻi na aoina e faʻaaoga ai le Prometheus HA?

Ina ia foia nei mataupu, na matou faia Thanos. O vaega o loʻo mulimuli mai o loʻo faʻamatalaina ai le auala na matou taulimaina ai nei mataupu ma faʻamatalaina a matou sini.

Su'esu'eina o fa'amatalaga mai le tele o fa'ata'ita'iga a Prometheus (su'esu'e fa'alelalolagi)

Prometheus e ofoina atu se auala galue i sharding. E oo lava i se server Prometheus e tasi e maua ai le tele o le faʻaogaina e faʻasaʻoloto ai tagata faʻaoga mai le lavelave o faʻataʻitaʻiga faʻasalalau i toetoe lava o faʻaoga uma.

E ui o se faʻataʻitaʻiga sili lea ona faʻapipiʻiina, e masani ona manaʻomia le mauaina o faʻamatalaga i luga o sapalai Prometheus eseese e ala i se API se tasi poʻo UI - o se vaaiga i le lalolagi atoa. Ioe, e mafai ona faʻaalia le tele o fesili i le tasi Grafana panel, ae o fesili taʻitasi e mafai ona faʻatinoina i le tasi Prometheus server. I le isi itu, faatasi ai ma Thanos e mafai ona e fesiligia ma tuʻufaʻatasia faʻamatalaga mai le tele o sapalai Prometheus talu ai e mafai ona maua uma mai se tasi pito.

I le taimi muamua, ina ia maua se vaaiga i le lalolagi i le Improbable, na matou faʻatulagaina a matou Prometheus faʻataʻitaʻiga i se tulaga tele. Fa'alapotopotoga Fa'atonu. O lona uiga o le fatuina o se tasi Prometheus meta server e aoina mai nisi o fuataga mai lau laupepa taʻitasi.

Thanos - Scalable Prometheus

O lenei faiga na faʻamaonia faʻafitauli. O le mea lea ua i'u ai i fa'atonuga sili atu ona lavelave, fa'aopoopoina o se tulaga fa'aopoopo e ono fa'aletonu ai, ma le fa'aogaina o tulafono lavelave e fa'amautinoa ai e na'o fa'amaumauga e mana'omia e maua ai e le fa'ai'uga federated. E le gata i lea, o lenei ituaiga faʻapotopotoga e le faʻatagaina oe e maua se vaaiga moni i le lalolagi, talu ai e le o faʻamatalaga uma e maua mai se talosaga API se tasi.

E fesoʻotaʻi vavalalata i lenei mea o se vaʻaiga tuʻufaʻatasia o faʻamaumauga na aoina i luga o le avanoa maualuga (HA) Prometheus servers. Prometheus 'HA faʻataʻitaʻiga e aoina faʻalua faʻamatalaga, lea e matua faigofie e le mafai ona faigofie. Ae ui i lea, o le faʻaaogaina o se vaʻaiga tuʻufaʻatasia ma toesea o vaitafe e lua o le a sili atu ona faigofie.

Ioe, o loʻo i ai se manaʻoga mo 'auʻaunaga Prometheus avanoa tele. I le Improbable, matou te manatu mamafa i le mata'ituina o fa'amaumauga i lea minute ma lea minute, ae o le i ai o le Prometheus fa'ata'ita'iga i le fuifui o se tasi lea o le toilalo. So'o se fa'atonuga sese po'o mea fa'aletonu e mafai ona ta'ita'iina atu ai i le leiloa o fa'amaumauga taua. E o'o lava i se fa'apipi'i faigofie e mafai ona fa'atupu ai ni fa'alavelave laiti i le aoina mai o fua fa'atatau ona o le toe amata e mafai ona sili atu le umi nai lo le va o le va'aiga.

Fa'atuatuaina teuina o fa'amaumauga fa'asolopito

E taugofie, vave, umi taimi teuina metrics o la matou miti (faʻasoa e le tele o tagata faʻaoga Prometheus). I le Improbable, na faʻamalosia i matou e faʻapipiʻi le vaitaimi o le faʻamauina o fuataga i le iva aso (mo Prometheus 1.8). E fa'aopoopoina tapula'a manino i le mamao e mafai ona tatou va'ai i tua.

Prometheus 2.0 ua faʻaleleia atili i lenei tulaga, talu ai o le numera o taimi faʻasologa e le toe aʻafia ai le faʻatinoga atoa o le 'auʻaunaga (vaai. KubeCon autu autu e uiga i le Prometheus 2). Ae ui i lea, o le Prometheus e teuina faʻamaumauga i luga o le disk i le lotoifale. E ui lava e mafai ona faʻaititia tele le faʻaogaina o le SSD i le lotoifale, ae o loʻo i ai pea se tapulaa i le aofaʻi o faʻamaumauga faʻasolopito e mafai ona teuina.

E le gata i lea, i le Improbable matou te popole i le faʻamaoni, faigofie ma le tau. O tisiki fa'apitonu'u tetele e sili atu ona faigata ona fa'agaoioia ma toe fa'afo'i. E sili atu le tau ma manaʻomia nisi mea faigaluega faʻapipiʻi, e mafua ai le lavelave le manaʻomia.

Fa'aitiitiga

O le taimi lava na amata ai ona matou galulue faʻatasi ma faʻamaumauga faʻasolopito, na matou iloa ai o loʻo i ai faʻafitauli faʻapitoa ma big-O lea e faʻagesegese ai ma faʻagesegese fesili aʻo matou galulue i vaiaso, masina, ma tausaga o faʻamaumauga.

O le fofo masani i lenei faafitauli o le a fa'aitiitiga (downsampling) - fa'aiti'itia le fa'ata'ita'iga fa'ailo taimi. Faatasi ai ma le faʻalaloina, e mafai ona tatou "faʻaititia" i se taimi tele ma faʻamautu le numera tutusa o faʻataʻitaʻiga, faʻamautu fesili e tali mai.

O le faʻaitiitia o faʻamaumauga tuai o se manaʻoga e le maalofia o soʻo se fofo teuina mo se taimi umi ma e sili atu i le lautele o vanilla Prometheus.

Sini faaopoopo

O se tasi o sini autu o le poloketi Thanos o le faʻaogaina lelei ma soʻo se mea faʻapipiʻi Prometheus. O le sini lona lua o le faigofie o le faʻaogaina ma le laʻititi o pa puipui e ulufale ai. So'o se fa'alagolago e tatau ona faigofie ona fa'amalieina mo tagata fa'aoga laiti ma tetele, o lona uiga o se tau maualalo maualalo.

fa'ata'ita'iga a Thanos

A maeʻa ona lisiina a tatou sini i le vaega muamua, seʻi o tatou galulue i ai ma vaʻai pe faʻafefea ona foia e Thanos nei faʻafitauli.

Vaaiga i le lalolagi

Ina ia maua se vaaiga faʻavaomalo i luga o faʻataʻitaʻiga Prometheus o loʻo i ai nei, matou te manaʻomia le faʻafesoʻotaʻi se tasi o talosaga e ulufale ai i 'auʻaunaga uma. O le mea tonu lava lea e fai e le vaega o Thanos. Soa. O loʻo faʻapipiʻiina i tafatafa o le server Prometheus taʻitasi ma galue e fai ma sui, e tuʻuina atu faʻamatalaga Prometheus i le lotoifale e ala i le gRPC Store API, faʻatagaina faʻamaumauga faʻasologa o taimi e toe maua mai i le pine ma le taimi.

I le isi itu o le fua-i fafo, e leai se setete Querier vaega, lea e sili atu nai lo na o le taliina o fesili PromQL e ala i le Prometheus HTTP API masani. Querier, Sidecar ma isi vaega Thanos feso'ota'i e ala i faiga faitatala.

Thanos - Scalable Prometheus

  1. Querier, i le mauaina o se talosaga, e fesoʻotaʻi atu i le server API Store, o lona uiga, i la matou Sidecars ma maua faʻamaumauga faʻasologa o taimi mai sapalai Prometheus talafeagai.
  2. A maeʻa lena, e tuʻufaʻatasia tali ma faʻatino se fesili PromQL ia i latou. Querier e mafai ona tu'ufa'atasia fa'amaumauga tu'ufa'atasi ma fa'amatalaga fa'alua mai sa'u Prometheus HA.

Ole mea lea e foia ai se vaega tele o la tatou paso - tu'ufa'atasia fa'amaumauga mai sa'iliga tu'ufua Prometheus ile va'aiga tasi. O le mea moni, e mafai ona faʻaaogaina Thanos mo lenei tulaga. Leai se suiga e manaʻomia ona faia i sapalai Prometheus o iai nei!

Fa'agata le ola fa'asao!

Ae ui i lea, i se taimi mulimuli ane o le a matou mananaʻo e teu faʻamatalaga i tua atu o le taimi masani e taofia ai Prometheus. Na matou filifilia mea e teu ai mea e teu ai fa'amaumauga fa'asolopito. E maua lautele i so'o se ao fa'apea fo'i ma nofoaga autu o fa'amaumauga ma e matua'i taugofie. E le gata i lea, toetoe lava o soʻo se mea e teu ai mea e maua e ala ile S3 API lauiloa.

E tusia e Prometheus faʻamaumauga mai le RAM i le tisiki pe a ma le lua itula. O le poloka faʻamaumauga teuina o loʻo i ai faʻamatalaga uma mo se taimi tumau ma e le mafai ona suia. E faigofie tele lenei mea aua e mafai e Thanos Sidecar ona tilotilo i le Prometheus faʻamaumauga faʻamaumauga ma, a maua poloka fou, faʻapipiʻi i totonu o pakete e teu ai mea.

Thanos - Scalable Prometheus

O le utaina i totonu o le teuina o mea i le taimi lava e uma ai le tusi i luga o le tisiki e mafai ai foi ona e faatumauina le faigofie o le sikola (Prometheus ma Thanos Sidecar). Lea e faafaigofieina le lagolago, tau ma le mamanu faiga.

E pei ona e vaʻai, faʻamaumauga faʻamaumauga e matua faigofie lava. Ae faʻafefea le fesiligia o faʻamatalaga i le teuina o mea?

O le vaega o le Faleoloa o Thanos e fai ma sui e toe aumai faʻamatalaga mai le teuina o mea. E pei o Thanos Sidecar, e auai i le vaega faitatala ma faʻaaogaina le Store API. I lenei auala, e mafai e Querier o loʻo i ai nei ona faʻaogaina e pei o se Sidecar, o se isi faʻapogai o faʻamaumauga faʻasologa o taimi - e leai se faʻatulagaga faʻapitoa e manaʻomia.

Thanos - Scalable Prometheus

Fa'asologa o taimi poloka fa'amaumauga e aofia ai le tele o faila tetele. O le utaina i luga o le mana'oga o le a matua le lelei, ma o le teuina i totonu o le lotoifale e mana'omia ai le tele o le manatua ma le avanoa tisiki.

Nai lo lena, ua iloa e Store Gateway le faʻaogaina o le Prometheus storage format. Faʻafetai i se faʻasologa o fesili atamai ma faʻapipiʻiina naʻo vaega faʻamaufaʻailoga talafeagai o poloka, e mafai ona faʻaititia fesili lavelave i se numera maualalo o talosaga HTTP e faʻapipiʻi faila faila. I lenei auala, e mafai ona e faʻaitiitia le numera o talosaga i le fa i le ono poloaiga o le tele ma ausia taimi tali e masani ona faigata ona iloa mai talosaga i faʻamaumauga i luga ole SSD i le lotoifale.

Thanos - Scalable Prometheus

E pei ona faʻaalia i le ata o loʻo i luga, o Thanos Querier e faʻaititia tele le tau i le fesili o mea e teu ai faʻamaumauga e ala i le faʻaogaina o le Prometheus storage format ma tuʻu faʻatasi faʻamatalaga faʻatasi. I le fa'aogaina o lenei faiga, e mafai ona tatou tu'ufa'atasia le tele o talosaga e tasi i se numera la'ititi o galuega tetele.

Fa'amau ma fa'aititia

O le taimi lava e faʻapipiʻiina lelei ai se poloka fou o faʻamaumauga faʻasologa o taimi i le teuina o mea faitino, matou te faʻaogaina e pei o faʻamaumauga "talafaasolopito", lea e maua vave e ala i le Store Gateway.

Ae ui i lea, a maeʻa sina taimi, o poloka mai le tasi puna (Prometheus with Sidecar) faʻaputuina ma le toe faʻaogaina le gafatia atoa o le faasino igoa. Ina ia foia lenei faʻafitauli, na matou faʻalauiloaina se isi vaega e taʻua o le Compactor. E na'o le fa'aogaina o le afi fa'alotoifale a le Prometheus i fa'amaumauga fa'asolopito i le teuina o mea ma e mafai ona fa'atinoina o se galuega fa'aputuga fa'avaitaimi faigofie.

Thanos - Scalable Prometheus

Faʻafetai i le faʻamalosi lelei, fesiligia le teuina mo se taimi umi e le faʻaalia ai se faʻafitauli i le tulaga o le tele o faʻamaumauga. Ae ui i lea, o le tau o le tatalaina o le piliona o tau ma faʻatautaia i latou e ala i se faʻasologa o fesili o le a mautinoa lava le iʻu ai i se faʻaopoopoga tele i le taimi o le faʻatinoina o fesili. I le isi itu, talu ai o loʻo i ai le faitau selau o faʻamatalaga faʻamatalaga i pika i luga o le lau, o le a le mafai ai ona vaʻavaʻai i faʻamatalaga i le iuga atoa. O le mea lea, o le downsampling e le gata e mafai, ae o le a le taʻitaʻia ai foi le leiloa o le saʻo.

Thanos - Scalable Prometheus

I lalo o faʻamatalaga, Compactor faʻaauau ona faʻapipiʻi faʻamaumauga i se iuga o le lima minute ma le itula e tasi. Mo pusa mata ta'itasi e fa'aogaina e fa'aoga ai le TSDB XOR compression, o ituaiga eseese o fa'amaumauga tu'ufa'atasi o lo'o teuina, pei ole min, max po'o le aofa'i mo le poloka e tasi. Ole mea lea e mafai ai e Querier ona filifili otometi se fa'apotopotoga e talafeagai mo se fesili PromQL.

Leai se fa'atulagaga fa'apitoa e mana'omia mo le tagata fa'aoga e fa'aaoga ai fa'amatalaga sa'o fa'aitiitia. E otometi lava ona fesuiai Querier i le va o iugafono eseese ma fa'amatalaga mata'utia a'o fa'asolo i totonu ma fafo le tagata fa'aoga. Afai e manaʻomia, e mafai e le tagata faʻaoga ona pulea saʻo lenei mea e ala i le "laasaga" parakalafa i le talosaga.

Talu ai o le tau o le teuina o le tasi GB e maualalo, ona o le le mafai e Thanos ona teuina faʻamatalaga mataʻutia, lima minute ma le tasi itula faʻamaumauga faʻamaumauga. E le mana'omia le tapeina o fa'amaumauga muamua.

Tulafono fa'amauina

E oo lava ia Thanos, o le pueina o tulafono o se vaega taua o le faaputuga mataʻituina. Latou te fa'aitiitia le lavelave, le taofiofia, ma le tau o fesili. E faigofie fo'i mo tagata fa'aoga ona maua fa'amaumauga tu'ufa'atasi e ala i fua. O Thanos e faʻavae i luga o vanilla Prometheus faʻataʻitaʻiga, o lea e matua talia lelei le teuina o tulafono faʻamaumauga ma tulafono faʻasalalau i luga o se server Prometheus o iai. Ae ui i lea, i nisi tulaga atonu e le lava:

  • Fa'aliga ma tulafono fa'alelalolagi (mo se fa'ata'ita'iga, o le mataala pe a le galue se 'au'aunaga i luga o le lua o le tolu fuifui).
  • Tulafono mo faʻamatalaga i fafo atu o le teuina faʻapitonuʻu.
  • Le manaʻo e teu uma tulafono ma faʻasalalauga i se nofoaga e tasi.

Thanos - Scalable Prometheus

Mo nei tulaga uma, o Thanos e aofia ai se isi vaega e taʻua o le Ruler, lea e faʻatatauina tulafono ma mataala e ala i Thanos Queries. E ala i le tu'uina atu o se StoreAPI ta'uta'ua, e mafai ai e le node o le Query ona maua fua fa'atatau fou. Mulimuli ane e teuina foi i totonu o mea e teu ai mea ma faʻaavanoaina e ala i le Store Gateway.

Le Mana o Thanos

O Thanos e lava le fetuutuunai e fa'avasegaina e fetaui ma ou mana'oga. E aoga tele lenei mea pe a faimalaga mai Prometheus. Sei o tatou toe fa'afo'i vave mea na tatou a'oa'oina e uiga i vaega o Thanos ma se fa'ata'ita'iga vave. O le auala lenei e ave ai lau vanilla Prometheus i le lalolagi o le "teu fa'atapula'aina metrics teuina":

Thanos - Scalable Prometheus

  1. Fa'aopoopo le Thanos Sidecar i au 'au'aunaga Prometheus - mo se fa'ata'ita'iga, se atigi pusa i totonu o le Kubernetes pod.
  2. Tu'u le tele o fa'atusa a Thanos Querier e mafai ai ona va'ai fa'amaumauga. I lenei laʻasaga e faigofie ona faʻatutuina le faitatala i le va o Scraper ma Querier. Ina ia siaki le fegalegaleaiga o vaega, faʻaaoga le 'thanos_cluster_members' metric.

Na'o la'asaga nei e lua ua lava e maua ai le va'aiga i le lalolagi atoa ma le fa'aogaina o fa'amaumauga mai le fa'atusa Prometheus HA! Na'o le fa'afeso'ota'i lau dashboards ile Querier HTTP endpoint pe fa'aoga sa'o le Thanos UI.

Ae peita'i, afai e te mana'omia le fa'asaoina o metric ma le teuina mo se taimi umi, e te mana'omia le fa'amae'aina o isi laasaga se tolu:

  1. Fausia se pakete AWS S3 po'o le GCS. Fa'atulaga Sidecar e kopi fa'amaumauga i pakete nei. Ua mafai nei ona fa'aitiitia le teuina o fa'amaumauga fa'apitonu'u.
  2. Fa'ata'atia le Gateway Store ma fa'afeso'ota'i i lau fuifui faitatala o iai. Ole taimi nei e mafai ona e fesiligia fa'amaumauga o lo'o lagolagoina!
  3. Fa'atino le Compactor e fa'aleleia atili ai le fa'aogaina o fesili i taimi uumi e fa'aaoga ai le fa'a'oto'oto ma le fa'aitiitiga.

Afai e te fia iloa atili, aua le faatuai e matamata i la matou kubernetes faʻaalia faʻataʻitaʻiga и amataina!

I le na'o le lima laasaga, na matou fa'aliliuina ai le Prometheus i se faiga mata'ituina fa'atuatuaina ma le va'aiga i le lalolagi atoa, taimi e teu ai fa'atapula'aina ma le avanoa maualuga o metrics.

Toso talosaga: matou te manaʻomia oe!

Thanos sa avea ma se galuega tatala puna mai lava i le amataga. O le tu'ufa'atasiga lelei ma le Prometheus ma le mafai ona fa'aoga na'o se vaega o Thanos e avea ai ma filifiliga sili mo le fa'asiliina o lau mata'itū faiga e aunoa ma se taumafaiga.

Matou te faʻafeiloaʻi i taimi uma GitHub Pull Talosaga ma Faʻafitauli. I le taimi nei, lagona le saoloto e faʻafesoʻotaʻi i matou e ala i Github Issues poʻo le lemu Improbable-eng #thanosafai ei ai ni au fesili poʻo ni faʻamatalaga, pe manaʻo e faʻasoa lou poto masani i le faʻaaogaina! Afai e te fiafia i mea matou te faia i le Improbable, aua le faatuai e faʻafesoʻotaʻi i matou - e i ai lava o matou avanoa!

Aoao atili e uiga i le kosi.

puna: www.habr.com

Faaopoopo i ai se faamatalaga