{"id":54601,"date":"2019-12-30T00:00:00","date_gmt":"2019-12-29T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics"},"modified":"2020-02-18T14:02:38","modified_gmt":"2020-02-18T11:02:38","slug":"vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","title":{"rendered":"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hej alla. Nedan f\u00f6ljer en sammanfattning <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HyOXAdQE0Pk\">av f\u00f6redraget vid Big Monitoring Meetup 4<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/prometheus\">Prometheus<\/a><\/noindex><\/strong> \u2013 ett \u00f6vervakningssystem f\u00f6r olika system och tj\u00e4nster, som g\u00f6r det m\u00f6jligt f\u00f6r systemadministrat\u00f6rer att samla in information om aktuella systemparametrar och st\u00e4lla in aviseringar f\u00f6r att f\u00e5 meddelanden om avvikelser i systemens prestanda.<\/p>\n<p><\/p>\n<p>F\u00f6redraget kommer att inneh\u00e5lla en j\u00e4mf\u00f6relse <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex> \u2013 projekt f\u00f6r l\u00e5ngsiktig lagring av Prometheus-metrik.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b65866353c1f816a8cb2a90af1ceac23.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"HyOXAdQE0Pk\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/HyOXAdQE0Pk\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/dc3c90711a8102d3e70b972ca47ec152.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6rst kommer jag att ber\u00e4tta om Prometheus. Det \u00e4r ett \u00f6vervakningssystem som samlar in m\u00e4tdata fr\u00e5n angivna m\u00e5l och sparar dem i ett lokalt lagringsutrymme. Prometheus kan ocks\u00e5 skriva m\u00e4tdata till en fj\u00e4rrlagringsl\u00f6sning, generera larm och inspelningsregler. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/e9852597e74c675d2216d971f19857c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"ogranicheniya-prometheus\">Begr\u00e4nsningar med Prometheus:<\/h3>\n<p><\/p>\n<ul>\n<li>Den har ingen global fr\u00e5gevy. Det \u00e4r n\u00e4r ni har flera oberoende instanser av Prometheus. De samlar in metrik, och ni vill g\u00f6ra en fr\u00e5ga p\u00e5 alla dessa metrik fr\u00e5n olika Prometheus-instanser. Det till\u00e5ter inte Prometheus.<\/li>\n<li>Prestandan i Prometheus \u00e4r begr\u00e4nsad till en enda server. Prometheus kan automatiskt inte skalas \u00f6ver flera servrar. Du kan endast manuellt f\u00f6rdela dina m\u00e5l mellan flera Prometheus-instanser.<\/li>\n<li>M\u00e4ngden metrik i Prometheus begr\u00e4nsas ocks\u00e5 av en enda server av samma anledning som den inte kan skalas \u00f6ver flera servrar.<\/li>\n<li>Det \u00e4r inte s\u00e5 enkelt att organisera datalagring i Prometheus.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c140d41f1fe39d33e1fc84f5cc111481.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"resheniya-etih-problemzadach\">L\u00f6sningar p\u00e5 dessa problem\/uppgifter?<\/h3>\n<p><\/p>\n<p>L\u00f6sningarna \u00e4r:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/m3db\">Uber M3<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cortexproject\/cortex\">Cortex<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Alla dessa l\u00f6sningar handlar om fj\u00e4rrlagring av data som samlats in av Prometheus. De l\u00f6ser problemet med fj\u00e4rrlagring fr\u00e5n f\u00f6reg\u00e5ende bild p\u00e5 olika s\u00e4tt. I denna presentation kommer jag endast att tala om de f\u00f6rsta tv\u00e5 l\u00f6sningarna: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>F\u00f6r f\u00f6rsta g\u00e5ngen d\u00f6k informationen om <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> upp i <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/blog\/thanos-prometheus-at-scale\">denna l\u00e4nk<\/a><\/noindex>. D\u00e4r beskrivs arkitekturen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> och hur den fungerar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/317db6bb4c3cd69d8742addb2bae16a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos tar data som Prometheus har sparat p\u00e5 lokal disk och kopierar dem till S3, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/\">GCS<\/a><\/noindex> eller annan objektlagring.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7cf5f99dc5ce78f22c5956373812c0aa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u00e5ledes erbjuder Thanos en global fr\u00e5gevy. Ni kan fr\u00e5ga efter data som har sparats i objektlagring fr\u00e5n flera instanser av Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/286cf441fe18fb756c2708086872d8d8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos st\u00f6der PromQL och <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/api\/\">Prometheus fr\u00e5ge-API<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a750070d76414370501a8153cd48007.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos anv\u00e4nder Prometheus kod f\u00f6r datalagring.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ba0ca17154f9407900efc336f213ba07.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos utvecklas av samma utvecklare som Prometheus.<\/p>\n<p><\/p>\n<p>Om <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>. H\u00e4r \u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/victoriametrics-creating-the-best-remote-storage-for-prometheus-5d92d66787ac\">l\u00e4nk<\/a><\/noindex>, d\u00e4r vi f\u00f6rst ber\u00e4ttade om <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a901d016e6e58c40c6c7c96b1cd5a8c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics f\u00e5r data fr\u00e5n flera Prometheus via <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/\">fj\u00e4rrskriv-API<\/a><\/noindex> protokollet som st\u00f6ds av Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/24798414102cc63a1a1062c5ae327f4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics erbjuder en global s\u00f6kvy, eftersom flera Prometheus-instanser kan skriva data till en VictoriaMetrics. D\u00e4rf\u00f6r kan ni g\u00f6ra f\u00f6rfr\u00e5gningar p\u00e5 all denna data.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a717855dbdf1df859927a75557ee2573.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics st\u00f6der \u00e4ven, precis som Thanos - PromQL och Prometheus fr\u00e5ge-API.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84daf1b7e160e6f9d8a53a83329f2436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Till skillnad fr\u00e5n Thanos \u00e4r k\u00e4llkoden till VictoriaMetrics skriven fr\u00e5n grunden och optimerad f\u00f6r hastighet och resursanv\u00e4ndning. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/371dee8d4705438f560245c4e5e7444f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics kan, till skillnad fr\u00e5n Thanos, skalas b\u00e5de vertikalt och horisontellt. Det finns <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md\">Enkelnods-versionen<\/a><\/noindex>, som skalar vertikalt. Du kan b\u00f6rja med en processor och 1 GB minne och v\u00e4xa gradvis till hundra processorer och 1 TB minne. VictoriaMetrics kan anv\u00e4nda alla dessa resurser. Dess prestanda kommer att \u00f6ka med ungef\u00e4r 100 g\u00e5nger j\u00e4mf\u00f6rt med ett system med en k\u00e4rna. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/697e77546cda492f8512e7e761c0300f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Historien om Thanos b\u00f6rjade i november 2017, n\u00e4r den f\u00f6rsta offentliga committen sl\u00e4pptes. Innan dess utvecklades Thanos internt i f\u00f6retaget <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\">improbable.io<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/610a81cfb98082bb61b7ae28b00d2c78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I juni 2019 sl\u00e4pptes en betydelsefull version 0.5.0, d\u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201809_gossip-removal.md\/\">protokollet togs bort.<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">gossip<\/a><\/noindex> Det togs bort fr\u00e5n Thanos eftersom det inte presterade som f\u00f6rv\u00e4ntat. Ofta fungerade Thanos-klustret felaktigt, noder kopplades inte korrekt p\u00e5 grund av gossip-protokollet. D\u00e4rf\u00f6r besl\u00f6t man att ta bort det. Jag anser att detta var ett r\u00e4tt beslut. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/d7ecf0105d46464aadc4c46147edf9dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I juni 2019 skickade de in ans\u00f6kan nummer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/256\">256<\/a><\/noindex> p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Cloud Native Computing Foundation<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a8685a616bbdc619009c570e28c9f15b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Och efter ett par m\u00e5nader blev Thanos accepterad i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Cloud Native Computing Foundation<\/a><\/noindex>, som inkluderar Prometheus, Kubernetes och andra popul\u00e4ra projekt.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/90c64c519aa283b13ce64b96da5ac945.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I januari 2018 p\u00e5b\u00f6rjades utvecklingen av VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c2243e3e0a8d00715644d7c84627c5cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I september 2018 n\u00e4mnde jag f\u00f6r f\u00f6rsta g\u00e5ngen offentligt VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/66feecad1783c36651cdf2a19e6d0d70.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I december 2018 publicerade vi Enkelnods-versionen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aacf5d683c7d639df7a9f05e297f08c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I maj 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.usejournal.com\/open-sourcing-victoriametrics-f31e34485c2b\">publicerades<\/a><\/noindex> k\u00e4llkoden b\u00e5de f\u00f6r Enkelnod och klusterversionen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6da160c13c87133b1994ef32f86db077.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I juni 2019, precis som Thanos, skickade vi in en ans\u00f6kan till CNCF-fonden med nummer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/255\">255<\/a><\/noindex>. Vi skickade in ans\u00f6kan en dag tidigare \u00e4n Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/12c281eae67b3cec5a66fab41aee1fdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Men tyv\u00e4rr har vi fortfarande inte blivit accepterade d\u00e4r. Det beh\u00f6vs st\u00f6d fr\u00e5n communityn.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ab7b20661c3cfa01209cd742eb71a898.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e5t oss titta p\u00e5 de viktigaste bilderna som visar arkitekturen f\u00f6r Thanos och VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a268b600bcd0cebfd9c5069d2d911a9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vi b\u00f6rjar med Thanos. De gula komponenterna \u00e4r Prometheus-komponenter. Allt annat \u00e4r Thanos-komponenter. Vi b\u00f6rjar med den mest centrala komponenten. Thanos Sidecar \u00e4r en komponent som installeras bredvid varje Prometheus. Den ansvarar f\u00f6r att ladda Prometheus-data fr\u00e5n lokal lagring till S3 eller annan objektlagring. <\/p>\n<p><\/p>\n<p>Det finns ocks\u00e5 en komponent som Thanos Store Gateway, som kan l\u00e4sa dessa data fr\u00e5n Object Storage vid inkommande f\u00f6rfr\u00e5gningar fr\u00e5n Thanos Query. Thanos Query implementerar PromQL och Prometheus API. Det betyder att det externt ser ut som Prometheus. Det tar emot PromQL-f\u00f6rfr\u00e5gningar, skickar dem till Thanos Store Gateway, som h\u00e4mtar n\u00f6dv\u00e4ndiga data fr\u00e5n Object Storage och skickar dem tillbaka.<\/p>\n<p><\/p>\n<p>Men vi har data i Object Storage som saknar de senaste tv\u00e5 timmarna p\u00e5 grund av hur Thanos Sidecar \u00e4r implementerad, vilket inte kan ladda upp de senaste tv\u00e5 timmarna till Object Storage S3, eftersom Prometheus \u00e4nnu inte har skapat filer i det lokala lagret f\u00f6r dessa tv\u00e5 timmar.<\/p>\n<p><\/p>\n<p>Hur l\u00f6ser man detta? Thanos Query skickar, ut\u00f6ver f\u00f6rfr\u00e5gningar till Thanos Store Gateway, parallella f\u00f6rfr\u00e5gningar \u00e4ven till varje Thanos Sidecar som ligger n\u00e4ra Prometheus. <\/p>\n<p><\/p>\n<p>Thanos Sidecar, \u00e5 sin sida, proxyfierar f\u00f6rfr\u00e5gningarna vidare till Prometheus och h\u00e4mtar data f\u00f6r de senaste tv\u00e5 timmarna.<\/p>\n<p><\/p>\n<p>Ut\u00f6ver dessa komponenter finns det \u00e4ven en valfri komponent utan vilken Thanos kommer att fungera d\u00e5ligt. Detta \u00e4r Thanos Compact, som ansvarar f\u00f6r att sl\u00e5 samman sm\u00e5 filer i Object Storage till st\u00f6rre filer som laddas upp av Thanos Sidecars. Thanos Sidecar laddar upp datafiler som \u00e4r tv\u00e5 timmar gamla. Om dessa filer inte sl\u00e5s ihop till st\u00f6rre filer kan deras antal \u00f6ka kraftigt. Ju fler s\u00e5dana filer, desto mer minne beh\u00f6vs f\u00f6r Thanos Store Gateway och mer resurser kr\u00e4vs f\u00f6r \u00f6verf\u00f6ring av data och metadata. Thanos Store Gateway blir ineffektiv. D\u00e4rf\u00f6r m\u00e5ste Thanos Compact k\u00f6ras f\u00f6r att sl\u00e5 samman sm\u00e5 filer till st\u00f6rre f\u00f6r att minska antalet s\u00e5dana filer och minska overheaden p\u00e5 Thanos Store Gateway.<\/p>\n<p><\/p>\n<p>Det finns ocks\u00e5 en komponent som Thanos Ruler. Den utf\u00f6r Prometheus alerting rules och kan ber\u00e4kna Prometheus recording rules f\u00f6r att skriva data tillbaka till Object Storage. Men denna komponent rekommenderas inte att anv\u00e4nda, eftersom den <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md#risk\">\u00e4r ben\u00e4gen att returnera ofullst\u00e4ndiga data<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>S\u00e5 h\u00e4r ser den enkla strukturen ut f\u00f6r Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3f7cd77a1c056bf7ac245c774d05ea34.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nu j\u00e4mf\u00f6r vi med strukturen f\u00f6r VictoriaMetrics.<\/p>\n<p><\/p>\n<p>VictoriaMetrics finns i tv\u00e5 versioner: Single-node och kluster. Single-node fungerar p\u00e5 en dator. I Single-node finns dessa komponenter inte, bara en bin\u00e4r fil. Denna bin\u00e4ra fil ser ut som den h\u00e4r kvadraten i presentationen. Allt som finns inom kvadraten \u00e4r inneh\u00e5llet i den bin\u00e4ra filen f\u00f6r Single-node-versionen. Du beh\u00f6ver inte k\u00e4nna till den. Du startar bara den bin\u00e4ra filen - och allt fungerar. <\/p>\n<p><\/p>\n<p>Den klusterbaserade versionen \u00e4r mer komplicerad. Inuti den finns tre olika komponenter: vmselect, vminsert och vmstorage. Deras namn b\u00f6r ge en f\u00f6rst\u00e5else f\u00f6r vad varje komponent g\u00f6r. Insert-komponenten tar emot data i olika format: fr\u00e5n Prometheus remote write API, Influx line-protokollet, Graphite-protokollet och fr\u00e5n OpenTSDB-protokollet. Insert-komponenten tar emot dem, parserar och distribuerar dem mellan de befintliga lagringskomponenterna, d\u00e4r datan sedan sparas. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/promql-tutorial-for-beginners-9ab455142085\">PromQL<\/a><\/noindex>, samt Prometheus fr\u00e5ge-API, och den kan anv\u00e4ndas som en ers\u00e4ttning f\u00f6r Prometheus i Grafana eller andra Prometheus API-klienter. Select tar emot promql-fr\u00e5gor, parserar dem, l\u00e4ser n\u00f6dv\u00e4ndig data f\u00f6r att utf\u00f6ra denna fr\u00e5ga fr\u00e5n lagringsnoder, processar dessa data och returnerar ett svar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b4f1ec2504c1bea423e58ced26570bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e5t oss j\u00e4mf\u00f6ra installationskomplexiteten f\u00f6r Thanos och VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/39b293fc911b2987a191cc5d98b1c9f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vi b\u00f6rjar med Thanos. Innan du b\u00f6rjar arbeta med Thanos m\u00e5ste du skapa en bucket i Object Storage, som S3 eller GCS, s\u00e5 att Thanos Sidecar kan skriva data dit. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7a59c36c4453f1747067c79d9a9b8e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sedan m\u00e5ste du installera Thanos Sidecar f\u00f6r varje Prometheus. Kom ih\u00e5g att st\u00e4nga av datakomprimering (data compaction) i Prometheus innan du g\u00f6r detta. Datakomprimering komprimerar periodiskt data i den lokala lagringen i Prometheus f\u00f6r att minska resursanv\u00e4ndningen.<\/p>\n<p><\/p>\n<p>N\u00e4r du installerar Thanos Sidecar p\u00e5 dina Prometheus-instanser m\u00e5ste du st\u00e4nga av data kompaktion, eftersom Thanos Sidecar inte fungerar ordentligt med aktiverad data kompaktion. Detta inneb\u00e4r att din Prometheus b\u00f6rjar spara data i block om tv\u00e5 timmar och slutar sl\u00e5 samman dessa block till st\u00f6rre. Om du g\u00f6r f\u00f6rfr\u00e5gningar som str\u00e4cker sig l\u00e4ngre \u00e4n de senaste tv\u00e5 timmarna kommer de inte att fungera lika effektivt j\u00e4mf\u00f6rt med hur de skulle fungera om data kompaktion var aktiverad.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/825b70ede9edd1de6658576e2b824cd1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>D\u00e4rf\u00f6r rekommenderar Thanos att minska datalagringstiden (data retention) i den lokala lagringen till 6-8 timmar f\u00f6r att minska \u00f6verbelastningen fr\u00e5n ett stort antal sm\u00e5 block.<\/p>\n<p><\/p>\n<p>N\u00e4r du har installerat Thanos Sidecar m\u00e5ste du installera tv\u00e5 komponenter f\u00f6r varje Object Storage Bucket. Det handlar om Thanos Compactor och Thanos Store Gateway. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/77575d65a75bfd9af8d7dedf0cc5c922.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>D\u00e4refter beh\u00f6ver du installera Thanos Query och konfigurera det s\u00e5 att det kan ansluta till alla Thanos Store Gateways du har, samt kunna ansluta till alla Thanos Sidecars.<\/p>\n<p><\/p>\n<p>H\u00e4r kan det uppst\u00e5 ett litet problem. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6eddee956c58991ccee52891b368f10f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Du beh\u00f6ver konfigurera en p\u00e5litlig och s\u00e4ker anslutning fr\u00e5n Thanos Query till dessa komponenter. Om dina Prometheus-instanser ligger i olika datacenter eller i olika VPC:er, \u00e4r anslutningar utifr\u00e5n f\u00f6rbjudna. Men f\u00f6r att Thanos Query ska fungera m\u00e5ste du p\u00e5 n\u00e5got s\u00e4tt st\u00e4lla in en anslutning dit, och du m\u00e5ste hitta en l\u00f6sning.<\/p>\n<p><\/p>\n<p>Om du har m\u00e5nga datacentra minskar det tillf\u00f6rlitligheten f\u00f6r hela systemet. Eftersom Thanos Query st\u00e4ndigt m\u00e5ste h\u00e5lla anslutningar till alla Thanos Sidecar som ligger i olika datacentra. Vid varje inkommande beg\u00e4ran kommer det att skicka beg\u00e4rningar till alla Thanos Sidecar. Om anslutningen bryts, f\u00e5r du antingen en ofullst\u00e4ndig datam\u00e4ngd eller ett svar som s\u00e4ger \u201eklustret fungerar inte\u201d. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/13c3765871568ac0db4014964cb5d752.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I VictoriaMetrics \u00e4r allt lite enklare. F\u00f6r single-node-versionen r\u00e4cker det med att k\u00f6ra en bin\u00e4rfil, s\u00e5 fungerar allt. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/1edf992a6404f5dea1ae2bd4f4d2d8fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6r den klusterbaserade versionen beh\u00f6ver du bara k\u00f6ra alla de tre ovan n\u00e4mnda typerna av komponenter i valfritt antal, eller anv\u00e4nda <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/helm-charts\/\">helm chart<\/a><\/noindex> f\u00f6r att automatisera start av komponenter i Kubernetes. Vi planerar ocks\u00e5 att skapa en Kubernetes-operator. Helm-diagrammet t\u00e4cker inte vissa anv\u00e4ndningsfall och kan leda till problem. Till exempel till\u00e5ter det att minska antalet storage-noder, vilket kan leda till dataf\u00f6rlust.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ad4249222cb5e591d7e7bd0b7f1708c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00e4r du har startat en bin\u00e4rfil eller kluster-versionen r\u00e4cker det med att l\u00e4gga till i Prometheus-konfigurationen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md#prometheus-setup\">en inst\u00e4llning f\u00f6r remote write-url<\/a><\/noindex>, s\u00e5 att det b\u00f6rjar skriva data parallellt i lokal lagring och i fj\u00e4rrlagring. Som du m\u00e4rkte b\u00f6r en s\u00e5dan konfiguration fungera mycket mer tillf\u00f6rlitligt j\u00e4mf\u00f6rt med Thanos-konfigurationen. Vi beh\u00f6ver inte h\u00e5lla en anslutning fr\u00e5n VictoriaMetrics till alla Prometheus, f\u00f6r Prometheus kopplar sj\u00e4lva upp sig mot VictoriaMetrics och \u00f6verf\u00f6r data. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/465ffc6cd77b2ca022b2541851a7ddbc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e5t oss \u00f6verv\u00e4ga hantering av Thanos och VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6043f0d3d99cb3e49837f03d3e6bbb9b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos m\u00e5ste \u00f6vervaka Sidecar s\u00e5 att de inte slutar \u00f6verf\u00f6ra data till Object Storage. De kan sluta denna data\u00f6verf\u00f6ring p\u00e5 grund av uppladdningsfel, till exempel om din n\u00e4tverksanslutning till Object Storage tillf\u00e4lligt avbryts, eller om Object Storage tillf\u00e4lligt blir otillg\u00e4ngligt. Thanos Sidecar kommer m\u00e4rka detta, rapportera ett fel, kan krascha och d\u00e4refter sluta fungera. Om du inte \u00f6vervakar det kommer data\u00f6verf\u00f6ringen till Object Storage att upph\u00f6ra. Om retention-tiden passerar (6-8 timmar rekommenderas), kommer du att f\u00f6rlora data som inte har n\u00e5tt Object Storage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7c6556fecdee4ca4986931c2eebf9895.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos kompaktorer kan sluta fungera p\u00e5 grund av <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/1919\">race med Sidecar<\/a><\/noindex>. Compactor h\u00e4mtar data fr\u00e5n Object Storage och sl\u00e5r samman dem till st\u00f6rre datam\u00e4ngder. Eftersom Compactor inte \u00e4r synkroniserad med Sidecar kan f\u00f6ljande h\u00e4nda: Sidecar har inte hunnit skriva blocket, Compactor beslutar att blocket \u00e4r helt skrivet. Compactor b\u00f6rjar l\u00e4sa det. Den l\u00e4ser blocket ofullst\u00e4ndigt och slutar fungera. Se detaljer. <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201901-read-write-operations-bucket.md\/\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7fd00e243009763781b54043dec1e94b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Store Gateway kan returnera inkonsekventa data p\u00e5 grund av race mellan Compactor och Sidecar. H\u00e4r \u00e4r samma sak, p\u00e5 grund av att Store Gateway inte \u00e4r synkroniserad med Compactor och Sidecar. D\u00e4rf\u00f6r kan det uppst\u00e5 tillst\u00e5nd av lopp, d\u00e4r Store Gateway inte ser en del av datan eller ser \u00f6verfl\u00f6dig data.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/85fcc811173dda1a42ac8d4e3b212f5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Query-komponenten i Thanos ger som standard ett delresultat om vissa Sidecar eller Store Gateway f\u00f6r n\u00e4rvarande inte \u00e4r tillg\u00e4ngliga. Du kommer att f\u00e5 del av datan och du kommer inte ens att veta att du inte fick all data. Det fungerar s\u00e5 h\u00e4r som standard. I en liknande situation returnerar VictoriaMetrics m\u00e4rkta data som partiella. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a9e5a70bdcafae9b98545514ca7a7ff3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Till skillnad fr\u00e5n Thanos f\u00f6rlorar VictoriaMetrics s\u00e4llan data. \u00c4ven om anslutningen fr\u00e5n Prometheus till VictoriaMetrics bryts \u00e4r det inget problem, eftersom Prometheus forts\u00e4tter att skriva inkommande nya data i Write Ahead Log, vars storlek \u00e4r 2 timmar. Om du \u00e5terst\u00e4ller anslutningen till VictoriaMetrics inom tv\u00e5 timmar s\u00e5 kommer datan inte att g\u00e5 f\u00f6rlorad. Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2019\/03\/25\/whats-new-in-prometheus-2.8-wal-based-remote-write\/\">kan skriva till data efter \u00e5terst\u00e4llande av anslutningen till VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/fa4be02056f7338416029bfd8f9d0214.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Till skillnad fr\u00e5n Thanos, som skriver data till objektlagring f\u00f6rst efter tv\u00e5 timmar, replikeras data automatiskt av Prometheus via remote write-protokollet till remote-lagring, som VictoriaMetrics. Du beh\u00f6ver inte oroa dig f\u00f6r att f\u00f6rlora lokal lagring i Prometheus. Om den skulle f\u00f6rlora lokal lagring, f\u00f6rlorar du i v\u00e4rsta fall de senaste sekunderna av data som \u00e4nnu inte har skrivits till remote-lagring.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a6e9b2322eb9b3e145603a6b9db1002d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kubernetes hanterar automatiskt klustret till skillnad fr\u00e5n Thanos. Alla komponenter i Thanos \u00e4r sv\u00e5ra att f\u00e5 plats i ett enda Kubernetes-kluster, till skillnad fr\u00e5n klusterkomponenterna i VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b3d1586fe461a0c6f34de09fdd12845.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Uppdatering till en ny version i VictoriaMetrics \u00e4r mycket enkel. Du stoppar bara VictoriaMetrics, uppdaterar bin\u00e4rerna och startar den igen. N\u00e4r den stoppas med SIGINT-signal utf\u00f6r alla bin\u00e4rer av VictoriaMetrics en smidig avst\u00e4ngning. De sparar korrekt de n\u00f6dv\u00e4ndiga uppgifterna och st\u00e4nger r\u00e4tt ned inkommande anslutningar f\u00f6r att inte f\u00f6rlora n\u00e5got. D\u00e4rf\u00f6r f\u00f6rlorar du ingenting vid uppdatering. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/96a52e2f0696172159919536efb68ad3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Det \u00e4r mycket enkelt att skala klustret med VictoriaMetrics. Du l\u00e4gger bara till de n\u00f6dv\u00e4ndiga komponenterna och forts\u00e4tter arbeta. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5f5e6ef78b322bb278e618a526f05e26.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Om komplikationer med Thanos och VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/17808bc76a16e571b7e4fa1655964201.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos har f\u00f6ljande komplikationer. Prometheus m\u00e5ste lagra data fr\u00e5n de senaste tv\u00e5 timmarna. Om de f\u00f6rloras, f\u00f6rlorar du dem helt, eftersom de inte har skrivits till objektlagring, som S3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/81ca9135d2d97b95e9731dd1f5501859.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Store Gateway-komponenten och compactor-komponenten kan kr\u00e4va mycket minne f\u00f6r att hantera stora objektlagringar, om det finns m\u00e5nga sm\u00e5 filer d\u00e4r. Ju fler filer och ju st\u00f6rre filerna \u00e4r, desto mer RAM kr\u00e4vs av Store Gateway och compactor f\u00f6r att lagra metadata. Thanos har m\u00e5nga problem n\u00e4r det g\u00e4ller att <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/448\">Store Gateway och compactor faller vid medelstora m\u00e4ngder av skrivna data.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/cf75315535439843c9bb32cf1175391b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos marknadsf\u00f6rs som att den kan skalas o\u00e4ndligt med antalet Prometheus. I sj\u00e4lva verket \u00e4r detta inte sant. Eftersom alla f\u00f6rfr\u00e5gningar g\u00e5r genom Query-komponenten, som m\u00e5ste samtidigt fr\u00e5ga alla Store Gateway-komponenter och alla Sidecar-komponenter, h\u00e4mta data d\u00e4rifr\u00e5n och sedan f\u00f6rbearbeta dessa. Det \u00e4r uppenbart att hastigheten p\u00e5 f\u00f6rfr\u00e5gningarna begr\u00e4nsas av den l\u00e5ngsammaste svaga l\u00e4nken, den l\u00e5ngsammaste Store Gateway eller den l\u00e5ngsammaste Sidecar. <\/p>\n<p><\/p>\n<p>Dessa komponenter kan vara oj\u00e4mnt belastade. Till exempel, om du har Prometheus som samlar miljontals m\u00e4tv\u00e4rden per sekund. Och det finns en Prometheus som samlar tusentals m\u00e4tv\u00e4rden per sekund. Prometheus som samlar miljontals m\u00e4tv\u00e4rden per sekund belastar servern d\u00e4r den k\u00f6rs betydligt mer. F\u00f6ljaktligen kommer Sidecar att arbeta l\u00e5ngsammare d\u00e4r. \u00d6verlag kommer allt att fungera l\u00e5ngsammare d\u00e4r. Query-komponenten kommer att h\u00e4mta data d\u00e4rifr\u00e5n mycket l\u00e5ngsamt. D\u00e4rf\u00f6r kommer prestandan f\u00f6r hela din kluster att begr\u00e4nsas av den l\u00e5ngsamma Sidecar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/68070f629821a54bfd8ed934d67344fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Som standard ger Thanos partiella data om vissa Sidecar eller Store Gateway inte \u00e4r tillg\u00e4ngliga. Till exempel, om dina Sidecar \u00e4r spridda \u00f6ver hela v\u00e4rlden i olika datacentra, \u00f6kar risken f\u00f6r anslutningsavbrott och otillg\u00e4nglighet av komponenter kraftigt. D\u00e4rf\u00f6r kommer du i de flesta fall att f\u00e5 partiella data utan att ens veta om det.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a1dea50e739314c23b4370c569b44a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics har ocks\u00e5 sina fallgropar. Den f\u00f6rsta fallgropen \u00e4r en inst\u00e4llning som begr\u00e4nsar m\u00e4ngden RAM-minne som anv\u00e4nds f\u00f6r cache i VictoriaMetrics. Som standard g\u00e4ller det 60% av RAM-minnet p\u00e5 den maskin d\u00e4r VictoriaMetrics k\u00f6rs, eller 60% av podens RAM-minne f\u00f6r VictoriaMetrics i Kubernetes.<\/p>\n<p><\/p>\n<p>Om detta v\u00e4rde \u00e4ndras felaktigt kan det f\u00f6rst\u00f6ra prestandan f\u00f6r VictoriaMetrics. Till exempel, om du st\u00e4ller in ett f\u00f6r l\u00e5gt v\u00e4rde kan data sluta rymmas i cachen f\u00f6r VictoriaMetrics. Det kan leda till att den m\u00e5ste g\u00f6ra on\u00f6digt arbete och belasta CPU:n och disken. Om du g\u00f6r denna inst\u00e4llning f\u00f6r h\u00f6g \u00f6kar risken f\u00f6r att VictoriaMetrics kraschar med out of memory-fel och det kommer samtidigt att bli kvar mycket lite RAM-minne i operativsystemet f\u00f6r filcachen. VictoriaMetrics \u00e4r beroende av filcachen f\u00f6r prestanda. Om det inte finns tillr\u00e4ckligt kan belastningen p\u00e5 disken \u00f6ka avsev\u00e4rt. D\u00e4rf\u00f6r \u00e4r r\u00e5det: \u00e4ndra inte detta parameter utan yttersta n\u00f6dv\u00e4ndighet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/f145833dcbe42c2b62545358cfb204e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Den andra inst\u00e4llningen \u00e4r retentionPeriod \u2013 en period som som standard \u00e4r inst\u00e4lld p\u00e5 1 m\u00e5nad. Detta \u00e4r den tid under vilken VictoriaMetrics lagrar data. Efter denna tid raderar VictoriaMetrics data.<\/p>\n<p><\/p>\n<p>M\u00e5nga k\u00f6r VictoriaMetrics utan denna parameter och samlar data under en m\u00e5nad. Sedan undrar de: varf\u00f6r f\u00f6rsvann data f\u00f6r den f\u00f6reg\u00e5ende m\u00e5naden? F\u00f6r att retentionPeriod som standard \u00e4r 1 m\u00e5nad. D\u00e4rf\u00f6r beh\u00f6vs kunskap om och inst\u00e4llning av r\u00e4tt retentionPeriod. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/377e4e19b7dc5648dd16bff39f4f1651.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e5t oss g\u00e5 igenom de unika funktionerna.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/bca5529a95e94ada650e67dba063ada6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos har en funktion som kallas downsampling: 5-minuters och timintervall, som ofta <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+is%3Aopen+downsampling\">fungerar felaktigt<\/a><\/noindex>. Om du googlar och tittar p\u00e5 deras \u00e4renden p\u00e5 GitHub, finns det m\u00e5nga \u00e4renden kopplade till denna downsampling, d\u00e4r den ibland fungerar felaktigt eller inte som anv\u00e4ndarna f\u00f6rv\u00e4ntar sig.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84f116767826d1174286b45ccf60dfe7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos har deduplicering av data f\u00f6r Prometheus HA-par. N\u00e4r tv\u00e5 Prometheus samlar in samma metrik fr\u00e5n samma m\u00e5l dedupliceras de av Thanos i Object Storage. Thanos kan korrekt deduplicera dessa data, till skillnad fr\u00e5n VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/efd797cafcb339a4900f4d2cddd04638.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos har en alert-komponent, som syntes i Thanos-diagrammet. Men den <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md\">rekommenderas inte f\u00f6r produktion<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/87d12ff7b3c33dae9a8eda7a2a95bce1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Thanos har den f\u00f6rdelen att koden f\u00f6r Thanos och Prometheus \u00e4r gemensam. Thanos och Prometheus har utvecklats av samma utvecklare. Vid f\u00f6rb\u00e4ttringar av Thanos eller Prometheus drar den andra sidan nytta.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/92435f15d58e83eb4d548a8bf5256c30.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics huvudfunktion \u00e4r MetricsQL. Detta \u00e4r en utvidgning av VictoriaMetrics f\u00f6r PromQL, som jag ber\u00e4ttade om p\u00e5 den senaste stora \u00f6vervakningskonferensen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/43a1618a397badc3df9d4eded19be1ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics st\u00f6der inmatning av data via m\u00e5nga olika protokoll. VictoriaMetrics kan inte bara ta emot data fr\u00e5n Prometheus, utan ocks\u00e5 via protokollen Influx, OpenTSDB och Graphite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b4bca4b255990f1af11a6ceaf42f46ef.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Data i VictoriaMetrics tar vanligtvis mycket mindre plats j\u00e4mf\u00f6rt med Thanos och Prometheus. <\/p>\n<p><\/p>\n<p>Om verkliga data skrivs, rapporterar anv\u00e4ndarna en minskning av datastorleken p\u00e5 disken med 2-5 g\u00e5nger j\u00e4mf\u00f6rt med Prometheus och Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6aeab3c42b45dbd620d328fc43ce4bec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ytterligare en f\u00f6rdel med VictoriaMetrics \u00e4r att den \u00e4r optimerad f\u00f6r hastighet. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/89010a913f0d7b1388b6c62007c7835b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e5t oss titta p\u00e5 kostnaden f\u00f6r infrastrukturen. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/65bd322bb2a64ac4188e29b79e54763a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En av f\u00f6rdelarna med Thanos \u00e4r att den sparar data i objektlagring, vilket \u00e4r relativt billigt.<\/p>\n<p><\/p>\n<p>Vid lagring av data i objektlagring m\u00e5ste du betala f\u00f6r skriv- och l\u00e4soperationer ($10 per miljon operationer). N\u00e4r du skriver data i objektlagring betalar du f\u00f6r dina hostingkostnader f\u00f6r att \u00f6verf\u00f6ra data till internet, om din kluster inte \u00e4r i AWS \u2013 d\u00e4r \u00e4r det gratis. N\u00e4r du l\u00e4ser data betalar du mellan $10 och $230 per 1 TB. Detta kan bli betydande om du ofta beg\u00e4r historiska data fr\u00e5n Thanos-klustret.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7f1b32c75d49efa082201fa55b43f6bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6r ett Thanos-kluster beh\u00f6ver servrar f\u00f6r Compact, Store Gateway och Query-komponenter betalas, som kr\u00e4ver mycket minne och CPU f\u00f6r stora datam\u00e4ngder.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/19c90f30760e77f57a658e67507f4f98.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6r VictoriaMetrics ser kostnaderna ut s\u00e5 h\u00e4r. Om data lagras p\u00e5 GCE HDD-diskar s\u00e5 blir det $40 per 1TB. F\u00f6r VictoriaMetrics \u00e4r vanliga HDD-diskar tillr\u00e4ckliga, inga SSD:er beh\u00f6vs, vilket kostar fem g\u00e5nger s\u00e5 mycket. VictoriaMetrics \u00e4r optimerad f\u00f6r HDD.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c7e922b4d97f353218d6edad7cdea584.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>F\u00f6r VictoriaMetrics beh\u00f6vs servrar f\u00f6r komponenterna: antingen Single-node eller f\u00f6r klusterkomponenter, som i motsats till Thanos-komponenter kr\u00e4ver mycket mindre CPU och RAM, vilket g\u00f6r det billigare. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aaf63cad75238ba19efb825376cf356c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Exempel p\u00e5 implementeringar. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/53ce0a68724c339d88ad769c18a2e5f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ett exempel p\u00e5 implementering av Thanos \u00e4r GitLab. GitLab fungerar fullt ut med Thanos. Men allt \u00e4r inte s\u00e5 enkelt. Om man tittar p\u00e5 deras <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8647\">issues<\/a><\/noindex>, kan man se att de st\u00e4ndigt har vissa <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8413\">operativa problem med Thanos<\/a><\/noindex>: det saknas minne f\u00f6r Store Gateway eller Query-komponenter. De tvingas hela tiden \u00f6ka minneskapaciteten. <\/p>\n<p><\/p>\n<p>D\u00e4rf\u00f6r \u00f6kar kostnaderna f\u00f6r att l\u00f6sa dessa problem. <\/p>\n<p><\/p>\n<p>En andra implementering, som kan vara mer framg\u00e5ngsrik, \u00e4r f\u00f6retaget Improbable, som b\u00f6rjade utvecklingen av Thanos. De publicerade k\u00e4llkoden f\u00f6r Thanos. Improbable \u00e4r ett f\u00f6retag som arbetar med utveckling av spelmotorer.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3a1279cae3cfc7e94c2eccfc0972f06e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Publicerade exempel p\u00e5 VictoriaMetrics-implementeringar inkluderar:<\/p>\n<p><\/p>\n<ul>\n<li>wix.com webbplatsbyggare<\/li>\n<li>Adidas implementerar VictoriaMetrics och presenterade till och med ett f\u00f6redrag p\u00e5 senaste PromCon 2019<\/li>\n<li>TrafficStars \u2013 annonstj\u00e4nst<\/li>\n<li>Seznam.cz \u2013 en popul\u00e4r tjeckisk s\u00f6kmotor.<\/li>\n<\/ul>\n<p><\/p>\n<p>Och vidare finns det namnl\u00f6sa f\u00f6retag som jag inte kan n\u00e4mna just nu. De gav ingen till\u00e5telse. <\/p>\n<p><\/p>\n<ul>\n<li>En stor spelutvecklare. St\u00f6rre \u00e4n de inom Improbable.<\/li>\n<li>En stor utvecklare av grafikprogramvara.<\/li>\n<li>En stor rysk bank.<\/li>\n<li>En europeisk tillverkare av vindkraftverk som framg\u00e5ngsrikt har testat VictoriaMetrics. Denna tillverkare implementerar VictoriaMetrics f\u00f6r att \u00f6vervaka data fr\u00e5n vindkraftverk med en hastighet av 50 samplingar per sekund f\u00f6r varje sensor. I varje vindkraftverk finns det flera hundra sensorer. De har flera hundra vindkraftverk.<\/li>\n<li>Ryska flygbolag som vill implementera VictoriaMetrics, men som fortfarande inte kan. Vi \u00e4r i avtalsstadiet med dem.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/040affc4d56712783db61ee3b0ec509e.jpg\" style=\"display:block;margin: 0 auto;\" \/>Slutsatser.<\/p>\n<p><\/p>\n<p>VictoriaMetrics och Thanos l\u00f6ser liknande problem, men p\u00e5 olika s\u00e4tt:<\/p>\n<p><\/p>\n<ul>\n<li>Global fr\u00e5ga vy<\/li>\n<li>horisontell skalning <\/li>\n<li>valfri retention<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/af6285e8f6f68f373da1ebc552104f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tack.<\/p>\n<p><\/p>\n<p>Vi v\u00e4ntar p\u00e5 er p\u00e5 v\u00e5r <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/VictoriaMetrics_ru1\">telegramkanal<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"V\u00e4lja datalager f\u00f6r Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c45b2a3b6e541e7e6cd580629e418c35.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p class=\"for_users_only_msg\">Endast registrerade anv\u00e4ndare kan delta i omr\u00f6stningen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logga in<\/a><\/noindex>, tack.<\/p>\n<h2 class=\"default-block__polling-title\">Vad anv\u00e4nder ni som l\u00e5ngsiktig lagring f\u00f6r Prometheus?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">35,3%<\/strong>Thanos6<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>Cortex0<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>M3DB0<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">41,2%<\/strong>VictoriaMetrics7<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">23,5%<\/strong>annat4<\/p>\n<\/li>\n<\/ul>\n<p>    17 anv\u00e4ndare r\u00f6stade. 16 anv\u00e4ndare avstod.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482272\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u0441 Big Monitoring Meetup 4. Prometheus \u2013 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u043e\u0431 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c. \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 Thanos \u0438 VictoriaMetrics \u2014 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54601","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.\" \/>\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\/sv\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\udd47\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Prometheus: Thanos vs VictoriaMetrics | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\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=\"2019-12-29T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:38+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\udd47V\u00e4ljer datalagring f\u00f6r Prometheus: Thanos vs VictoriaMetrics | ProHoster","description":"Hej alla.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\udd47\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Prometheus: Thanos vs VictoriaMetrics | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","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":"2019-12-29T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54601","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":"2026-01-24 12:01:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:02:45","updated":"2026-01-24 12:01:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/54601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=54601"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/54601\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=54601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=54601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=54601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}