{"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\/ro\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","title":{"rendered":"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Salutare tuturor. Mai jos g\u0103si\u021bi transcrierea <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HyOXAdQE0Pk\">prezent\u0103rii de la 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> este un sistem de monitorizare a diverselor sisteme \u0219i servicii, prin care administratorii de sistem pot colecta informa\u021bii despre parametrii actuali ai sistemelor \u0219i pot configura notific\u0103ri pentru a primi alerte \u00een caz de abateri de la func\u021bionarea normal\u0103 a acestora.<\/p>\n<p><\/p>\n<p>\u00cen prezentare va fi comparat <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex> - proiecte pentru stocarea pe termen lung a metricilor Prometheus.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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=\"Reda\u021bi 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=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/dc3c90711a8102d3e70b972ca47ec152.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cencepe\u021bi prin a vorbi despre Prometheus. Este un sistem de monitorizare care colecteaz\u0103 metrici de la target-urile specificate \u0219i le stocheaz\u0103 \u00eentr-un depozit local. Prometheus poate \u00eenregistra metrici \u00eentr-un depozit extern, poate genera alerte \u0219i reguli de \u00eenregistrare. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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\">Limit\u0103rile Prometheus:<\/h3>\n<p><\/p>\n<ul>\n<li>Nu are vizualizare global\u0103 a interog\u0103rilor. Aceasta este atunci c\u00e2nd ave\u021bi mai multe instan\u021be independente de Prometheus. Ele colecteaz\u0103 metrici \u0219i dori\u021bi s\u0103 face\u021bi o interogare pe toate aceste metrici, colectate de la diferite instan\u021be de Prometheus. Prometheus nu permite acest lucru.<\/li>\n<li>Performan\u021ba Prometheus este limitat\u0103 la un singur server. Prometheus nu se poate scala automat pe mai multe servere. Pute\u021bi, totu\u0219i, s\u0103 \u00eemp\u0103r\u021bi\u021bi manual target-urile \u00eentre mai multe instan\u021be de Prometheus.<\/li>\n<li>Volumul metricilor \u00een Prometheus este limitat la un singur server din acela\u0219i motiv pentru care nu se poate scala automat pe mai multe servere.<\/li>\n<li>\u00cen Prometheus nu este at\u00e2t de simplu s\u0103 organiza\u021bi p\u0103strarea datelor.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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\">Care sunt solu\u021biile pentru aceste probleme?<\/h3>\n<p><\/p>\n<p>Solu\u021biile sunt:<\/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>Toate aceste solu\u021bii sunt pentru stocarea extern\u0103 a datelor colectate de Prometheus. Ele abordeaz\u0103 problema stoc\u0103rii externe diferit. \u00cen aceast\u0103 prezentare voi vorbi doar despre primele dou\u0103 solu\u021bii: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Informa\u021bia despre <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> a ap\u0103rut prima dat\u0103 la <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/blog\/thanos-prometheus-at-scale\">acest link<\/a><\/noindex>. Acolo este descris\u0103 arhitectura <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\">Thanos<\/a><\/noindex> \u0219i modul \u00een care func\u021bioneaz\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 ia datele pe care Prometheus le-a salvat pe disc local \u0219i le copiaz\u0103 \u00een S3, \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/\">GCS<\/a><\/noindex> sau \u00een alt stocaj de obiecte.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7cf5f99dc5ce78f22c5956373812c0aa.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Astfel, Thanos ofer\u0103 vizibilitate global\u0103 asupra interog\u0103rilor. Pute\u021bi solicita datele stocate \u00een stocarea de obiecte de la mai multe instan\u021be Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 suport\u0103 PromQL \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/api\/\">API-ul de interogare Prometheus<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 utilizeaz\u0103 codul Prometheus pentru stocarea datelor.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 este dezvoltat de aceia\u0219i dezvoltatori care au creat Prometheus.<\/p>\n<p><\/p>\n<p>Despre <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>. Iat\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/faun\/victoriametrics-creating-the-best-remote-storage-for-prometheus-5d92d66787ac\">linkul<\/a><\/noindex>, unde am vorbit prima dat\u0103 despre <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\">VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 preia date de la mai multe instan\u021be Prometheus prin <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/practices\/remote_write\/\">API-ul remote write<\/a><\/noindex> protocolul, suportat de Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 ofer\u0103 o vedere global\u0103 a interog\u0103rilor, deoarece mai multe instan\u021be Prometheus pot scrie date \u00eentr-o singur\u0103 instan\u021b\u0103 VictoriaMetrics. Astfel, po\u021bi realiza interog\u0103ri pentru toate aceste date.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 suport\u0103, la fel ca Thanos, PromQL \u0219i API-ul de interogare Prometheus.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/84daf1b7e160e6f9d8a53a83329f2436.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Spre deosebire de Thanos, codul surs\u0103 al VictoriaMetrics a fost scris de la zero \u0219i optimizat pentru vitez\u0103 \u0219i consum de resurse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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, spre deosebire de Thanos, se scaleaz\u0103 at\u00e2t vertical, c\u00e2t \u0219i orizontal. Exist\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md\">o versiune single-node<\/a><\/noindex>, care se scaleaz\u0103 vertical. Po\u021bi \u00eencepe cu un procesor \u0219i 1 GB de memorie \u0219i s\u0103 cre\u0219ti treptat p\u00e2n\u0103 la sute de procesoare \u0219i 1 TB de memorie. VictoriaMetrics este capabil\u0103 s\u0103 utilizeze toate aceste resurse. Performan\u021ba ei va cre\u0219te de aproximativ 100 de ori comparativ cu un sistem cu un singur nucleu. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/697e77546cda492f8512e7e761c0300f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Istoria Thanos a \u00eenceput \u00een noiembrie 2017, c\u00e2nd a avut loc prima commit public\u0103. \u00cenainte de aceasta, Thanos a fost dezvoltat intern \u00een compania <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\">improbable.io<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/610a81cfb98082bb61b7ae28b00d2c78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen iunie 2019, a avut loc un lansare semnificativ\u0103 0.5.0, \u00een care <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201809_gossip-removal.md\/\">a fost eliminat<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">protocolul gossip.<\/a><\/noindex> Acesta a fost eliminat din Thanos deoarece s-a dovedit a fi ineficient. Adesea, clusterul Thanos func\u021biona gre\u0219it, iar nodurile se conectau incorect din cauza protocolului gossip. Prin urmare, s-a decis eliminarea acestuia. Consider c\u0103 aceasta a fost o decizie corect\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/d7ecf0105d46464aadc4c46147edf9dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen aceea\u0219i lun\u0103 iunie 2019, au trimis cererea num\u0103rul <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/256\">256<\/a><\/noindex> \u00een <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=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a8685a616bbdc619009c570e28c9f15b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0219i, dup\u0103 c\u00e2teva luni, Thanos a fost acceptat \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/\">Cloud Native Computing Foundation<\/a><\/noindex>, care include Prometheus, Kubernetes \u0219i alte proiecte populare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/90c64c519aa283b13ce64b96da5ac945.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen ianuarie 2018, a \u00eenceput dezvoltarea VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c2243e3e0a8d00715644d7c84627c5cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen septembrie 2018, am men\u021bionat pentru prima dat\u0103 public despre VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/66feecad1783c36651cdf2a19e6d0d70.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen decembrie 2018, a fost publicat\u0103 versiunea Single-node.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aacf5d683c7d639df7a9f05e297f08c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen mai 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.usejournal.com\/open-sourcing-victoriametrics-f31e34485c2b\">au fost publicate<\/a><\/noindex> sursele at\u00e2t pentru versiunea Single-node, c\u00e2t \u0219i pentru versiunea cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6da160c13c87133b1994ef32f86db077.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen iunie 2019, la fel ca Thanos, am trimis o cerere la funda\u021bia CNCF sub num\u0103rul <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cncf\/toc\/pull\/255\">255<\/a><\/noindex>. Am trimis cererea cu o zi \u00eenainte dec\u00e2t Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/12c281eae67b3cec5a66fab41aee1fdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dar, din p\u0103cate, nu am fost accepta\u021bi acolo p\u00e2n\u0103 acum. Avem nevoie de ajutorul comunit\u0103\u021bii.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ab7b20661c3cfa01209cd742eb71a898.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 analiz\u0103m cele mai importante diapozitive, care arat\u0103 arhitectura Thanos \u0219i VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a268b600bcd0cebfd9c5069d2d911a9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 \u00eencepem cu Thanos. Componentele galbene sunt componente Prometheus. Tot ce este altceva sunt componente Thanos. S\u0103 \u00eencepem cu componenta cea mai important\u0103. Thanos Sidecar este componenta care este instalat\u0103 l\u00e2ng\u0103 fiecare Prometheus. Aceasta se ocup\u0103 cu \u00eenc\u0103rcarea datelor Prometheus din storage local \u00een S3 sau \u00een alt Object Storage. <\/p>\n<p><\/p>\n<p>Exist\u0103 \u0219i un component numit Thanos Store Gateway, care poate citi aceste date din Object Storage la cererile primite de la Thanos Query. Thanos Query implementeaz\u0103 PromQL \u0219i API-ul Prometheus. A\u0219adar, din exterior, acesta arat\u0103 ca Prometheus. Accept\u0103 cereri PromQL, le trimite c\u0103tre Thanos Store Gateway, iar Thanos Store Gateway ob\u021bine datele necesare din Object Storage \u0219i le trimite \u00eenapoi.<\/p>\n<p><\/p>\n<p>\u00cens\u0103 \u00een Object Storage avem datele lips\u0103 din ultimele dou\u0103 ore din cauza particularit\u0103\u021bilor implement\u0103rii Thanos Sidecar, care nu poate \u00eenc\u0103rca ultimele dou\u0103 ore \u00een Object Storage S3, deoarece pentru aceste dou\u0103 ore Prometheus nu a creat \u00eenc\u0103 fi\u0219iere \u00een stocarea local\u0103.<\/p>\n<p><\/p>\n<p>Cum am reu\u0219it s\u0103 o ocolim? Thanos Query, \u00een afar\u0103 de cererile c\u0103tre Thanos Store Gateway, trimite \u00een paralel cereri \u0219i c\u0103tre fiecare Thanos Sidecar care se afl\u0103 aproape de Prometheus. <\/p>\n<p><\/p>\n<p>Iar Thanos Sidecar, la r\u00e2ndul s\u0103u, proceseaz\u0103 cererile mai departe \u00een Prometheus \u0219i ob\u021bine datele din ultimele dou\u0103 ore.<\/p>\n<p><\/p>\n<p>Pe l\u00e2ng\u0103 aceste componente, exist\u0103 \u0219i o component\u0103 op\u021bional\u0103, f\u0103r\u0103 de care Thanos nu va func\u021biona eficient. Aceasta este Thanos Compact, care se ocup\u0103 cu fuzionarea fi\u0219ierelor mici din Object Storage \u00een fi\u0219iere mai mari, care au fost \u00eenc\u0103rcate acolo de Thanos Sidecar-uri. Thanos Sidecar \u00eencarc\u0103 fi\u0219iere cu date din ultimele dou\u0103 ore. Dac\u0103 aceste fi\u0219iere nu sunt fuzionate \u00een fi\u0219iere mai mari, num\u0103rul lor poate cre\u0219te semnificativ. Cu c\u00e2t sunt mai multe astfel de fi\u0219iere, cu at\u00e2t mai mult\u0103 memorie este necesar\u0103 pentru Thanos Store Gateway, iar resursele necesare pentru transferul de date \u0219i metadate cresc. Func\u021bionarea Thanos Store Gateway devine ineficient\u0103. Prin urmare, este esen\u021bial s\u0103 rula\u021bi Thanos Compact, care fuzioneaz\u0103 fi\u0219ierele mici \u00een fi\u0219iere mai mari, pentru a reduce num\u0103rul acestora \u0219i a mic\u0219ora overhead-ul asupra Thanos Store Gateway.<\/p>\n<p><\/p>\n<p>Exist\u0103 \u0219i un component numit Thanos Ruler. Acesta execut\u0103 regulile de alert\u0103 Prometheus \u0219i poate calcula regulile de \u00eenregistrare Prometheus, pentru a putea salva din nou datele \u00een Object Storage. Dar acest component nu este recomandat, deoarece <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md#risk\">tinde s\u0103 returneze date incomplete<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Iat\u0103 o schem\u0103 simpl\u0103 a lui Thanos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3f7cd77a1c056bf7ac245c774d05ea34.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Acum s\u0103 compar\u0103m cu schema VictoriaMetrics.<\/p>\n<p><\/p>\n<p>VictoriaMetrics are 2 versiuni: Single-node \u0219i versiunea de cluster. Single-node func\u021bioneaz\u0103 pe un singur computer. \u00cen Single-node nu exist\u0103 aceste componente, ci doar un binar. Acest binar pe diapozitiv arat\u0103 ca acest p\u0103trat. Tot ce se afl\u0103 \u00een interiorul p\u0103tratului este con\u021binutul fi\u0219ierului binar pentru versiunea Single-node. Nu trebuie s\u0103 \u0219ti\u021bi despre el. Pur \u0219i simplu rula\u021bi binarul \u0219i totul func\u021bioneaz\u0103. <\/p>\n<p><\/p>\n<p>Versiunea cluster este mai complex\u0103. \u00cen interiorul acesteia se afl\u0103 trei componente diferite: vmselect, vminsert \u0219i vmstorage. Din denumirile lor ar trebui s\u0103 fie clar ce se ocup\u0103 fiecare dintre ele. Componenta Insert accept\u0103 date \u00een diferite formate: din API-ul Prometheus remote write, protocolul Influx line, protocolul Graphite \u0219i protocolul OpenTSDB. Componenta Insert le prime\u0219te, le parseaz\u0103 \u0219i le \u00eemparte \u00eentre componentele storage existente, unde datele sunt deja salvate. Componenta Select, pe de alt\u0103 parte, accept\u0103 interog\u0103ri PromQL. Aceasta implementeaz\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@valyala\/promql-tutorial-for-beginners-9ab455142085\">PromQL<\/a><\/noindex>, precum \u0219i API-ul de interogare Prometheus, \u0219i poate fi folosit ca un substitut pentru Prometheus \u00een Grafana sau \u00een al\u021bi clien\u021bi API Prometheus. Select prime\u0219te interog\u0103ri promql, le parseaz\u0103, cite\u0219te datele necesare pentru a executa aceast\u0103 interogare din nodurile storage, le proceseaz\u0103 \u0219i returneaz\u0103 un r\u0103spuns.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b4f1ec2504c1bea423e58ced26570bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 compar\u0103m complexitatea instal\u0103rii Thanos \u0219i VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/39b293fc911b2987a191cc5d98b1c9f7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 \u00eencepem cu Thanos. \u00cenainte de a \u00eencepe s\u0103 lucra\u021bi cu Thanos, trebuie s\u0103 crea\u021bi un bucket \u00een Object Storage, cum ar fi S3 sau GCS, astfel \u00eenc\u00e2t Thanos Sidecar s\u0103 poat\u0103 scrie date acolo. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7a59c36c4453f1747067c79d9a9b8e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Apoi, pentru fiecare Prometheus trebuie s\u0103 instala\u021bi Thanos Sidecar. \u00cenainte de aceasta, nu uita\u021bi s\u0103 dezactiva\u021bi compresia datelor \u00een Prometheus. Compresia datelor comprim\u0103 periodic datele din stocarea local\u0103 a Prometheus pentru a reduce consumul de resurse.<\/p>\n<p><\/p>\n<p>C\u00e2nd instala\u021bi Thanos Sidecar la instan\u021bele dumneavoastr\u0103 de Prometheus, trebuie s\u0103 dezactiva\u021bi compunerea datelor, deoarece Thanos Sidecar nu func\u021bioneaz\u0103 corect cu compunerea datelor activat\u0103. Aceasta \u00eenseamn\u0103 c\u0103 Prometheus \u00eencepe s\u0103 salveze datele \u00een blocuri de c\u00e2te dou\u0103 ore \u0219i \u00eenceteaz\u0103 s\u0103 fuzioneze aceste blocuri \u00een unele mai mari. Prin urmare, dac\u0103 face\u021bi cereri care dep\u0103\u0219esc durata ultimelor dou\u0103 ore, acestea nu vor func\u021biona la fel de eficient, comparativ cu modul \u00een care ar putea func\u021biona, dac\u0103 compunerea datelor ar fi activat\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/825b70ede9edd1de6658576e2b824cd1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De aceea, Thanos recomand\u0103 reducerea timpului de reten\u021bie a datelor \u00een stocarea local\u0103 la 6-8 ore, pentru a reduce aceast\u0103 suprasarcin\u0103 a unui num\u0103r mare de blocuri mici.<\/p>\n<p><\/p>\n<p>Dup\u0103 ce a\u021bi instalat Thanos Sidecar, trebuie s\u0103 instala\u021bi dou\u0103 componente pentru fiecare Object Storage Bucket. Acestea sunt Thanos Compactor \u0219i Thanos Store Gateway. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/77575d65a75bfd9af8d7dedf0cc5c922.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dup\u0103 aceea, trebuie s\u0103 instala\u021bi Thanos Query \u0219i s\u0103-l configura\u021bi pentru a se putea conecta la toate Thanos Store Gateway-urile pe care le ave\u021bi, precum \u0219i s\u0103 se conecteze la toate Thanos Sidecar-urile.<\/p>\n<p><\/p>\n<p>Aici poate ap\u0103rea o mic\u0103 problem\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6eddee956c58991ccee52891b368f10f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Trebuie s\u0103 configura\u021bi o conexiune sigur\u0103 \u0219i protejat\u0103 de la Thanos Query la aceste componente. Iar dac\u0103 instan\u021bele dumneavoastr\u0103 de Prometheus se afl\u0103 \u00een centre de date diferite sau \u00een VPC-uri diferite, atunci conexiunile externe sunt interzise. Dar pentru ca Thanos Query s\u0103 func\u021bioneze, trebuie s\u0103 configura\u021bi o conexiune, \u0219i trebuie s\u0103 g\u0103si\u021bi o solu\u021bie.<\/p>\n<p><\/p>\n<p>Dac\u0103 ave\u021bi multe centre de date, fiabilitatea \u00eentregului sistem scade. Deoarece Thanos Query trebuie s\u0103 men\u021bin\u0103 continuu conexiuni cu toate Thanos Sidecar-urile aflate \u00een diferite centre de date. La fiecare solicitare primit\u0103, va trimite cereri c\u0103tre toate Thanos Sidecar-urile. Dac\u0103 conexiunea este \u00eentrerupt\u0103, ve\u021bi ob\u021bine fie un set incomplet de date, fie ve\u021bi primi un r\u0103spuns \u201eclusterul nu func\u021bioneaz\u0103\u201d. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/13c3765871568ac0db4014964cb5d752.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen VictoriaMetrics, totul este pu\u021bin mai simplu. Pentru versiunea Single-node, este suficient s\u0103 rula\u021bi un singur binar \u0219i totul func\u021bioneaz\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/1edf992a6404f5dea1ae2bd4f4d2d8fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pentru versiunea \u00een cluster, este suficient s\u0103 rula\u021bi toate cele trei tipuri de componente men\u021bionate anterior \u00een orice num\u0103r de care ave\u021bi nevoie, sau s\u0103 folosi\u021bi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/helm-charts\/\">helm chart<\/a><\/noindex> pentru automatizarea lans\u0103rii componentelor \u00een Kubernetes. De asemenea, pl\u0103nuim s\u0103 dezvolt\u0103m un operator Kubernetes. Helm chart-ul nu acoper\u0103 unele cazuri \u0219i v\u0103 permite s\u0103 v\u0103 \u00eempu\u0219ca\u021bi \u00een picior. De exemplu, permite reducerea num\u0103rului de storage node, ceea ce va duce la pierderea datelor.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/ad4249222cb5e591d7e7bd0b7f1708c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dup\u0103 ce a\u021bi lansat un binar sau versiunea \u00een cluster, este suficient s\u0103 ad\u0103uga\u021bi \u00een configura\u021bia Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/VictoriaMetrics\/VictoriaMetrics\/blob\/master\/README.md#prometheus-setup\">setarea pentru remote write url<\/a><\/noindex>, pentru a \u00eencepe s\u0103 \u00eenregistreze datele \u00een mod paralel \u00een stocarea local\u0103 \u0219i \u00een stocarea remote. A\u0219a cum a\u021bi observat, aceast\u0103 configura\u021bie ar trebui s\u0103 func\u021bioneze mult mai fiabil comparativ cu configura\u021bia Thanos. Nu trebuie s\u0103 men\u021binem conexiunea de la VictoriaMetrics c\u0103tre toate Prometheus-urile, deoarece Prometheus-urile se conecteaz\u0103 singure la VictoriaMetrics \u0219i transmit datele. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/465ffc6cd77b2ca022b2541851a7ddbc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 analiz\u0103m mentenan\u021ba Thanos \u0219i VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 trebuie s\u0103 monitorizeze Sidecar pentru a se asigura c\u0103 nu \u00eentrerupe transferul de date \u00een Object Storage. Acesta poate opri acest transfer din cauza unor erori de \u00eenc\u0103rcare, de exemplu, dac\u0103 ave\u021bi o \u00eentrerupere temporar\u0103 a conexiunii de re\u021bea cu Object Storage sau dac\u0103 Object Storage devine temporar inaccesibil. Thanos Sidecar va observa acest lucru, va raporta o eroare, poate s\u0103 se pr\u0103bu\u0219easc\u0103 \u0219i apoi s\u0103 \u00eenceteze s\u0103 func\u021bioneze. Dac\u0103 nu \u00eel monitoriza\u021bi, datele nu vor mai fi transmise \u00een Object Storage. Dac\u0103 trece timpul de reten\u021bie (6-8 ore recomandate), ve\u021bi pierde datele care nu au ajuns \u00een Object Storage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 compactorii pot \u00eenceta s\u0103 func\u021bioneze din cauza <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/1919\">races-urilor cu Sidecar<\/a><\/noindex>. Comppactor-urile iau date din Object Storage \u0219i le \u00eembin\u0103 \u00een buc\u0103\u021bi mai mari. Deoarece compactoarele nu sunt sincronizate cu Sidecar-urile, poate ap\u0103rea urm\u0103toarea problem\u0103: Sidecar-ul nu a reu\u0219it \u00eenc\u0103 s\u0103 finalizeze scrierea blocului, iar Compactor-ul decide c\u0103 acest bloc a fost complet scris. Compactor-ul \u00eencepe s\u0103 \u00eel citeasc\u0103. El cite\u0219te blocul incomplet \u0219i \u00eenceteaz\u0103 s\u0103 func\u021bioneze. Vezi detalii. <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/proposals\/201901-read-write-operations-bucket.md\/\">aici<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 poate returna date inconsistent datorit\u0103 competi\u021biei \u00eentre Compactor \u0219i Sidecar-uri. Situa\u021bia este similar\u0103, deoarece Store Gateway nu este sincronizat cu Compactor-urile \u0219i Sidecar-urile. Prin urmare, pot ap\u0103rea condi\u021bii de competi\u021bie \u00een care Store Gateway nu vede o parte din date sau vede date \u00een exces.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/85fcc811173dda1a42ac8d4e3b212f5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Componenta Query din Thanos returneaz\u0103 implicit un rezultat par\u021bial dac\u0103 unele Sidecar-uri sau Store Gateway nu sunt disponibile \u00een acel moment. Ve\u021bi primi o parte din date \u0219i nici nu ve\u021bi \u0219ti c\u0103 nu a\u021bi primit toate datele. A\u0219a func\u021bioneaz\u0103 \u00een mod implicit. \u00centr-o situa\u021bie similar\u0103, VictoriaMetrics returneaz\u0103 datele marcate ca par\u021biale. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/a9e5a70bdcafae9b98545514ca7a7ff3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Spre deosebire de Thanos, VictoriaMetrics rareori pierde date. Chiar dac\u0103 conexiunea de la Prometheus la VictoriaMetrics este \u00eentrerupt\u0103, nu este o problem\u0103, deoarece Prometheus continu\u0103 s\u0103 scrie datele noi primite \u00een Write Ahead Log, care are o dimensiune de 2 ore. Dac\u0103 \u00een termen de dou\u0103 ore restabili\u021bi conexiunea cu VictoriaMetrics, datele nu se vor pierde. Prometheus <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2019\/03\/25\/whats-new-in-prometheus-2.8-wal-based-remote-write\/\">poate ad\u0103uga date dup\u0103 restabilirea conexiunii cu VictoriaMetrics<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/fa4be02056f7338416029bfd8f9d0214.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Spre deosebire de Thanos, care scrie datele \u00een object storage doar dup\u0103 dou\u0103 ore, Prometheus replic\u0103 automat datele prin protocolul remote write \u00een remote storage, cum ar fi VictoriaMetrics. Nu trebuie s\u0103 \u00ee\u021bi faci griji cu privire la pierderea local storage \u00een Prometheus. Dac\u0103 ar pierde local storage, \u00een cel mai r\u0103u caz vei pierde ultimele secunde de date care nu au apucat s\u0103 fie scrise \u00een remote storage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 gestioneaz\u0103 automat clusterul, spre deosebire de Thanos. Toate componentele Thanos sunt greu de inclus \u00eentr-un singur cluster Kubernetes, \u00een contrast cu componentele cluster ale VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5b3d1586fe461a0c6f34de09fdd12845.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics are o actualizare foarte simpl\u0103 la o nou\u0103 versiune. Pur \u0219i simplu opre\u0219ti VictoriaMetrics, actualizezi binarele \u0219i reporne\u0219ti. C\u00e2nd este oprit prin semnalul SIGINT, toate binarele VictoriaMetrics fac un shutdown gra\u021bios. Ele salveaz\u0103 corect datele necesare, \u00eenchid corect conexiunile intrante pentru a nu pierde nimic. Prin urmare, nu vei pierde nimic \u00een timpul actualiz\u0103rii. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/96a52e2f0696172159919536efb68ad3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Extinderea clusterului VictoriaMetrics este foarte simpl\u0103. Pur \u0219i simplu adaugi componentele necesare \u0219i continui s\u0103 lucrezi. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/5f5e6ef78b322bb278e618a526f05e26.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Despre capcanele din Thanos \u0219i VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 are urm\u0103toarele capcane. Prometheus trebuie s\u0103 stocheze datele pentru ultimele dou\u0103 ore. Dac\u0103 acestea se pierd, le vei pierde complet, deoarece nu au apucat s\u0103 fie scrise \u00een Object Storage, cum ar fi S3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/81ca9135d2d97b95e9731dd1f5501859.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Componenta Store Gateway \u0219i componenta compactor pot necesita mult\u0103 memorie pentru a lucra cu un mare Object Storage, dac\u0103 acolo sunt stocate multe fi\u0219iere mici. Cu c\u00e2t num\u0103rul \u0219i volumul fi\u0219ierelor sunt mai mari, cu at\u00e2t Store Gateway \u0219i compactorul necesit\u0103 mai mult\u0103 memorie opera\u021bional\u0103 pentru a stoca metainforma\u021biile. Thanos are multe probleme legate de faptul c\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues\/448\">Store Gateway \u0219i compactorul se pr\u0103bu\u0219esc la volume medii de date \u00eenregistrate.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 se laud\u0103 c\u0103 se poate scala infinit \u00een raport cu num\u0103rul de Prometheus. \u00cen realitate, acest lucru nu este adev\u0103rat. Deoarece toate cererile trec prin componenta Query, care trebuie s\u0103 interogheze \u00een paralel toate componentele Store Gateway \u0219i toate componentele Sidecar, extra\u0219\u00e2nd date de acolo \u0219i apoi preproces\u00e2ndu-le. Este evident c\u0103 viteza cererilor este limitat\u0103 de cel mai lent punct slab, cel mai lent Store Gateway sau cel mai lent Sidecar. <\/p>\n<p><\/p>\n<p>Aceste componente pot fi supra\u00eenc\u0103rcate inegal. De exemplu, ave\u021bi un Prometheus care colecteaz\u0103 milioane de metrici pe secund\u0103. \u0218i exist\u0103 un Prometheus care colecteaz\u0103 mii de metrici pe secund\u0103. Prometheus-ul care colecteaz\u0103 milioane de metrici pe secund\u0103 solicit\u0103 mult mai mult serverul pe care func\u021bioneaz\u0103. Prin urmare, Sidecar-ul de acolo va func\u021biona mai lent. \u0218i, \u00een general, totul va func\u021biona \u00eencet. Componenta Query va extrage datele de acolo foarte \u00eencet. Astfel, performan\u021ba \u00eentregului cluster va fi limitat\u0103 de acest Sidecar lent.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/68070f629821a54bfd8ed934d67344fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cen mod implicit, Thanos returneaz\u0103 date par\u021biale dac\u0103 unele Sidecar-uri sau Store Gateway-ul nu sunt disponibile. De exemplu, dac\u0103 ave\u021bi Sidecar-uri dispersate \u00een \u00eentreaga lume \u00een diferite centre de date, probabilitatea \u00eentreruperii conexiunii \u0219i a indisponibilit\u0103\u021bii componentelor cre\u0219te semnificativ. Prin urmare, \u00een cele mai multe cazuri, ve\u021bi primi date par\u021biale f\u0103r\u0103 s\u0103 fi\u021bi con\u0219tien\u021bi de acest lucru.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6a1dea50e739314c23b4370c569b44a4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De asemenea, VictoriaMetrics are capcane. Prima capcan\u0103 este op\u021biunea care limiteaz\u0103 cantitatea de memorie RAM utilizat\u0103 pentru cache-ul VictoriaMetrics. \u00cen mod implicit, aceasta este setat\u0103 la 60% din memoria RAM a ma\u0219inii pe care ruleaz\u0103 VictoriaMetrics sau 60% din RAM-ul podului VictoriaMetrics \u00een Kubernetes.<\/p>\n<p><\/p>\n<p>Dac\u0103 schimba\u021bi incorect aceast\u0103 valoare, pute\u021bi afecta performan\u021ba VictoriaMetrics. De exemplu, dac\u0103 seta\u021bi o valoare prea mic\u0103, datele pot \u00eenceta s\u0103 \u00eencap\u0103 \u00een cache-ul VictoriaMetrics. Din aceast\u0103 cauz\u0103, va trebui s\u0103 efectueze munc\u0103 suplimentar\u0103 \u0219i s\u0103 solicite procesorul \u00eempreun\u0103 cu discul. Dac\u0103 face\u021bi aceast\u0103 op\u021biune prea mare, cre\u0219te, pe de o parte, probabilitatea ca VictoriaMetrics s\u0103 se \u00eenchid\u0103 cu eroarea out of memory, \u0219i, pe de alt\u0103 parte, va duce la faptul c\u0103 \u00een sistemul de operare va r\u0103m\u00e2ne foarte pu\u021bin\u0103 memorie RAM pentru cache-ul de fi\u0219iere. Iar VictoriaMetrics se bazeaz\u0103 pe cache-ul de fi\u0219iere pentru performan\u021b\u0103. Dac\u0103 nu este suficient, atunci sarcina pe disc se poate cre\u0219te semnificativ. De aceea, sfatul este s\u0103 nu schimba\u021bi parametrul f\u0103r\u0103 o necesitate extrem\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/f145833dcbe42c2b62545358cfb204e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A doua op\u021biune. Este retentionPeriod \u2014 perioada care, \u00een mod implicit, este setat\u0103 la 1 lun\u0103. Aceasta este perioada \u00een care VictoriaMetrics p\u0103streaz\u0103 datele. La expirarea acestui termen, VictoriaMetrics \u0219terge datele.<\/p>\n<p><\/p>\n<p>Multe persoane ruleaz\u0103 VictoriaMetrics f\u0103r\u0103 acest parametru, \u00eenregistreaz\u0103 date timp de o lun\u0103. Apoi se \u00eentreab\u0103: de ce datele au disp\u0103rut \u00een luna precedent\u0103? Pentru c\u0103 retentionPeriod implicit este de 1 lun\u0103. A\u0219adar, trebuie s\u0103 cuno\u0219ti \u0219i s\u0103 stabile\u0219ti un retentionPeriod corect. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/377e4e19b7dc5648dd16bff39f4f1651.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 trecem \u00een revist\u0103 caracteristicile unice.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 are o func\u021bionalitate numit\u0103 downsampling: intervale de 5 minute \u0219i orare, care de multe ori <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/issues?utf8=%E2%9C%93&amp;q=is%3Aissue+is%3Aopen+downsampling\">nu func\u021bioneaz\u0103 corect<\/a><\/noindex>. Dac\u0103 cau\u021bi pe Google \u0219i verifici problemele lor pe GitHub, vei g\u0103si multe probleme legate de acest downsampling, care uneori nu func\u021bioneaz\u0103 corect sau nu func\u021bioneaz\u0103 a\u0219a cum se a\u0219teapt\u0103 utilizatorii.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 dispune de deduplicare a datelor pentru perechile Prometheus HA. C\u00e2nd dou\u0103 Prometheus-uri colecteaz\u0103 acelea\u0219i metrici de la acelea\u0219i \u021binte, iar Thanos le adaug\u0103 \u00een Object Storage. Thanos \u0219tie s\u0103 dedupliceze corect aceste date, spre deosebire de VictoriaMetrics.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 are un component de alert\u0103, care a fost men\u021bionat \u00een schema Thanos. Dar acesta <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thanos-io\/thanos\/blob\/master\/docs\/components\/rule.md\">nu este recomandat pentru utilizarea \u00een produc\u021bie<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 are avantajul c\u0103 codul din Thanos \u0219i Prometheus este comun. Thanos \u0219i Prometheus sunt dezvoltate de aceia\u0219i dezvoltatori. Atunci c\u00e2nd se fac \u00eembun\u0103t\u0103\u021biri \u00een Thanos, partea cealalt\u0103 (Prometheus) beneficiaz\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/92435f15d58e83eb4d548a8bf5256c30.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Principala caracteristic\u0103 a VictoriaMetrics este \u2014 MetricsQL. Aceasta este extensia VictoriaMetrics pentru PromQL, despre care am vorbit la anteriorul big monitoring meetup.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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 suport\u0103 \u00eenc\u0103rcarea datelor prin multe protocoale diferite. VictoriaMetrics nu doar c\u0103 poate primi date de la Prometheus, dar \u0219i prin protocoale precum Influx, OpenTSDB \u0219i Graphite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/b4bca4b255990f1af11a6ceaf42f46ef.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Datele VictoriaMetrics ocup\u0103 de obicei mult mai pu\u021bin spa\u021biu comparativ cu Thanos \u0219i Prometheus. <\/p>\n<p><\/p>\n<p>Dac\u0103 se \u00eenregistreaz\u0103 date reale, utilizatorii afirm\u0103 c\u0103 dimensiunea datelor pe disc este redus\u0103 de 2-5 ori comparativ cu Prometheus \u0219i Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/6aeab3c42b45dbd620d328fc43ce4bec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un alt avantaj al VictoriaMetrics este c\u0103 este optimizat\u0103 pentru vitez\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/89010a913f0d7b1388b6c62007c7835b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0103 discut\u0103m despre costul infrastructurii. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/65bd322bb2a64ac4188e29b79e54763a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Unul dintre avantajele Thanos este c\u0103 acesta p\u0103streaz\u0103 datele \u00een object storage, care este relativ ieftin.<\/p>\n<p><\/p>\n<p>C\u00e2nd salvezi date \u00een obiect storage, trebuie s\u0103 pl\u0103te\u0219ti pentru opera\u021biile de scriere \u0219i citire a datelor (10 dolari pe milion de opera\u021bii). C\u00e2nd scrii date \u00een object storage, pl\u0103te\u0219ti costurile de hosting pentru \u00eenc\u0103rcarea datelor pe internet, dac\u0103 clusterul t\u0103u nu se afl\u0103 \u00een AWS \u2014 acolo este gratuit. C\u00e2nd cite\u0219ti datele, pl\u0103te\u0219ti \u00eentre 10 dolari \u0219i 230 dolari pentru 1TB. Acest lucru poate fi semnificativ dac\u0103 soliciti frecvent date istorice din clusterul Thanos.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/7f1b32c75d49efa082201fa55b43f6bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pentru clusterul Thanos, este necesar s\u0103 pl\u0103ti\u021bi servere pentru componentele Compact, Store Gateway, Query, care necesit\u0103 mult\u0103 memorie \u0219i CPU pentru volume mari de date.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/19c90f30760e77f57a658e67507f4f98.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La VictoriaMetrics, costurile sunt astfel. Dac\u0103 p\u0103strezi datele pe discuri GCE HDD, ajunge la 40 USD pe 1TB. Pentru VictoriaMetrics, sunt suficiente discuri HDD obi\u0219nuite, nu sunt necesare SSD-uri, care cost\u0103 de cinci ori mai mult. VictoriaMetrics este optimizat\u0103 pentru HDD.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/c7e922b4d97f353218d6edad7cdea584.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>VictoriaMetrics necesit\u0103 servere pentru componente: fie Single-node, fie pentru componentele cluster, care, spre deosebire de componentele Thanos, necesit\u0103 mult mai pu\u021bin CPU \u0219i RAM \u2014 astfel, va fi mai ieftin. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/aaf63cad75238ba19efb825376cf356c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Exemple de implementare. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/53ce0a68724c339d88ad769c18a2e5f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un exemplu de implementare pentru Thanos este Gitlab. Gitlab func\u021bioneaz\u0103 pe deplin pe Thanos. Dar nu totul este at\u00e2t de simplu. Dac\u0103 ne uit\u0103m la <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8647\">issues<\/a><\/noindex>, putem observa c\u0103 au constant anumite <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-com\/gl-infra\/infrastructure\/issues\/8413\">probleme opera\u021bionale cu Thanos<\/a><\/noindex>: le lipse\u0219te memorie pentru componentele Store Gateway sau Query. Sunt nevoi\u021bi s\u0103 \u00ee\u0219i creasc\u0103 constant capacitatea de memorie. <\/p>\n<p><\/p>\n<p>Din aceast\u0103 cauz\u0103, costurile pentru rezolvarea acestor probleme cresc. <\/p>\n<p><\/p>\n<p>A doua implementare, care ar putea fi mai reu\u0219it\u0103 \u2014 este compania Improbable, care a \u00eenceput dezvoltarea Thanos. Ei au publicat sursele Thanos. Improbable este o companie care se ocup\u0103 cu dezvoltarea de motoare de jocuri.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/3a1279cae3cfc7e94c2eccfc0972f06e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La VictoriaMetrics, exemplele publice de implementare sunt:<\/p>\n<p><\/p>\n<ul>\n<li>wix.com, constructor de site-uri<\/li>\n<li>Adidas implementeaz\u0103 VictoriaMetrics \u0219i chiar a f\u0103cut o prezentare la ultimul PromCon 2019<\/li>\n<li>TrafficStars \u2014 re\u021bea de publicitate<\/li>\n<li>Seznam.cz \u2014 un motor de c\u0103utare popular din Cehia.<\/li>\n<\/ul>\n<p><\/p>\n<p>Apoi au fost companii mai pu\u021bin cunoscute, pe care nu pot s\u0103 le numesc acum. Nu au dat consim\u021b\u0103m\u00e2ntul. <\/p>\n<p><\/p>\n<ul>\n<li>Un dezvoltator mare de jocuri. Mai mare dec\u00e2t Improbable.<\/li>\n<li>Un mare dezvoltator de software grafic.<\/li>\n<li>O mare banc\u0103 rus\u0103.<\/li>\n<li>Un produc\u0103tor european de turbine eoliene, care a testat cu succes VictoriaMetrics. Acest produc\u0103tor implementeaz\u0103 VictoriaMetrics pentru monitorizarea datelor recep\u021bionate de la turbinele eoliene cu o rat\u0103 de 50 de e\u0219antioane pe secund\u0103 pentru fiecare senzor. Fiecare turbin\u0103 eolian\u0103 are c\u00e2teva sute de senzori. Au c\u00e2teva sute de turbine eoliene.<\/li>\n<li>Aeroporturi ruse, care doresc s\u0103 implementeze VictoriaMetrics, dar \u00eenc\u0103 nu reu\u0219esc. Suntem \u00een stadiul de contract.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/040affc4d56712783db61ee3b0ec509e.jpg\" style=\"display:block;margin: 0 auto;\" \/>Concluzii.<\/p>\n<p><\/p>\n<p>VictoriaMetrics \u0219i Thanos abordeaz\u0103 probleme similare, dar \u00een moduri diferite:<\/p>\n<p><\/p>\n<ul>\n<li>Viziune global\u0103 a interog\u0103rilor<\/li>\n<li>scalare orizontal\u0103 <\/li>\n<li>retentie arbitrar\u0103<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru Prometheus: Thanos vs VictoriaMetrics\" src=\"\/wp-content\/uploads\/2019\/12\/af6285e8f6f68f373da1ebc552104f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mul\u021bumim.<\/p>\n<p><\/p>\n<p>Te a\u0219tept\u0103m pe <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/VictoriaMetrics_ru1\">canalul nostru de telegram<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Alegerea unui sistem de stocare a datelor pentru 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\">Numai utilizatorii \u00eenregistra\u021bi pot participa la sondaj. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Conecta\u021bi-v\u0103<\/a><\/noindex>, v\u0103 rug\u0103m.<\/p>\n<h2 class=\"default-block__polling-title\">Ce folose\u0219ti ca stocare pe termen lung pentru Prometheus?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">35,3%<\/strong>Thanos<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>Cortex<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">0,0%<\/strong>M3DB<\/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>VictoriaMetrics<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">23,5%<\/strong>alte<\/p>\n<\/li>\n<\/ul>\n<p>    Au votat 17 de utilizatori. 16 utilizatori s-au ab\u021binut.<br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Alegem un stoc de date pentru Prometheus: Thanos vs VictoriaMetrics | ProHoster","description":"Salutare tuturor.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vybiraem-hranilishhe-dannyh-dlya-prometheus-thanos-vs-victoriametrics","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/54601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=54601"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/54601\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=54601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=54601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=54601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}