{"id":81888,"date":"2020-05-17T13:42:23","date_gmt":"2020-05-17T11:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus"},"modified":"2020-05-17T13:42:23","modified_gmt":"2020-05-17T11:42:23","slug":"thanos-masshtabiruemyj-prometheus","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","title":{"rendered":"Thanos - skaleeritav Prometheus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Artikli t\u00f5lge on ette valmistatud spetsiaalselt kursuse \u00fcli\u00f5pilastele <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">\u00abDevOps praktikad ja t\u00f6\u00f6riistad\u00bb<\/a><\/noindex>.<\/i><\/b><\/p>\n<p>\n<i><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabxc\">Fabian Reinartz<\/a><\/noindex> \u2014 tarkvaraarendaja, Go f\u00e4nn ja keeruliste probleemide lahendamise entusiast. Ta on ka Prometheuse hooldaja ja Kubernetes SIG instrumentation kaasasutaja. A varem t\u00f6\u00f6tas ta production-insenerina SoundCloudis ja juhtis CoreOSis monitooringugruppi. Praegu t\u00f6\u00f6tab ta Google'is.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Bplotka\">Bartek Plotka<\/a><\/noindex> \u2014 infrastruktuuriinsener Improbables. Huvi uute tehnoloogiate ja jaotatud s\u00fcsteemide probleemide vastu. Tal on madala taseme programmeerimise kogemus Intelis, on olnud Mesose panustaja ja omab maailmatasemel SRE kogemust Improbables. Tegeleb mikroteenuste maailma t\u00e4iustamisega. Tema kolm armastust: Golang, avatud l\u00e4htekood ja v\u00f5rkpall.<\/i><\/p>\n<p>Vaadates meie lipulaeva toodet SpatialOS, saate aimu, et Improbable vajab suure d\u00fcnaamilisusega pilve infrastruktuuri, mis on maailmatasemel ja millel on k\u00fcmneid Kubernetes'e klastreid. Olime \u00fched esimesed, kes hakkasid kasutama monitooringus\u00fcsteemi <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex>. Prometheus on v\u00f5imeline j\u00e4lgima miljoneid m\u00f5\u00f5dikuid reaalajas ja kaasas on v\u00f5imas p\u00e4ringukeel, mis v\u00f5imaldab vajalikku teavet v\u00e4lja tuua.<\/p>\n<p>Prometheuse lihtsus ja usaldusv\u00e4\u00e4rsus on \u00fcks tema k\u00f5ige olulisemaid eeliseid. Siiski, teatud skaalal seisame silmitsi mitmete puudustega. Nende probleemide lahendamiseks t\u00f6\u00f6tasime v\u00e4lja <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/\">Thanos<\/a><\/noindex> \u2014 avatud l\u00e4htekoodiga projekt, mille loob Improbable, sujuvaks \u00fcleminekuks olemasolevatest Prometheuse klastritest \u00fchte monitooringus\u00fcsteemi piiramatute ajalooliste andmete salvestamiseks. Thanos on saadaval Githubis <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">siin<\/a><\/noindex>.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/gdk.improbable.io\/l\/169082\/2020-01-10\/2j9yxq\">Ole kursis Improbable'i viimaste uudistega.<\/a><\/noindex><\/p>\n<h2>Meie eesm\u00e4rgid Thanosega<\/h2>\n<p>\nTeatud skaalal tekivad probleemid, mis \u00fcletavad vanilje Prometheuse v\u00f5imalused. Kuidas salvestada petabaitide ajalugu usaldusv\u00e4\u00e4rselt ja t\u00f5husalt? Kas seda saab teha ilma p\u00e4ringu vastuse ajaloo kahjustamata? Kas on v\u00f5imalik saada juurdep\u00e4\u00e4s k\u00f5ikidele m\u00f5\u00f5dikutega, mis asuvad erinevates Prometheuse serverites, \u00fche API-p\u00e4ringu kaudu? Kas on v\u00f5imalik kuidagi \u00fchendada replitseeritud andmed, mis on kogutud Prometheuse HA kaudu?<\/p>\n<p>Nende k\u00fcsimuste lahendamiseks l\u00f5ime Thanose. J\u00e4rgmistes l\u00f5ikudes kirjeldame, kuidas me nendega l\u00e4henesime ja selgitame eesm\u00e4rke, mida me taga ajasime.<\/p>\n<h4>Andmete p\u00e4rimine mitmest Prometheuse eksemplarist (globaalne p\u00e4ring)<\/h4>\n<p>\nPrometheus pakub funktsionaalset l\u00e4henemist shardimisele. Isegi \u00fcks Prometheuse server tagab piisava skaleeritavuse, et vabastada kasutajad horisontaalse shardimise keerukusest praktiliselt k\u00f5ikides kasutusv\u00f5imalustes.<\/p>\n<p>Kuigi see on suurep\u00e4rane juurutusmudel, on sageli vajalik ligip\u00e4\u00e4s andmetele erinevates Prometheuse serverites \u00fche API v\u00f5i kasutajaliidese kaudu \u2014 globaalne vaade. Loomulikult on v\u00f5imalik kuvada mitmeid p\u00e4ringuid \u00fches Grafana paneelis, kuid iga p\u00e4ringut saab teostada vaid \u00fche serveri Prometheus suhtes. Teiselt poolt saate Thanos'e abil k\u00fcsida ja koguda andmeid mitmest Prometheuse serverist, kuna k\u00f5ik need on k\u00e4ttesaadavad \u00fche l\u00f5pp-punkti kaudu.<\/p>\n<p>Varem, et saada globaalset vaadet Improbable'is, korraldasime oma Prometheuse eksemplarid mitmetasandiliseks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/prometheus\/prometheus\/blob\/master\/docs\/federation.md#hierarchical-federation\">Hierarchical Federation<\/a><\/noindex>. See t\u00e4hendas \u00fchte Prometheuse meta-serveri loomist, mis kogub osa m\u00f5\u00f5dikest igalt \"leht-serverilt\".<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/82590f017734f5dc1038a0e13f772d2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee l\u00e4henemine osutus probleemseks. See t\u00f5i kaasa konfiguratsiooni keerukuse, potentsiaalselt uue t\u00f5rke esindaja lisamise ning keeruliste reeglite rakendamise, et anda liidetud l\u00f5pp-punktile ainult vajalikud andmed. Lisaks ei luba selline f\u00f6deratsioon saada t\u00f5elist globaalset vaadet, kuna mitte k\u00f5ik andmed ei ole k\u00e4ttesaadavad \u00fche API p\u00e4ringu kaudu.<\/p>\n<p>Sellega on tihedalt seotud andmete \u00fchtne esitamine, mis on kogutud k\u00f5rge k\u00e4ttesaadavusega (high-availability, HA) Prometheuse serverites. Prometheuse HA mudel kogub andmeid s\u00f5ltumatult kaks korda, mis on nii lihtne, et ei saaks olla lihtsam. Siiski oleks palju mugavam kasutada liidetud ja dedupeeritud suurte voogude esitamist.<\/p>\n<p>Muidugi on k\u00f5rge k\u00e4ttesaadavuse serverites Prometheus vajadus. Improbable'is v\u00f5tame andmete minutip\u00f5hise j\u00e4lgimise t\u00f5siselt, kuid \u00fcks Prometheuse eksemplar klastris on ainus t\u00f5rke koht. Iga konfiguratsiooniviga v\u00f5i riistvararike v\u00f5ivad potentsiaalselt viia oluliste andmete kadumiseni. Isegi lihtne juurutamine v\u00f5ib p\u00f5hjustada pisikesi t\u00f5rkeid metrikate kogumises, kuna taask\u00e4ivitamine v\u00f5ib v\u00f5tta oluliselt kauem kui kraapimise intervall.<\/p>\n<h4>Usaldusv\u00e4\u00e4rne ajalooliste andmete s\u00e4ilitamine<\/h4>\n<p>\nOdavaru, kiire ja pikaajaline m\u00f5\u00f5dikute salvestamine on meie unistus (mida jagavad enamik Prometheuse kasutajaid). Improbables olime sunnitud seadistama m\u00f5\u00f5dikute s\u00e4ilitamise aja \u00fcheks p\u00e4evaks (Prometheus 1.8 jaoks). See seab ilmsed piirangud sellele, kui kaugele me tagasi vaadata saame.<\/p>\n<p>Prometheus 2.0 on selles osas parem, kuna ajasarjade arv ei m\u00f5juta enam serveri \u00fcldist j\u00f5udlust (vt. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nDalewt4BOw\">KubeConi ettekannet Prometheuse 2-st<\/a><\/noindex>). Sellegipoolest salvestab Prometheus andmeid kohalikule kettale. Kuigi t\u00f5hus andmete kokkusurumine v\u00f5ib m\u00e4rkimisv\u00e4\u00e4rselt v\u00e4hendada kohaliku SSD kasutamist, on l\u00f5puks ikkagi piirang salvestatavate ajalooliste andmete mahule.<\/p>\n<p>Lisaks hoolime Improbables usaldusv\u00e4\u00e4rsusest, lihtsusest ja kuludest. Suured kohalikud kettad on keerulisemad hallata ja varundada. Need maksavad rohkem ja vajavad rohkem t\u00f6\u00f6riistu varundamiseks, mis toob kaasa liigset keerukust.<\/p>\n<h4>Allapoole proovimine<\/h4>\n<p>\nKui me hakkasime t\u00f6\u00f6tama ajalooliste andmetega, sai selgeks, et on olemas fundamentaalsed raskused O-suurega, mis muudab p\u00e4ringud aina aeglasemaks, kui t\u00f6\u00f6tame andmetega n\u00e4dalate, kuude ja aastate jooksul.<\/p>\n<p>Selle probleemi standardlahenduseks on <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Decimation_(signal_processing)\">allapoole proovimine<\/a><\/noindex> (downsampling) \u2014 signaali sageduse v\u00e4hendamine. Alandades diskreetimist, saame \u201eskaala alandada\u201c pikema ajavahemiku jaoks ja s\u00e4ilitada endise valimite arvu, mis tagab p\u00e4ringute vastupidavuse.<\/p>\n<p>Ajalooliste andmete allapoole proovimine on igasuguste pikaajaliste salvestuslahenduste v\u00e4ltimatu n\u00f5ue ja \u00fcletab vanilje Prometheuse raames.<\/p>\n<h4>Lisaks eesm\u00e4rgid<\/h4>\n<p>\n\u00dcks projekti Thanos algseid eesm\u00e4rke oli sujuv integreerimine olemasolevate Prometheuse installatsioonidega. Teine eesm\u00e4rk oli lihtne haldamine minimaalsete sissep\u00e4\u00e4supiirangutega. K\u00f5ik s\u00f5ltuvused peavad olema kergesti rahuldatud nii v\u00e4ikeste kui suurte kasutajate jaoks, mis eeldab ka v\u00e4ikeseid algkulusid.<\/p>\n<h2>Thanos arhitektuur<\/h2>\n<p>\nP\u00e4rast seda, kui oleme eelnevas jaotises loetletud meie eesm\u00e4rgid, katsetame neid ja vaatame, kuidas Thanos need probleemid lahendab.<\/p>\n<h4>Globaalne vaade<\/h4>\n<p>\nEtte saada global view olemasolevate Prometheuse instantside \u00fcle, peame siduma \u00fchtse sisenemispunkti k\u00f5igi serveritega. Just sellega tegeleb Thanos komponent. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2015\/06\/the-distributed-system-toolkit-patterns#example-1-sidecar-containers\">Sidecar<\/a><\/noindex>. See paigaldatakse iga Prometheuse serveri k\u00f5rvale ja t\u00f6\u00f6tab kui p\u00f6\u00f6rdus, teenindades kohalikke Prometheuse andmeid gRPC-API kaudu, mis v\u00f5imaldab valida j\u00e4rjendi andmeid siltide ja ajavahemiku p\u00f5hjal.<\/p>\n<p>Teiselt poolt on horisontaalselt skaleeritav komponent Querier, mis ei s\u00e4ilita olekuandmeid ja tegutseb veidi rohkem kui lihtsalt vastab PromQL p\u00e4ringutele standardse Prometheuse HTTP API kaudu. Komponendid Querier, Sidecar ja teised Thanos suhtlevad l\u00e4bi <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">gossip protokolli.<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/fbcf1e756f5da4e8529f17abd4cedd00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>Querier, kui ta saab p\u00e4ringu, \u00fchendub vastava Store API serveriga, st meie Sidecar'iga, ja saadab ajaj\u00e4rgu andmed vastavatelt Prometheuse serveritelt.<\/li>\n<li>P\u00e4rast seda \u00fchendab ta vastused ja teostab PromQL p\u00e4ringu nende p\u00f5hjal. Querier v\u00f5ib \u00fchendada nii mittesobivaid andmeid kui ka dubleeritud andmeid HA-Prometheuse serveritest.<\/li>\n<\/ol>\n<p>\nSee lahendab suure osa meie m\u00f5istatustest \u2014 andmete \u00fchendamine isoleeritud Prometheuse serveritest \u00fchtsesse vaatesse. Tegelikult v\u00f5ib Thanost kasutada ainult selle v\u00f5imaluse t\u00f5ttu. Olemasolevatesse Prometheuse serveritesse ei pea tegema mingeid muudatusi!<\/p>\n<h4>Piiramatu s\u00e4ilitusaeg!<\/h4>\n<p>\nKuid varem v\u00f5i hiljem tahame s\u00e4ilitada andmeid, mis \u00fcletavad tavalise Prometheuse s\u00e4ilituse aega. Ajalooliste andmete s\u00e4ilitamiseks valisime objektse salvestuse. See on laialdaselt saadaval igas pilves ning ka kohalikus andmekeskustes ja on v\u00e4ga \u00f6konoomne. Lisaks on praktiliselt iga objektne salvestus saadaval l\u00e4bi h\u00e4sti tuntud S3 API.<\/p>\n<p>Prometheus salvestab andmeid m\u00e4lust kettale umbes iga kahe tunni j\u00e4rel. Salvestatava andmete plokk sisaldab k\u00f5iki andmeid kindlaksm\u00e4\u00e4ratud ajavahemiku jooksul ja on muutumatud. See on v\u00e4ga mugav, kuna Thanos Sidecar saab lihtsalt vaadata Prometheuse andme katalooge ja uute plokkide ilmumisel laadida need objektse salvestuse anumatesse.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/2be803d8d7e0ce9a5ffa441b7778a40b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLaadimine objektse salvestusse kohe p\u00e4rast ketasessimist hoiab ka \u201cscraperi\u201d (Prometheus ja Thanos Sidecar) lihtsana. Mis lihtsustab s\u00fcsteemi hooldust, kulusid ja kujundust.<\/p>\n<p>Nagu n\u00e4ete, toimub andmete varundamine v\u00e4ga lihtsalt. Kuid mis saab andmete p\u00e4ringust objektihoidlas?<\/p>\n<p>Thanos Store komponent toimib vaheproses andmete saamiseks objektihoidlast. Nagu Thanos Sidecar, osaleb see gossip-klusteris ja rakendab Store API-d. Seega v\u00f5ivad olemasolevad Querierid seda k\u00e4sitleda kui Sidecar'i, kui veel \u00fchte ajasari andmete allikat \u2013 spetsiaalset seadistamist ei ole vaja.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5a437ae1bf8a6f79b8d24aeb9dde2d17.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAja seeria andmeplokid koosnevad mitmest suurest failist. Nende n\u00f5udmisel allalaadimine oleks \u00fcsna ebaefektiivne ja kohalik vahem\u00e4lu vajaks tohutult m\u00e4lu ja kettaruumi.<\/p>\n<p>Selle asemel teab Store Gateway, kuidas k\u00e4sitleda Promethee hoidmisvormingut. T\u00e4nu nutikale p\u00e4ringu planeerijale ja ainult vajalike indeksiosade plokkide vahem\u00e4llu salvestamisele on v\u00f5imalik keerulisi p\u00e4ringuid v\u00e4hendada minimaalsete HTTP-p\u00e4ringute arvu objektihoidla failidele. Niisiis, saame v\u00e4hendada p\u00e4ringute arvu neli kuni kuus korda ja saavutada reageerimisaega, mida on \u00fcldiselt raske eristada kohalike SSD-de andmete p\u00e4ringutest.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ebcbe1ee16dbac18daa474e7cb4b12b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu on n\u00e4idatud \u00fclaltoodud diagrammil, v\u00e4hendab Thanos Querier objektihoidlas andmete p\u00e4ringute kulu oluliselt, kasutades Promethee hoidmisvormingut ja paigutades seotud andmed l\u00e4hedale. Kasutades seda l\u00e4henemist, saame koondada palju \u00fcksikp\u00e4ringute minimaalsete hulgi-operatsioonideni.<\/p>\n<h4>Kompaktsioon ja allasampleerimine<\/h4>\n<p>\nP\u00e4rast seda, kui uus aja seeria andmeplokk on edukalt \u00fcles laaditud objektihoidlasse, k\u00e4sitleme seda kui \"ajaloolisi\" andmeid, mis on kohe kergesti k\u00e4ttev\u00f5etavad Store Gateway kaudu.<\/p>\n<p>Kuid m\u00f5ne aja p\u00e4rast koguneb sama allika (Prometheus koos Sidecar'iga) plokke ja nad ei kasuta enam kogu indekseerimise potentsiaali. Selle probleemi lahendamiseks tutvustasime veel \u00fchte komponenti nimega Compactor. See rakendab lihtsalt kohalikke Promethee kompaktsiooni mehhanisme ajalooliste andmete objektihoidlas ja seda saab k\u00e4ivitada nagu lihtsat perioodilist paketit\u00f6\u00f6d.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/c7dd83dab074a4c5f93069a4bc152342.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00e4nu efektiivsele kokkusurumisele ei tekita andmehoidla p\u00e4ring suures andmemahus probleeme. Siiski v\u00f5ib miljoni v\u00e4\u00e4rtuse v\u00e4ljapakkimise ja nende t\u00f6\u00f6tlusse suunamise hind viia p\u00e4ringuaegade j\u00e4rsu suurenemiseni. Teisest k\u00fcljest, kuna iga ekraani pikseli kohta on sadu andmepunkte, ei ole isegi kogu m\u00e4\u00e4ratlemine andmete visuaaliseerimine enam v\u00f5imalik. Seega ei ole allahindlus mitte ainult v\u00f5imalik, vaid see ei too kaasa m\u00e4rkimisv\u00e4\u00e4rset t\u00e4psuse kaotust. <\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5f36a05aba3fbffa905b6a8da482ab3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAndmete allahindlemiseks kogub Compactor pidevalt andmeid viie minuti ja \u00fche tunni resolutsiooniga. Iga toorandmefragment, mis on kodeeritud TSDB XOR-kompressiooniga, salvestab erinevat t\u00fc\u00fcpi kogumande, nagu min, max v\u00f5i sum \u00fche bloki kohta. See v\u00f5imaldab Querieril automaatselt valida selle PromQL-p\u00e4ringu jaoks sobiva kogumi. <\/p>\n<p>Kasutajalt ei ole andmete madalama t\u00e4psuse kasutamiseks vajalik mingeid erilisi seadistusi. Querier vahetab automaatselt eri resolutsioonide ja toorandmete vahel kasutaja suumimise ja k\u00e4rpimise korral. Soovi korral saab kasutaja seda kasutada otse p\u00e4ringu 'step' parameeter kaudu. <\/p>\n<p>Kuna \u00fche GB salvestamise kulud on v\u00e4ikesed, salvestab Thanos vaikimisi toorandmed, andmed viie minuti ja \u00fche tunni resolutsiooniga. Toorandmete kustutamine ei ole vajalik.<\/p>\n<h2>Salvestamise reeglid<\/h2>\n<p>\nIsegi Thanosel on salvestamise reeglid olulised osad j\u00e4lgimise virnast. Need v\u00e4hendavad p\u00e4ringute keerukust, viivitust ja kulusid. Need on ka kasutajatele mugavad, et saada kokkuv\u00f5tteid meetmete kohta. Thanos p\u00f5hineb puhaste Prometheuse instantsidel, seega on v\u00f5imalik salvestada salvestamise reegleid ja h\u00e4ire reegleid olemasoleval Prometheuse serveril. Siiski v\u00f5ib m\u00f5nel juhul sellest j\u00e4\u00e4da v\u00e4heks:<\/p>\n<ul>\n<li>Globaalne h\u00e4ire ja reegel (n\u00e4iteks teavitamine, kui teenus ei t\u00f6\u00f6ta enam kui kahel kolmest klastrist).<\/li>\n<li>Reegel andmete kohta, mis ei ole kohalikus ladustamises.<\/li>\n<li>Soov hoida k\u00f5ik reeglid ja h\u00e4ired \u00fches kohas.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ab48e044b952bd891932b99e248120fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00e4esolevate olukordade jaoks sisaldab Thanos eraldi komponenti nimega Ruler, mis arvutab rule ja alert Thanos Queries abil. Andes h\u00e4sti tuntud StoreAPI, saavad Query-s\u00f5lmed juurdep\u00e4\u00e4su v\u00e4rskelt arvutatud m\u00f5\u00f5dikutele. Hiljem salvestatakse need ka objektide salvestusse ja need on kergesti k\u00e4ttesaadavad Store Gateway kaudu.<\/p>\n<h2>Thanos j\u00f5ud<\/h2>\n<p>\nThanos on piisavalt paindlik, et seda saaks kohandada vastavalt teie n\u00f5udmistele. See on eriti kasulik, kui migreerida lihtsast Prometheusest. Korraks meenutame v\u00e4ikese n\u00e4ite abil, mida oleme Thanos komponentide kohta \u00f5ppinud. Nii saate oma tavalise Prometheuse viia \"piiramatu m\u00f5\u00f5diku salvestamise\" maailma:<\/p>\n<p><img decoding=\"async\" alt=\"Thanos - skaleeritav Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/f6ee4185af57d2a1869890014e6a0062.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>Lisage Thanos Sidecar oma Prometheuse serveritele \u2014 n\u00e4iteks naaber konteiner Kubernetes podis.<\/li>\n<li>K\u00e4ivitage mitu Thanos Querier'i kopeerimist, et andmete vaatamine oleks v\u00f5imalik. Selle etapi jooksul on lihtne seadistada gossip'i Scraper'i ja Querier'i vahel. Komponentide koostoime kontrollimiseks kasutage m\u00f5\u00f5dikut 'thanos_cluster_members'.<\/li>\n<\/ol>\n<p>\nNendest kahest sammust piisab, et tagada globaalne \u00fclevaade ja sujuv andmete dedupe potentsiaalsetest HA-replikatest Prometheuses! Lihtsalt \u00fchendage oma armatuurlaud HTTP Querier l\u00f5pp-punktiga v\u00f5i kasutage Thanos UI otse.<\/p>\n<p>Kui aga vajate m\u00f5\u00f5dikute varundamist ja pikaajalist salvestamist, peate t\u00e4itma veel kolm sammu:<\/p>\n<ol>\n<li>Looge AWS S3 v\u00f5i GCS konteiner. Seadistage Sidecar, et kopeerida andmeid nendesse konteineritesse. N\u00fc\u00fcd saate minimeerida kohalikku andmete salvestamist.<\/li>\n<li>K\u00e4itage Store Gateway ja \u00fchendage see olemasoleva gossip-klastriga. N\u00fc\u00fcd saab andmevarunduse j\u00e4rele p\u00e4ringute tegemiseks saata!<\/li>\n<li>K\u00e4itage Compactor, et suurendada p\u00e4ringute efektiivsust pikaajaliste ajavahemike jooksul, kasutades tihendamist ja allasamaltingut.<\/li>\n<\/ol>\n<p>\nKui soovite rohkem teada saada, tutvuge meiega. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/tree\/master\/kube\">kubernetes manifesteeri n\u00e4idised<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/blob\/master\/docs\/getting-started.md\">alustamiseks<\/a><\/noindex>!<\/p>\n<p>K\u00f5igest viie sammuga muutisime Prometheuse usaldusv\u00e4\u00e4rseks j\u00e4lgimiss\u00fcsteemiks globaalsete vaatamisv\u00f5imalustega, piiramatute salvestusajaga ja potentsiaalselt k\u00f5rgema saadavuse m\u00f5\u00f5dikute osas.<\/p>\n<h3>Pull request: te olete meile vajalik!<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">Thanos<\/a><\/noindex> oli algusest peale avatud l\u00e4htekoodiga projekt. Sujuv integratsioon Prometheusega ja v\u00f5imalus kasutada ainult osa Thanost teeb sellest suurep\u00e4rase valiku j\u00e4lgimiss\u00fcsteemi skaleerimiseks ilma liigsete pingutusteta.<\/p>\n<p>Me oleme alati r\u00f5\u00f5msad GitHubi Pull Requestide ja Issueside \u00fcle. Samuti \u00e4rge kartke meiega \u00fchendust v\u00f5tta l\u00e4bi Github Issues v\u00f5i slacki.<noindex><a rel=\"nofollow\" href=\"https:\/\/join.slack.com\/t\/improbable-eng\/shared_invite\/enQtMzQ1ODcyMzQ5MjM4LWY5ZWZmNGM2ODc5MmViNmQ3ZTA3ZTY3NzQwOTBlMTkzZmIxZTIxODk0OWU3YjZhNWVlNDU3MDlkZGViZjhkMjc\"> Improbable-eng #thanos<\/a><\/noindex>, kui teil on k\u00fcsimusi v\u00f5i tagasisidet, v\u00f5i soovite jagada oma kogemusi! Kui teile meeldib, mida me Improbable'is teeme, \u00e4rge kartke meiega \u00fchendust v\u00f5tta \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/careers\/\">meil on alati avatud ametikohti<\/a><\/noindex>!<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">Tutvu kursusega l\u00e4hemalt.<br \/>\n<\/a><\/noindex><\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/502122\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-17T11:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-17T11:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Thanos \u2014 skaleeritav Prometheus | ProHoster","description":"Artikli t\u00f5lge on ette valmistatud spetsiaalselt 'DevOps praktika ja t\u00f6\u00f6riistad' kursuse tudengite jaoks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-17T11:42:23+00:00","article:modified_time":"2020-05-17T11:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81888","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:48:24","updated":"2022-09-30 01:06:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=81888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81888\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/81889"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=81888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=81888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=81888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}