{"id":81888,"date":"2020-05-17T13:42:23","date_gmt":"2020-05-17T11:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus"},"modified":"2020-05-17T13:42:23","modified_gmt":"2020-05-17T11:42:23","slug":"thanos-masshtabiruemyj-prometheus","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","title":{"rendered":"Thanos \u2014 detyruesh\u00ebm Prometheus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur posa\u00e7\u00ebrisht p\u00ebr student\u00ebt e kursit <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">\u00abPraktikat dhe mjetet DevOps\u00bb<\/a><\/noindex>.<\/i><\/b><\/p>\n<p>\n<i><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabxc\">Fabian Reinartz<\/a><\/noindex> \u2014 zhvillues softueri, pasionant i Go dhe entuziast i zgjidhjes s\u00eb problemeve t\u00eb nd\u00ebrlikuara. Ai gjithashtu \u00ebsht\u00eb menteri i Prometheus dhe bashk\u00ebthemelues i Kubernetes SIG instrumentation. M\u00eb par\u00eb ka qen\u00eb inxhinier prodhimi n\u00eb SoundCloud dhe udh\u00ebhoqi grupin e monitorimit n\u00eb CoreOS. Aktualisht punon n\u00eb Google.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Bplotka\">Bartek Plotka<\/a><\/noindex> \u2014 inxhinier infrastrukture n\u00eb Improbable. Ai \u00ebsht\u00eb i apasionuar pas teknologjive t\u00eb reja dhe problemeve t\u00eb sistemeve t\u00eb shp\u00ebrndara. Ka p\u00ebrvoj\u00eb n\u00eb programimin e nivelit t\u00eb ul\u00ebt n\u00eb Intel, si dhe ka kontribuar n\u00eb Mesos dhe ka p\u00ebrvoj\u00eb prodhimi si SRE n\u00eb shkall\u00eb globale n\u00eb Improbable. Punohet p\u00ebr p\u00ebrmir\u00ebsimin e bot\u00ebs s\u00eb mikrosh\u00ebrbimeve. Tre dashurit\u00eb e tij: Golang, open source dhe volejboll.<\/i><\/p>\n<p>Duke par\u00eb produktin ton\u00eb kryesor SpatialOS, ju mund t\u00eb kuptoni se p\u00ebr Improbable nevojitet nj\u00eb infrastruktur\u00eb cloud me dinamiz\u00ebm t\u00eb lart\u00eb dhe n\u00eb shkall\u00eb globale me dhjet\u00ebra klaster\u00eb Kubernetes. Ne ishim disa nga t\u00eb par\u00ebt q\u00eb filluam p\u00ebrdorimin e sistemit t\u00eb monitorimit <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex>. Prometheus \u00ebsht\u00eb n\u00eb gjendje t\u00eb monitoroj\u00eb miliona metrika n\u00eb koh\u00eb reale dhe vjen me nj\u00eb gjuh\u00eb t\u00eb fuqishme pyetjesh q\u00eb lejon nxjerrjen e informacionit t\u00eb nevojsh\u00ebm.<\/p>\n<p>Thjesht\u00ebsia dhe besueshm\u00ebria e Prometheus jan\u00eb disa nga avantazhet e tij kryesore. Megjithat\u00eb, pasi arrit\u00ebm nj\u00eb mas\u00eb t\u00eb caktuar, u p\u00ebrball\u00ebm me disa disavantazhe. P\u00ebr t\u00eb zgjidhur k\u00ebto probleme, ne zhvilluam <noindex><a rel=\"nofollow\" href=\"https:\/\/thanos.io\/\">Thanos<\/a><\/noindex> \u2014 nj\u00eb projekt me kod t\u00eb hapur, i krijuar nga Improbable, p\u00ebr transformimin pa nd\u00ebrprerje t\u00eb klaster\u00ebve ekzistues t\u00eb Prometheus n\u00eb nj\u00eb sistem t\u00eb vet\u00ebm monitorimi me ruajtje t\u00eb pakufizuar t\u00eb t\u00eb dh\u00ebnave historike. Thanos \u00ebsht\u00eb i disponuesh\u00ebm n\u00eb Github <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">k\u00ebtu<\/a><\/noindex>.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/gdk.improbable.io\/l\/169082\/2020-01-10\/2j9yxq\">Q\u00ebndroni t\u00eb informuar me lajmet e fundit nga Improbable.<\/a><\/noindex><\/p>\n<h2>Q\u00ebllimet tona me Thanos<\/h2>\n<p>\nN\u00eb nj\u00eb mas\u00eb t\u00eb caktuar, lindin probleme q\u00eb tejkalojn\u00eb kapacitetet e Prometheus vanilla. Si t\u00eb ruajm\u00eb me besueshm\u00ebri dhe n\u00eb m\u00ebnyr\u00eb ekonomik\u00eb petabajt t\u00eb t\u00eb dh\u00ebnave historike? A \u00ebsht\u00eb e mundur t\u00eb b\u00ebhet kjo pa ndikuar n\u00eb koh\u00ebn e p\u00ebrgjigjes p\u00ebr pyetje? A mund t\u00eb aksesohen t\u00eb gjitha metrikat t\u00eb shp\u00ebrndara n\u00eb server\u00eb t\u00eb ndrysh\u00ebm t\u00eb Prometheus me nj\u00eb k\u00ebrkes\u00eb API? A mund t\u00eb kombinohen ndonj\u00ebher\u00eb t\u00eb dh\u00ebnat e riplikuar t\u00eb mbledhura nga Prometheus HA?<\/p>\n<p>P\u00ebr t\u00eb zgjidhur k\u00ebto pyetje, ne krijuam Thanos. N\u00eb seksionet e ardhshme p\u00ebrshkruhet si iu qas\u00ebm zgjidhjeve t\u00eb k\u00ebtyre problemeve dhe shpjegohen q\u00ebllimet q\u00eb ndjekim.<\/p>\n<h4>K\u00ebrkesa p\u00ebr t\u00eb dh\u00ebna nga disa instanca t\u00eb Prometheus (global query)<\/h4>\n<p>\nPrometheus ofron nj\u00eb qasje funksionale ndaj sharding. Edhe nj\u00eb server Prometheus siguron nj\u00eb shkall\u00ebzim t\u00eb mjaftuesh\u00ebm p\u00ebr t'i \u00e7liruar p\u00ebrdoruesit nga v\u00ebshtir\u00ebsit\u00eb e sharding horizontal n\u00eb pothuajse t\u00eb gjitha rastet e p\u00ebrdorimit.<\/p>\n<p>Megjithat\u00eb, ndonj\u00ebher\u00eb k\u00ebrkohet t\u00eb aksesohen t\u00eb dh\u00ebnat n\u00eb server\u00eb t\u00eb ndrysh\u00ebm t\u00eb Prometheus p\u00ebrmes nj\u00eb API ose UI t\u00eb vet\u00ebm \u2014 pamja globale. Natyrisht, ka mund\u00ebsin\u00eb p\u00ebr t\u00eb shfaqur disa k\u00ebrkesa n\u00eb nj\u00eb tabel\u00eb Grafana, por \u00e7do k\u00ebrkes\u00eb mund t\u00eb ekzekutohet vet\u00ebm n\u00eb nj\u00eb server Prometheus. Nga ana tjet\u00ebr, me Thanos mund t\u00eb k\u00ebrkoni dhe t\u00eb grumbulloni t\u00eb dh\u00ebna nga disa server\u00eb t\u00eb Prometheus, pasi t\u00eb gjith\u00eb jan\u00eb t\u00eb aksesuesh\u00ebm nga nj\u00eb pik\u00eb fundore.<\/p>\n<p>M\u00eb par\u00eb, p\u00ebr t\u00eb marr\u00eb pamjen globale n\u00eb Improbable, ne organizuam instancat tona t\u00eb Prometheus n\u00eb nj\u00eb sistem shum\u00eb-nj\u00ebsor <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/prometheus\/prometheus\/blob\/master\/docs\/federation.md#hierarchical-federation\">Hierarchical Federation<\/a><\/noindex>. Kjo do t\u00eb thot\u00eb krijimin e nj\u00eb meta-serveri Prometheus, i cili mbledh nj\u00eb pjes\u00eb t\u00eb metrikeve nga \u00e7do server \"leht\u00ebsor\".<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/82590f017734f5dc1038a0e13f772d2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKy qasje u tregua problematike. Kjo \u00e7oi n\u00eb nd\u00ebrlikimin e konfigurimit, shtimin e nj\u00eb pike t\u00eb mundshme d\u00ebshtimi dhe aplikimin e rregullave t\u00eb nd\u00ebrlikuara p\u00ebr t'i ofruar pik\u00ebt federale vet\u00ebm t\u00eb dh\u00ebnat e nevojshme. P\u00ebr m\u00eb tep\u00ebr, nj\u00eb federat\u00eb e till\u00eb nuk lejon t\u00eb arrihet nj\u00eb pamje globale reale, pasi jo t\u00eb gjitha t\u00eb dh\u00ebnat jan\u00eb t\u00eb aksesueshme nga nj\u00eb k\u00ebrkes\u00eb API.<\/p>\n<p>Kjo lidhet ngusht\u00eb me nj\u00eb paraqitje t\u00eb vetme t\u00eb t\u00eb dh\u00ebnave t\u00eb mbledhura n\u00eb server\u00ebve t\u00eb Prometheus me disponueshm\u00ebri t\u00eb lart\u00eb (high-availability, HA). Modeli HA i Prometheus mbledh t\u00eb dh\u00ebna dy her\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb pavarur, gj\u00eb q\u00eb \u00ebsht\u00eb aq e thjesht\u00eb, sa nuk mund t\u00eb jet\u00eb m\u00eb e thjesht\u00eb. Megjithat\u00eb, p\u00ebrdorimi i nj\u00eb paraqitje t\u00eb bashkuar dhe t\u00eb dedupuar t\u00eb dy flukseve do t\u00eb ishte shum\u00eb m\u00eb i p\u00ebrshtatsh\u00ebm.<\/p>\n<p>Sigurisht, ka nj\u00eb nevoj\u00eb p\u00ebr servera Prometheus me disponueshm\u00ebri t\u00eb lart\u00eb. N\u00eb Improbable ne e marrim shum\u00eb seriozisht monitorimin e t\u00eb dh\u00ebnave \u00e7do minut\u00eb, por mbajtja e nj\u00eb instance Prometheus n\u00eb klaster \u00ebsht\u00eb nj\u00eb pik\u00eb e vetme d\u00ebshtimi. \u00c7do gabim konfigurimi ose d\u00ebshtim hardueri mund t\u00eb \u00e7oj\u00eb potencialisht n\u00eb humbje t\u00eb t\u00eb dh\u00ebnave t\u00eb r\u00ebnd\u00ebsishme. Edhe nj\u00eb shp\u00ebrndarje e thjesht\u00eb mund t\u00eb \u00e7oj\u00eb n\u00eb ndonj\u00eb nd\u00ebrprerje t\u00eb vog\u00ebl n\u00eb mbledhjen e metrikave, pasi riaktivizimi mund t\u00eb zgjas\u00eb shum\u00eb m\u00eb tep\u00ebr se intervali i skanimit.<\/p>\n<h4>Ruajtja e besueshme e t\u00eb dh\u00ebnave historike<\/h4>\n<p>\nRuajtja e liris\u00eb dhe e shpejt\u00eb e metrikave p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb \u00ebsht\u00eb \u00ebndrra jon\u00eb (nj\u00ebsoj si shumic\u00ebs s\u00eb p\u00ebrdoruesve t\u00eb Prometheus). N\u00eb Improbable, ishim t\u00eb detyruar t\u00eb caktom\u00eb nj\u00eb koh\u00eb ruajtjeje p\u00ebr metrikat prej n\u00ebnt\u00eb dit\u00ebsh (p\u00ebr Prometheus 1.8). Kjo vendos kufizime t\u00eb dukshme p\u00ebr sa larg mund t\u00eb shohim mbrapa.<\/p>\n<p>Prometheus 2.0 ka p\u00ebrmir\u00ebsuar k\u00ebt\u00eb aspekt, pasi numri i serive t\u00eb koh\u00ebs nuk ndikon m\u00eb n\u00eb performanc\u00ebn e p\u00ebrgjithshme t\u00eb serverit (shih <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=nDalewt4BOw\">K\u00ebtu e m\u00ebsim me KubeCon p\u00ebr Prometheus 2<\/a><\/noindex>). Megjithat\u00eb, Prometheus ruan t\u00eb dh\u00ebnat n\u00eb disqet vendase. Edhe pse kompresimi efikas i t\u00eb dh\u00ebnave mund t\u00eb reduktoj\u00eb ndjesh\u00ebm p\u00ebrdorimin e SSD-ve vendase, n\u00eb fund t\u00eb fundit, ka ende nj\u00eb kufizim mbi sasin\u00eb e t\u00eb dh\u00ebnave historike q\u00eb mund t\u00eb ruhen.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, n\u00eb Improbable ne interesohemi p\u00ebr besueshm\u00ebrin\u00eb, thjesht\u00ebsin\u00eb dhe kostot. Disqet vendase t\u00eb m\u00ebdha jan\u00eb m\u00eb t\u00eb v\u00ebshtira p\u00ebr t'u menaxhuar dhe p\u00ebr tu siguruar. Ato jan\u00eb m\u00eb t\u00eb shtrenjta dhe k\u00ebrkojn\u00eb m\u00eb shum\u00eb mjete p\u00ebr sigurimin, duke sjell\u00eb k\u00ebshtu kompleksitet t\u00eb panevojsh\u00ebm.<\/p>\n<h4>E reduktuar<\/h4>\n<p>\nSapo filluam t\u00eb punojm\u00eb me t\u00eb dh\u00ebna historike, kuptuam se ekzistojn\u00eb v\u00ebshtir\u00ebsi themelore me O-madh, t\u00eb cilat ngadal\u00ebsojn\u00eb k\u00ebrkesat nd\u00ebrsa punojm\u00eb me t\u00eb dh\u00ebna p\u00ebr jav\u00eb, muaj dhe vite.<\/p>\n<p>Zgjidhja standarde p\u00ebr k\u00ebt\u00eb problem do t\u00eb ishte <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Decimation_(signal_processing)\">e reduktuar<\/a><\/noindex> (downsampling) - reduktimi i frekuenc\u00ebs s\u00eb mostrave t\u00eb sinjalit. Duke b\u00ebr\u00eb k\u00ebt\u00eb, ne mund t\u00eb \u201cp\u00ebrfshijm\u00eb\u201d n\u00eb nj\u00eb interval m\u00eb t\u00eb gjer\u00eb kohor dhe t\u00eb ruajm\u00eb numrin e m\u00ebparsh\u00ebm t\u00eb mostrave, gj\u00eb q\u00eb ndihmon p\u00ebr t\u00eb mbajtur reagimin e k\u00ebrkesave.<\/p>\n<p>E reduktuar t\u00eb dh\u00ebnat e vjetra \u00ebsht\u00eb nj\u00eb k\u00ebrkes\u00eb e paevitueshme p\u00ebr \u00e7do zgjidhje p\u00ebr ruajtjen afatgjat\u00eb dhe shkon p\u00ebrtej Prometheus-it standard.<\/p>\n<h4>Q\u00ebllime t\u00eb tjera<\/h4>\n<p>\nNj\u00eb nga objektivat e hersh\u00ebm t\u00eb projektit Thanos ishte integrimi i pand\u00ebrprer\u00eb me \u00e7do instalacion ekzistues t\u00eb Prometheus. Q\u00ebllimi i dyt\u00eb ishte operimi i thjesht\u00eb me nj\u00eb barrier\u00eb minimale hyrjeje. \u00c7do var\u00ebsi duhet t\u00eb jet\u00eb e leht\u00eb p\u00ebr t'u p\u00ebrmbushur si p\u00ebr p\u00ebrdorues t\u00eb vegj\u00ebl ashtu edhe p\u00ebr ata t\u00eb m\u00ebdhenj, duke n\u00ebnkuptuar gjithashtu nj\u00eb kosto baz\u00eb t\u00eb vog\u00ebl.<\/p>\n<h2>Arkitektura Thanos<\/h2>\n<p>\nPasi u p\u00ebrmend\u00ebn q\u00ebllimet tona n\u00eb seksionin e m\u00ebparsh\u00ebm, le t\u00eb punojm\u00eb p\u00ebr to dhe t\u00eb shohim se si Thanos i trajton k\u00ebto \u00e7\u00ebshtje.<\/p>\n<h4>Pamja globale<\/h4>\n<p>\nP\u00ebr t\u00eb marr\u00eb pamjen globale mbi instancat ekzistuese t\u00eb Prometheus, na nevojitet nj\u00eb pik\u00eb e vetme hyrjeje p\u00ebr k\u00ebrkesa q\u00eb lidhet me t\u00eb gjith\u00eb server\u00ebt. Ky \u00ebsht\u00eb roli i komponentit Thanos <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/blog\/2015\/06\/the-distributed-system-toolkit-patterns#example-1-sidecar-containers\">Sidecar<\/a><\/noindex>. Ai \u00ebsht\u00eb i vendosur pran\u00eb \u00e7do serveri Prometheus dhe funksionon si nj\u00eb proxy, duke sh\u00ebrbyer t\u00eb dh\u00ebnat lokale t\u00eb Prometheus n\u00ebp\u00ebrmjet nj\u00eb nd\u00ebrfaqeje gRPC t\u00eb Store API, q\u00eb lejon p\u00ebrzgjedhjen e t\u00eb dh\u00ebnave t\u00eb serive t\u00eb koh\u00ebs sipas etiketimeve dhe intervaleve t\u00eb koh\u00ebs.<\/p>\n<p>Nga ana tjet\u00ebr, ndodhet komponenti Querier, q\u00eb \u00ebsht\u00eb horizontalisht i shkall\u00ebzuesh\u00ebm dhe pa ruajtje, i cili b\u00ebn pak m\u00eb shum\u00eb se thjesht p\u00ebrgjigjet k\u00ebrkesave PromQL p\u00ebrmes API-t standard t\u00eb HTTP t\u00eb Prometheus. Komponent\u00ebt Querier, Sidecar, dhe Thanos t\u00eb tjer\u00eb nd\u00ebrveprojn\u00eb p\u00ebrmes <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gossip_protocol\">protokollit gossip<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/fbcf1e756f5da4e8529f17abd4cedd00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>Querier, n\u00eb marrjen e nj\u00eb k\u00ebrkese, lidhet me serverin e duhur t\u00eb Store API, d.m.th., me Sidecar-t tan\u00eb dhe merr t\u00eb dh\u00ebnat e serive t\u00eb koh\u00ebs nga server\u00ebt p\u00ebrkat\u00ebs t\u00eb Prometheus.<\/li>\n<li>Pas k\u00ebsaj, ai bashkon p\u00ebrgjigjet dhe ekzekuton krahasimet me PromQL. Querier mund t\u00eb bashkoj\u00eb t\u00eb dh\u00ebna q\u00eb nuk p\u00ebrputhen dhe gjithashtu t\u00eb dh\u00ebna t\u00eb dyfishuara nga server\u00ebt e HA t\u00eb Prometheus.<\/li>\n<\/ol>\n<p>\nKjo zgjidh n\u00eb m\u00ebnyr\u00eb t\u00eb konsiderueshme nj\u00eb pjes\u00eb t\u00eb thelb\u00ebsore t\u00eb misterit ton\u00eb \u2014 bashkimin e t\u00eb dh\u00ebnave nga server\u00eb t\u00eb izoluara t\u00eb Prometheus n\u00eb nj\u00eb pamje t\u00eb vetme. N\u00eb fakt, Thanos mund t\u00eb p\u00ebrdoret vet\u00ebm p\u00ebr k\u00ebt\u00eb mund\u00ebsi. Nuk k\u00ebrkohet asnj\u00eb ndryshim n\u00eb server\u00ebt ekzistues t\u00eb Prometheus!<\/p>\n<h4>Ruajtje e pakufizuar!<\/h4>\n<p>\nMegjithat\u00eb, her\u00ebt a von\u00eb do t\u00eb duam t\u00eb ruajm\u00eb t\u00eb dh\u00ebnat q\u00eb shkojn\u00eb p\u00ebrtej koh\u00ebs s\u00eb zakonshme t\u00eb ruajtjes s\u00eb Prometheus. P\u00ebr ruajtjen e t\u00eb dh\u00ebnave historike, ne zgjodh\u00ebm ruajtjen e objekteve. Ajo \u00ebsht\u00eb e disponueshme gjer\u00ebsisht n\u00eb \u00e7do cloud, si dhe n\u00eb Qendrat e t\u00eb Dh\u00ebnave lokale dhe \u00ebsht\u00eb shum\u00eb ekonomike. P\u00ebr m\u00eb tep\u00ebr, pothuajse \u00e7do ruajtje objektesh \u00ebsht\u00eb e disponueshme p\u00ebrmes API-t t\u00eb njohur S3.<\/p>\n<p>Prometheus shkruan t\u00eb dh\u00ebnat nga memoria n\u00eb disk \u00e7do dy or\u00eb. Blloku i t\u00eb dh\u00ebnave t\u00eb ruajtura p\u00ebrmban t\u00eb gjitha t\u00eb dh\u00ebnat p\u00ebr nj\u00eb interval t\u00eb caktuar kohor dhe \u00ebsht\u00eb i pandryshuesh\u00ebm. Kjo \u00ebsht\u00eb shum\u00eb e p\u00ebrshtatshme, sepse Thanos Sidecar mund t\u00eb shoh\u00eb thjesht katalogun e t\u00eb dh\u00ebnave t\u00eb Prometheus dhe, nd\u00ebrsa shfaqen blloqe t\u00eb reja, i ngarkon ato n\u00eb koshat e ruajtjes s\u00eb objekteve.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/2be803d8d7e0ce9a5ffa441b7778a40b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNgarkimi n\u00eb ruajtjen e objekteve menj\u00ebher\u00eb pas shkruhet n\u00eb disk gjithashtu ndihmon p\u00ebr t\u00eb ruajtur thjesht\u00ebsin\u00eb e 'skraperit' (Prometheus dhe Thanos Sidecar). Kjo e thjeshton mb\u00ebshtetje, kostot dhe dizajnin e sistemit.<\/p>\n<p>Si\u00e7 e shihni, mb\u00ebshtetje p\u00ebr t\u00eb dh\u00ebnat implementohet shum\u00eb leht\u00eb. Por \u00e7far\u00eb ndodh me k\u00ebrkesat p\u00ebr t\u00eb dh\u00ebna n\u00eb ruajtjen e objekteve?<\/p>\n<p>Komponenti Thanos Store vepron si proxy p\u00ebr marrjen e t\u00eb dh\u00ebnave nga depoja objektesh. Ashtu si Thanos Sidecar, ai \u00ebsht\u00eb pjes\u00eb e nj\u00eb klasteri gossip dhe zbatojn\u00eb API-n\u00eb e Store. K\u00ebshtu, k\u00ebrkuesit ekzistues mund ta shohin at\u00eb si nj\u00eb Sidecar, si nj\u00eb burim tjet\u00ebr t\u00eb dh\u00ebnash t\u00eb serive me koh\u00eb \u2014 nuk k\u00ebrkohet ndonj\u00eb konfigurim t\u00eb ve\u00e7ant\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5a437ae1bf8a6f79b8d24aeb9dde2d17.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBlloqet e t\u00eb dh\u00ebnave me koh\u00eb p\u00ebrb\u00ebhen nga disa skedar\u00eb t\u00eb m\u00ebdhenj. Shkarkimi i tyre sipas k\u00ebrkes\u00ebs do t\u00eb ishte mjaft i pamjaftuesh\u00ebm, nd\u00ebrsa ruajtja lokale do t\u00eb k\u00ebrkonte nj\u00eb hap\u00ebsir\u00eb t\u00eb madhe memorjeje dhe disku.<\/p>\n<p>N\u00eb vend t\u00eb k\u00ebsaj, Store Gateway di si t\u00eb trajtoj\u00eb formatin e ruajtjes s\u00eb Prometheus. Me nj\u00eb planifikues t\u00eb men\u00e7ur t\u00eb k\u00ebrkesave dhe ruajtjen n\u00eb cache t\u00eb vet\u00ebm pjes\u00ebve t\u00eb nevojshme t\u00eb indekseve t\u00eb blloqeve, \u00ebsht\u00eb b\u00ebr\u00eb e mundur t\u00eb reduktohen k\u00ebrkesat komplekse n\u00eb numrin minimal t\u00eb k\u00ebrkesave HTTP ndaj skedar\u00ebve t\u00eb depoja objektesh. K\u00ebshtu, numri i k\u00ebrkesave mund t\u00eb reduktohet me kat\u00ebr deri n\u00eb gjasht\u00eb rend dhe t\u00eb arrihet nj\u00eb koh\u00eb p\u00ebrgjigje, e cila p\u00ebrgjith\u00ebsisht \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb ndryshohet nga k\u00ebrkesat p\u00ebr t\u00eb dh\u00ebna n\u00eb SSD lokale.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ebcbe1ee16dbac18daa474e7cb4b12b2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi\u00e7 tregohet n\u00eb diagramin e m\u00ebsip\u00ebrm, Thanos Querier ul ndjesh\u00ebm kostot p\u00ebr nj\u00eb k\u00ebrkes\u00eb ndaj t\u00eb dh\u00ebnave n\u00eb depo objekt, duke p\u00ebrdorur formatin e ruajtjes s\u00eb Prometheus dhe duke vendosur t\u00eb dh\u00ebnat p\u00ebrkat\u00ebse pran\u00eb nj\u00ebri-tjetrit. Duke p\u00ebrdorur k\u00ebt\u00eb qasje, ne mund t\u00eb kombinojm\u00eb shum\u00eb k\u00ebrkesa individuale n\u00eb nj\u00eb num\u00ebr minimal t\u00eb operacioneve masive.<\/p>\n<h4>Kompaktimi dhe N\u00ebnkampimi<\/h4>\n<p>\nPasi blloku i ri i t\u00eb dh\u00ebnave me koh\u00eb t\u00eb jet\u00eb ngarkuar me sukses n\u00eb depo objekt, ne e konsiderojm\u00eb at\u00eb si t\u00eb dh\u00ebna \u201chistorike\u201d, t\u00eb cilat menj\u00ebher\u00eb b\u00ebhen t\u00eb disponueshme p\u00ebrmes Store Gateway.<\/p>\n<p>Megjithat\u00eb, pas nj\u00eb periudhe kohe, blloqet nga nj\u00eb burim (Prometheus me Sidecar) grumbullohen dhe nuk shfryt\u00ebzojn\u00eb m\u00eb potencialin e plot\u00eb t\u00eb indeksimit. P\u00ebr t\u00eb zgjidhur k\u00ebt\u00eb problem, ne kemi prezantuar nj\u00eb komponent tjet\u00ebr t\u00eb quajtur Compactor. Ai thjesht aplikon mekanizmin lokal t\u00eb kompresimit t\u00eb Prometheus mbi t\u00eb dh\u00ebnat historike n\u00eb depo objekt dhe mund t\u00eb ec\u00eb si nj\u00eb detyr\u00eb e thjesht\u00eb periodike.<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/c7dd83dab074a4c5f93069a4bc152342.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFal\u00eb kompresimit efikas, nj\u00eb k\u00ebrkes\u00eb n\u00eb depo p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb kohore nuk paraqet probleme nga pik\u00ebpamja e madh\u00ebsis\u00eb s\u00eb t\u00eb dh\u00ebnave. Megjithat\u00eb, kostoja potenciale e dekompresimit t\u00eb nj\u00eb miliardi vlerave dhe kalimi i tyre n\u00ebp\u00ebr procesorin e k\u00ebrkesave do t\u00eb \u00e7oj\u00eb menj\u00ebher\u00eb n\u00eb nj\u00eb rritje t\u00eb mpreht\u00eb t\u00eb koh\u00ebs s\u00eb ekzekutimit t\u00eb k\u00ebrkes\u00ebs. Nga ana tjet\u00ebr, pasi p\u00ebr \u00e7do pixel t\u00eb ekranit ka qindra pik\u00eb t\u00eb dh\u00ebnash, b\u00ebhet e pamundur t\u00eb vizualizosh t\u00eb dh\u00ebnat n\u00eb rezolucion t\u00eb plot\u00eb. K\u00ebshtu, n\u00ebnkampimi jo vet\u00ebm q\u00eb \u00ebsht\u00eb i mundsh\u00ebm, por gjithashtu nuk do t\u00eb \u00e7oj\u00eb n\u00eb nj\u00eb humbje t\u00eb dukshme sakt\u00ebsie. <\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/5f36a05aba3fbffa905b6a8da482ab3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb n\u00ebnkampuar t\u00eb dh\u00ebnat, Compactor vazhdimisht agregon t\u00eb dh\u00ebnat me nj\u00eb rezolucion prej pes\u00eb minutash dhe nj\u00eb ore. P\u00ebr \u00e7do fragment t\u00eb pap\u00ebrpunuar, i koduar me kompresim TSDB XOR, ruhen lloje t\u00eb ndryshme t\u00eb t\u00eb dh\u00ebnave t\u00eb agreguara, si min, max ose sum p\u00ebr nj\u00eb bllok. Kjo lejon q\u00eb Querier t\u00eb zgjedh\u00eb automatikisht agregatin q\u00eb i p\u00ebrshtatet nj\u00eb k\u00ebrkese t\u00eb caktuar PromQL. <\/p>\n<p>P\u00ebr t\u00eb p\u00ebrdorur t\u00eb dh\u00ebnat me sakt\u00ebsi t\u00eb ul\u00ebt, p\u00ebrdoruesi nuk ka nevoj\u00eb p\u00ebr ndonj\u00eb konfigurim t\u00eb ve\u00e7ant\u00eb. Querier kalon automatikisht midis rezolucioneve t\u00eb ndryshme dhe t\u00eb dh\u00ebnave t\u00eb pap\u00ebrpunuara nd\u00ebrsa p\u00ebrdoruesi zgjeron dhe ngushton shkall\u00ebn. N\u00ebn d\u00ebshir\u00ebn e tij, p\u00ebrdoruesi mund ta menaxhoj\u00eb k\u00ebt\u00eb direkt p\u00ebrmes parametrave \u201chapi\u201d n\u00eb k\u00ebrkes\u00eb. <\/p>\n<p>Duke qen\u00eb se kostoja e ruajtjes s\u00eb nj\u00eb GB \u00ebsht\u00eb e vog\u00ebl, p\u00ebr nga default Thanos ruan t\u00eb dh\u00ebnat origjinale, t\u00eb dh\u00ebnat me rezolucion prej pes\u00eb minutash dhe nj\u00eb ore. Nuk ka nevoj\u00eb t\u00eb hiqni t\u00eb dh\u00ebnat origjinale.<\/p>\n<h2>Rregullat e regjistrimit<\/h2>\n<p>\nEdhe me Thanos, rregullat e regjistrimit jan\u00eb nj\u00eb pjes\u00eb e r\u00ebnd\u00ebsishme e stakut t\u00eb mbik\u00ebqyrjes. Ato reduktojn\u00eb kompleksitetin, vones\u00ebn dhe kostot e k\u00ebrkesave. Ato jan\u00eb gjithashtu t\u00eb p\u00ebrshtatshme p\u00ebr p\u00ebrdoruesit p\u00ebr t\u00eb marr\u00eb t\u00eb dh\u00ebna t\u00eb agreguara n\u00eb metrikat. Thanos bazohet n\u00eb instancat vanilla t\u00eb Prometheus, prandaj \u00ebsht\u00eb e pranueshme t\u00eb ruani rregullat e regjistrimit dhe rregullat e alarmit n\u00eb serverin ekzistues t\u00eb Prometheus. Sidoqoft\u00eb, n\u00eb disa raste, kjo mund t\u00eb jet\u00eb e pamjaftueshme:<\/p>\n<ul>\n<li>Alarmi global dhe rregulli (p.sh., njoftimi kur sh\u00ebrbimi nuk funksionon n\u00eb m\u00eb shum\u00eb se dy nga tre klaster\u00ebt).<\/li>\n<li>Rregulli p\u00ebr t\u00eb dh\u00ebnat jasht\u00eb depo objekt.<\/li>\n<li>D\u00ebshira p\u00ebr t\u00eb ruajtur t\u00eb gjitha rregullat dhe alarmet n\u00eb nj\u00eb vend.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/ab48e044b952bd891932b99e248120fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb gjitha k\u00ebto raste, Thanos p\u00ebrfshin nj\u00eb komponent t\u00eb ve\u00e7ant\u00eb t\u00eb quajtur Ruler, i cili llogarit rregullat dhe alarmet p\u00ebrmes Thanos Queries. Duke ofruar nj\u00eb StoreAPI t\u00eb njohur, nyja Query mund t\u00eb hyj\u00eb n\u00eb metrika t\u00eb reja t\u00eb p\u00ebrllogaritura. M\u00eb von\u00eb ato ruhet gjithashtu n\u00eb depo objekt dhe b\u00ebhen t\u00eb disponueshme p\u00ebrmes Store Gateway.<\/p>\n<h2>Fuqia e Thanos<\/h2>\n<p>\nThanos \u00ebsht\u00eb mjaft fleksib\u00ebl p\u00ebr t'u konfiguruar sipas k\u00ebrkesave tuaja. Kjo \u00ebsht\u00eb ve\u00e7an\u00ebrisht e dobishme gjat\u00eb migrimit nga Prometheus i thjesht\u00eb. Le t\u00eb rikujtojm\u00eb shpejt, me nj\u00eb shembull t\u00eb vog\u00ebl, \u00e7far\u00eb kemi m\u00ebsuar p\u00ebr komponent\u00ebt e Thanos. Ja si ta transferoni Prometheus-in tuaj n\u00eb bot\u00ebn e \"ruajtjes s\u00eb pakufizuar t\u00eb metrikave\":<\/p>\n<p><img decoding=\"async\" alt=\"Thanos \u2014 detyruesh\u00ebm Prometheus\" src=\"\/wp-content\/uploads\/2020\/05\/f6ee4185af57d2a1869890014e6a0062.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ol>\n<li>Shtoni Thanos Sidecar n\u00eb serverat tuaj Prometheus \u2014 p\u00ebr shembull, nj\u00eb kontejner fqinj n\u00eb pod-in Kubernetes.<\/li>\n<li>Shkall\u00ebzoni disa replika Thanos Querier p\u00ebr mund\u00ebsin\u00eb e shikimit t\u00eb t\u00eb dh\u00ebnave. N\u00eb k\u00ebt\u00eb faz\u00eb, \u00ebsht\u00eb e leht\u00eb t\u00eb konfiguroni gossip mes Scraper dhe Querier. P\u00ebr t\u00eb verifikuar nd\u00ebrveprimin e komponent\u00ebve, p\u00ebrdorni metrik\u00ebn 'thanos_cluster_members'.<\/li>\n<\/ol>\n<p>\nAto dy hapa mjaftojn\u00eb p\u00ebr t\u00eb siguruar nj\u00eb pamje globale dhe deduplication pa probleme t\u00eb t\u00eb dh\u00ebnave nga replikat e mundshme HA t\u00eb Prometheus! Thjesht lidheni dashboard-et tuaja me pik\u00ebn finale HTTP t\u00eb Querier-it ose p\u00ebrdorni nd\u00ebrfaqen Thanos UI direkt.<\/p>\n<p>Megjithat\u00eb, n\u00ebse ju nevojitet mb\u00ebshtetje p\u00ebr metrikat dhe ruajtje afatgjat\u00eb, do t'ju nevojitet t\u00eb kryeni edhe tri hapa t\u00eb tjer\u00eb:<\/p>\n<ol>\n<li>Krijoni nj\u00eb bucket AWS S3 ose GCS. Konfiguroni Sidecar p\u00ebr t\u00eb kopjuar t\u00eb dh\u00ebnat n\u00eb k\u00ebto bucketa. Tani mund t\u00eb minimizoni ruajtjen lokale t\u00eb t\u00eb dh\u00ebnave.<\/li>\n<li>Shp\u00ebrndani Store Gateway dhe lidheni at\u00eb me klasterin e gossip-it ekzistues. Tani mund t\u00eb d\u00ebrgoni k\u00ebrkesa p\u00ebr t\u00eb dh\u00ebnat n\u00eb backup!<\/li>\n<li>Shp\u00ebrndani Compactor-in p\u00ebr t\u00eb rritur efikasitetin e k\u00ebrkesave p\u00ebr periudha t\u00eb gjata kohore, duke p\u00ebrdorur kompresimin dhe downsampling.<\/li>\n<\/ol>\n<p>\nN\u00ebse d\u00ebshironi t\u00eb dini m\u00eb shum\u00eb, mos ngurroni t\u00eb shihni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/tree\/master\/kube\">shembujt e manifestit kubernetes<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\/blob\/master\/docs\/getting-started.md\">duke filluar<\/a><\/noindex>!<\/p>\n<p>B\u00ebni t\u00eb mundur transformimin e Prometheus n\u00eb nj\u00eb sistem t\u00eb besuesh\u00ebm monitorimi me pamje globale, kudo q\u00eb \u00ebsht\u00eb, ruajtje t\u00eb pakufizuar dhe potencial t\u00eb lart\u00eb p\u00ebr akses t\u00eb metrikave.<\/p>\n<h3>Pull request: na nevojiten!<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/improbable-eng\/thanos\">Thanos<\/a><\/noindex> Nga fillimi, ka qen\u00eb nj\u00eb projekt me burim t\u00eb hapur. Integrimi i pa probleme me Prometheus dhe mund\u00ebsia p\u00ebr t\u00eb p\u00ebrdorur vet\u00ebm nj\u00eb pjes\u00eb t\u00eb Thanos e b\u00ebn at\u00eb nj\u00eb zgjedhje t\u00eb shk\u00eblqyer p\u00ebr t\u00eb skaluar sistemin e monitorimit pa t\u00eb meta.<\/p>\n<p>G\u00ebzohemi gjithmon\u00eb p\u00ebr GitHub Pull Request dhe Issues. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, mos ngurroni t\u00eb na kontaktoni p\u00ebrmes Github Issues ose slack<noindex><a rel=\"nofollow\" href=\"https:\/\/join.slack.com\/t\/improbable-eng\/shared_invite\/enQtMzQ1ODcyMzQ5MjM4LWY5ZWZmNGM2ODc5MmViNmQ3ZTA3ZTY3NzQwOTBlMTkzZmIxZTIxODk0OWU3YjZhNWVlNDU3MDlkZGViZjhkMjc\"> Improbable-eng #thanos<\/a><\/noindex>, n\u00ebse keni pyetje ose komente, ose d\u00ebshiron t\u00eb ndash p\u00ebrvoj\u00ebn t\u00ebnde t\u00eb p\u00ebrdorimit! N\u00ebse ju p\u00eblqen ajo q\u00eb b\u00ebjm\u00eb n\u00eb Improbable, mos hezitoni t\u00eb na kontaktoni \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/improbable.io\/careers\/\">ne kemi gjithmon\u00eb pozita t\u00eb lira<\/a><\/noindex>!<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jYQP\/\">M\u00ebso m\u00eb shum\u00eb rreth kursit.<br \/>\n<\/a><\/noindex><\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/502122\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb. \u0424\u0430\u0431\u0438\u0430\u043d \u0420\u0435\u0439\u043d\u0430\u0440\u0446 (Fabian Reinartz) \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0444\u0430\u043d\u0430\u0442 Go \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 Prometheus \u0438 \u0441\u043e\u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u044c Kubernetes SIG instrumentation. \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043e\u043d \u0431\u044b\u043b production-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0432 SoundCloud \u0438 \u0432\u043e\u0437\u0433\u043b\u0430\u0432\u043b\u044f\u043b \u0433\u0440\u0443\u043f\u043f\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0432 CoreOS. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Google. \u0411\u0430\u0440\u0442\u0435\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-17T11:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-17T11:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Thanos \u2014 Prometheus i shkall\u00ebzuesh\u00ebm | ProHoster","description":"P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur posa\u00e7\u00ebrisht p\u00ebr student\u00ebt e kursit \"Praktikat dhe mjetet DevOps\".","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Thanos \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0439 Prometheus | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/thanos-masshtabiruemyj-prometheus","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-17T11:42:23+00:00","article:modified_time":"2020-05-17T11:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81888","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:48:24","updated":"2022-09-30 01:06:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=81888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/81888\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/81889"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=81888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=81888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=81888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}