{"id":52115,"date":"2019-11-01T00:00:00","date_gmt":"2019-10-31T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury"},"modified":"2020-02-18T13:59:47","modified_gmt":"2020-02-18T10:59:47","slug":"monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","title":{"rendered":"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sot dita, n\u00eb projektin ton\u00eb, p\u00ebrve\u00e7 kodit monolitik, funksionojn\u00eb dhjet\u00ebra mikrosherbime. \u00c7do nj\u00ebri prej tyre k\u00ebrkon v\u00ebmendje p\u00ebr monitorim. T\u00eb b\u00ebsh k\u00ebt\u00eb me forcat e inxhinier\u00ebve DevOps \u00ebsht\u00eb problematike n\u00eb k\u00ebt\u00eb shkall\u00eb. Ne zhvilluam nj\u00eb sistem monitorimi, i cili funcion si sh\u00ebrbim p\u00ebr zhvilluesit. Ata mund t\u00eb shkruajn\u00eb metrikat n\u00eb sistemin e monitorimit, t'i p\u00ebrdorin ato, t\u00eb nd\u00ebrtojn\u00eb tablo mbi baz\u00ebn e tyre dhe t'i lidhin me alarmin e cila aktivizohet kur arrihen vlerat kufizuese. Me inxhinier\u00ebt DevOps \u2014 vet\u00ebm infrastruktura dhe dokumentacioni. <\/p>\n<p>Ky post \u00ebsht\u00eb nj\u00eb transkript i fjalimit tim n\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/tomicro\">seksionin<\/a><\/noindex> n\u00eb RIT++. Shum\u00eb k\u00ebrkuan q\u00eb t\u00eb b\u00ebjm\u00eb versione tekstuale t\u00eb referat\u00ebve t\u00eb atjesh\u00ebm. N\u00ebse ishit n\u00eb konferenc\u00eb ose e shikoni videon, nuk do t\u00eb gjeni asgj\u00eb t\u00eb re. T\u00eb gjith\u00eb t\u00eb tjer\u00ebt \u2014 mir\u00eb se vini posht\u00eb. Do t\u00eb flas p\u00ebr m\u00ebnyr\u00ebn se si arrit\u00ebm n\u00eb k\u00ebt\u00eb sistem, si funksionon dhe si planifikojm\u00eb ta azhurnojm\u00eb at\u00eb. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/000b8fdc8fb16aa76ce545ff2aa4e767.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>E kaluara: skemat dhe planet <\/h3>\n<p>\nSi arrit\u00ebm n\u00eb sistemin ekzistues t\u00eb monitorimit? P\u00ebr t\u00eb p\u00ebrgjigjur n\u00eb k\u00ebt\u00eb pyetje, duhet t\u00eb kthehemi n\u00eb vitin 2015. K\u00ebtu \u00ebsht\u00eb si dukej at\u00ebher\u00eb: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/d955f9bcdb5f5a5a54720c77113ca85d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNuk kishim rreth 24 nod\u00eb q\u00eb merreshin me monitorimin. K\u00ebtu kishte nj\u00eb grup t\u00eb t\u00ebr\u00eb me cron-e t\u00eb ndryshme, skripta, demon\u00eb, q\u00eb monitoronin di\u00e7ka diku n\u00eb ndonj\u00eb m\u00ebnyr\u00eb, d\u00ebrgonin mesazhe, kryenin funksione. Menduam se sa m\u00eb shum\u00eb t\u00eb shkonim p\u00ebrpara, aq m\u00eb pak kjo sistem do t\u00eb ishte e q\u00ebndrueshme. Nuk kishte kuptim ta zhvillonim m\u00eb tej: ishte shum\u00eb e r\u00ebnd\u00eb. <br \/>\nVendos\u00ebm t\u00eb zgjedhim element\u00ebt e monitorimit q\u00eb do t'i mbajm\u00eb dhe do t'i zhvillojm\u00eb, dhe ata nga t\u00eb cil\u00ebt do t\u00eb hiqnim dor\u00eb. Ajo rezultoi t\u00eb ishin 19. Mbeten vet\u00ebm grafitet, agregator\u00ebt dhe Grafana si tabllo. Por si do t\u00eb dukej sistemi i ri? K\u00ebshtu: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/57d220113d0b76c05874b5d774bff8af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKemi nj\u00eb depo t\u00eb metrikave: k\u00ebto jan\u00eb grafite q\u00eb do t\u00eb bazohen n\u00eb SSD t\u00eb shpejt\u00eb, jan\u00eb disa agregator\u00eb p\u00ebr metrika. Pastaj \u2014 Grafana p\u00ebr daljen e tablave dhe Moira si alarm. Gjithashtu, do t\u00eb d\u00ebshironim t\u00eb zhvillonim nj\u00eb sistem p\u00ebr k\u00ebrkimin e anomalive. <\/p>\n<h3>Standarti: Monitorimi 2.0<\/h3>\n<p>\nK\u00ebshtu dukeshin planet n\u00eb 2015. Por na duhej t\u00eb p\u00ebrgatisnim jo vet\u00ebm infrastruktur\u00ebn dhe sh\u00ebrbimin vet\u00eb, por edhe dokumentacionin p\u00ebr t\u00eb. Ne zhvilluam nj\u00eb standard korporativ, t\u00eb cilin e quajt\u00ebm monitorimi 2.0. \u00c7far\u00eb k\u00ebrkesash kishim p\u00ebr sistemin? <\/p>\n<ul>\n<li>disponueshm\u00ebri t\u00eb vazhdueshme; <\/li>\n<li>intervali i ruajtjes s\u00eb metrikave = 10 sekonda; <\/li>\n<li>ruajtje e strukturuar e metrikave dhe tablave; <\/li>\n<li>SLA &gt; 99,99% <\/li>\n<li>mblidhni metrika eventesh p\u00ebrmes UDP (!). <\/li>\n<\/ul>\n<p>\nNa duhej UDP, pasi kishim nj\u00eb fluks t\u00eb madh trafiku dhe ngjarjesh q\u00eb gjeneronin metrika. N\u00ebse do t'i shkruanim t\u00eb gjitha n\u00eb grafit menj\u00ebher\u00eb, depoja do t\u00eb d\u00ebshtonte. Po ashtu, zgjodh\u00ebm prefikset e par\u00eb p\u00ebr t\u00eb gjitha metrikat. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/d24c4474b19b532a48cef4d4376287ad.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c7do prefiks ka nj\u00eb pron\u00ebsi t\u00eb caktuar. Ka metrika p\u00ebr servera, rrjeta, kontejner\u00eb, burime, aplikacione dhe k\u00ebshtu me radh\u00eb. U realizua nj\u00eb filtrimi i qart\u00eb, rigoroz dhe i tipizuar, ku pranojm\u00eb metrikat e nivelit t\u00eb par\u00eb, nd\u00ebrsa t\u00eb tjerat i ndajm\u00eb thjesht. K\u00ebshtu planifikuam t\u00eb k\u00ebt\u00eb sistem n\u00eb 2015. Si duket tani? <\/p>\n<h3>E tashmja: skema e bashk\u00ebpunimit t\u00eb komponent\u00ebve t\u00eb monitorimit<\/h3>\n<p>\nN\u00eb radh\u00eb t\u00eb par\u00eb monitorojm\u00eb aplikacionet: kodin ton\u00eb PHP, aplikacionet dhe mikrosherbimet \u2014 me fjal\u00eb t\u00eb tjera, gjith\u00e7ka q\u00eb shkruajn\u00eb zhvilluesit tan\u00eb. T\u00eb gjitha aplikacionet d\u00ebrgojn\u00eb metrikat n\u00eb agregatorin Brubeck (statsd, e rishkruar n\u00eb C) p\u00ebrmes UDP. Ai doli t\u00eb ishte m\u00eb i shpejt\u00eb sipas testeve sintetike. Dhe ai d\u00ebrgon metrikat e agreguara n\u00eb Graphite p\u00ebrmes TCP. <\/p>\n<p>Ai ka nj\u00eb lloj metrikash si timer\u00ebt. Kjo \u00ebsht\u00eb nj\u00eb gj\u00eb shum\u00eb e dobishme. P\u00ebr shembull, p\u00ebr \u00e7do lidhje t\u00eb p\u00ebrdoruesit me sh\u00ebrbimin d\u00ebrgoni n\u00eb Brubeck nj\u00eb metrik\u00eb me koh\u00ebn e p\u00ebrgjigjes. Ka ardhur nj\u00eb milion p\u00ebrgjigje, dhe agregatori ka nxjerr\u00eb vet\u00ebm 10 metrika. Keni numrin e p\u00ebrdoruesve, maksimumin, minimun dhe mesataren e koh\u00ebs s\u00eb p\u00ebrgjigjes, median dhe 4 percentilat. M\u00eb pas t\u00eb dh\u00ebnat kalojn\u00eb n\u00eb Graphite dhe i shohim ato n\u00eb koh\u00eb reale. <\/p>\n<p>Po gjithashtu kemi agregim p\u00ebr metrikat e hardware, softuerit, metrikat sistemike dhe sistemin ton\u00eb t\u00eb vjet\u00ebr t\u00eb monitorimit Munin (i cili ka funksionuar p\u00ebr ne deri n\u00eb vitin 2015). T\u00eb gjitha k\u00ebto i mbledhim p\u00ebrmes demonit C'ish CollectD (n\u00eb t\u00eb jan\u00eb t\u00eb inkorporuara nj\u00eb s\u00ebr\u00eb plugin\u00ebsh t\u00eb ndrysh\u00ebm, ai di t\u00eb interrogoj\u00eb t\u00eb gjitha burimet e sistemit t\u00eb hostit n\u00eb t\u00eb cilin \u00ebsht\u00eb instaluar, thjesht tregoni n\u00eb konfigurim se ku t\u00eb shkruhen t\u00eb dh\u00ebnat) dhe i d\u00ebrgojm\u00eb t\u00eb dh\u00ebnat n\u00eb Graphite p\u00ebrmes tij. Ai gjithashtu mb\u00ebshtet plugin\u00eb python dhe skripte shell, k\u00ebshtu q\u00eb mund t\u00eb shkruani zgjidhje tuaja t\u00eb personalizuara: CollectD do t\u00eb mbledh\u00eb k\u00ebto t\u00eb dh\u00ebna nga nj\u00eb host lokal ose t\u00eb larg\u00ebt (supozoni, ka Curl) dhe do t'i d\u00ebrgoj\u00eb ato n\u00eb Graphite. <\/p>\n<p>M\u00eb pas, t\u00eb gjitha metrikat q\u00eb kemi mbledhur i d\u00ebrgojm\u00eb n\u00eb Carbon-c-relay. Ky \u00ebsht\u00eb nj\u00eb zgjidhje Carbon Relay nga Graphite, e zhvilluar n\u00eb C. \u00cbsht\u00eb nj\u00eb ruter q\u00eb mbledh t\u00eb gjitha metrikat q\u00eb d\u00ebrgojm\u00eb nga agregator\u00ebt tan\u00eb dhe i rrufton ato n\u00eb node. Gjithashtu, gjat\u00eb faz\u00ebs s\u00eb rrujtjes kontrollon vlefshm\u00ebrin\u00eb e metrikave. S\u00eb pari, ato duhet t\u00eb p\u00ebrputhen me modelin e prefikseve q\u00eb e tregova m\u00eb par\u00eb dhe, s\u00eb dyti, t\u00eb jen\u00eb t\u00eb vlefshme p\u00ebr Graphite. N\u00eb t\u00eb kund\u00ebrt, ato hidhen. <\/p>\n<p>Pastaj, Carbon-c-relay d\u00ebrgon metrikat n\u00eb klasterin Graphite. Ne p\u00ebrdorim si ruajtje kryesore t\u00eb metrikave Carbon-cache, t\u00eb shkruara n\u00eb Go. Go-carbon, p\u00ebr shkak t\u00eb shum\u00ebth\u00ebsis\u00eb s\u00eb tij, \u00ebsht\u00eb shum\u00eb m\u00eb t\u00ebrheq\u00ebs nga pik\u00ebpamja e performanc\u00ebs se Carbon-cache. Ai pranon t\u00eb dh\u00ebnat dhe i regjistron ato n\u00eb disqe duke p\u00ebrdorur paket\u00ebn whisper (standard, e shkruar n\u00eb python). P\u00ebr t\u00eb lexuar t\u00eb dh\u00ebnat nga ruajtjet tona, ne p\u00ebrdorim Graphite API. Ai punon shum\u00eb m\u00eb shpejt se Graphite WEB standarde. \u00c7far\u00eb ndodh me t\u00eb dh\u00ebnat m\u00eb pas? <\/p>\n<p>Ato shkojn\u00eb n\u00eb Grafana. Ne p\u00ebrdorim klasteret tona Graphite si burimin kryesor t\u00eb t\u00eb dh\u00ebnave, dhe gjithashtu kemi Grafana si nd\u00ebrfaqen web p\u00ebr shfaqjen e metrikave dhe nd\u00ebrtimin e dashboard-eve. \u00c7do sh\u00ebrbim ka dashboard-in e vet t\u00eb krijuar nga zhvilluesit. M\u00eb pas ata nd\u00ebrtuan grafik\u00ebt mbi t\u00eb cil\u00ebt shfaqen metrikat q\u00eb ata d\u00ebrgojn\u00eb nga aplikacionet e tyre. P\u00ebrve\u00e7 Grafana, ne kemi edhe SLAM. Ky \u00ebsht\u00eb nj\u00eb demon n\u00eb Python, i cili llogarit SLA-n\u00eb n\u00eb baz\u00eb t\u00eb t\u00eb dh\u00ebnave nga Graphite. Si\u00e7 kam p\u00ebrmendur m\u00eb par\u00eb, ne kemi disa dhjet\u00ebra mikrosh\u00ebrbimesh, secila me k\u00ebrkesat e saj. Me SLAM ne shkojm\u00eb n\u00eb dokumentacion dhe e krahasojm\u00eb me at\u00eb q\u00eb kemi n\u00eb Graphite, duke krahasuar n\u00ebse k\u00ebrkesat p\u00ebrputhen me disponueshm\u00ebrin\u00eb e sh\u00ebrbimeve tona. <\/p>\n<p>T\u00eb vazhdojm\u00eb: alertimi. Ai \u00ebsht\u00eb organizuar me nj\u00eb sistem t\u00eb fuqish\u00ebm \u2014 Moira. Ajo \u00ebsht\u00eb e pavarur, sepse n\u00ebn kapak ka Graphite t\u00eb saj. E zhvilluar nga ekipi i SKB \u201cKontur\u201d, e shkruar n\u00eb python dhe Go, \u00ebsht\u00eb plot\u00ebsisht open-source. Moira merr t\u00eb nj\u00ebjtin fluks si ai q\u00eb shkon n\u00eb Graphite. N\u00ebse p\u00ebr nj\u00eb arsye ndodhi q\u00eb ruajtja t\u00eb d\u00ebshtoj\u00eb, at\u00ebher\u00eb alertimi juaj do t\u00eb punoj\u00eb.<\/p>\n<p>Moira ne e kemi vendosur n\u00eb Kubernetes, dhe p\u00ebrdor si baz\u00eb kryesore t\u00eb dh\u00ebnash klasterin e server\u00ebve Redis. Rezultati \u00ebsht\u00eb nj\u00eb sistem q\u00eb e duron d\u00ebshtimin. Ajo krahasohet me fluksin e metrikave sipas list\u00ebs s\u00eb triger\u00ebve: n\u00ebse nuk ka p\u00ebrmendje n\u00eb t\u00eb, ajo hidhet. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, ajo mund t\u00eb procesoj\u00eb gigabajt metrikash n\u00eb minut\u00eb. <\/p>\n<p>Po ashtu, ne i kemi lidhur nj\u00eb LDAP korporative, me ndihm\u00ebn e t\u00eb cilit \u00e7do p\u00ebrdorues i sistemit korporativ mund t\u00eb krijoj\u00eb njoftime p\u00ebr triger\u00ebt ekzistues (ose t\u00eb rinj). Si\u00e7 Moira p\u00ebrmban Graphite, ajo mb\u00ebshtet t\u00eb gjitha funksionet e tij. Prandaj, ju s\u00eb pari merrni nj\u00eb rresht dhe e kopjoni at\u00eb n\u00eb Grafana. Shikoni si shfaqen t\u00eb dh\u00ebnat n\u00eb grafik\u00ebt. M\u00eb pas, merrni t\u00eb nj\u00ebjtin rresht dhe e kopjoni n\u00eb Moira. E veshni at\u00eb me kufij dhe merrni n\u00eb fund alertimin. P\u00ebr t\u00eb b\u00ebr\u00eb t\u00eb gjitha k\u00ebto, nuk ju nevojiten njohuri specifike. Moira di t\u00eb d\u00ebrgoj\u00eb njoftime p\u00ebr SMS, email, n\u00eb Jira, Slack\u2026 Ajo gjithashtu mb\u00ebshtet ekzekutimin e skripteve t\u00eb zakonshme. Kur ndodh nj\u00eb triger dhe ajo \u00ebsht\u00eb e abonuar p\u00ebr nj\u00eb skript t\u00eb zakonshem ose binar, ajo e ekzekuton at\u00eb dhe i jep JSON n\u00eb stdin. Prandaj, programma juaj duhet ta analizoj\u00eb at\u00eb. \u00c7far\u00eb do t\u00eb b\u00ebni me k\u00ebt\u00eb JSON, vendosni vet\u00eb. N\u00ebse d\u00ebshironi, d\u00ebrgoni n\u00eb Telegram, n\u00ebse d\u00ebshironi, hapni detyrat n\u00eb Jira, b\u00ebni \u00e7far\u00ebdo q\u00eb d\u00ebshironi. <\/p>\n<p>P\u00ebr alertimin, ne gjithashtu p\u00ebrdorim nj\u00eb zhvillim ton\u00eb t\u00eb brendsh\u00ebm \u2014 Imagotag. Ne e kemi p\u00ebrshtatur panelin q\u00eb p\u00ebrdoret zakonisht p\u00ebr \u00e7mimet elektronike n\u00eb dyqane p\u00ebr nevojat tona. Ne i kemi dal\u00eb p\u00ebr trigerat nga Moira. Aty \u00ebsht\u00eb treguar se n\u00eb cilin gjendje jan\u00eb ato, kur ndodhi. Disa zhvillues e braktis\u00ebn njoftimin n\u00eb Slack dhe email n\u00eb favor t\u00eb k\u00ebtij paneli. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/bcf454c96adaa0cff81f5e56db5b715c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe pasi jemi nj\u00eb kompani progresive, ne gjithashtu monitorojm\u00eb Kubernetes n\u00eb k\u00ebt\u00eb sistem. E kemi p\u00ebrfshir\u00eb at\u00eb n\u00eb sistem me ndihm\u00ebn e Heapster, t\u00eb cilin e kemi instaluar n\u00eb klaster, ai mbledh t\u00eb dh\u00ebnat dhe i d\u00ebrgon ato n\u00eb Graphite. Si rezultat, skema duket k\u00ebshtu: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/cca0f2f9f590fc84609d48e52ebd0d21.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Komponent\u00ebt e monitorimit<\/h3>\n<p>Ja nj\u00eb list\u00eb lidhjesh p\u00ebr komponent\u00ebt q\u00eb kemi p\u00ebrdorur p\u00ebr k\u00ebt\u00eb detyr\u00eb. T\u00eb gjitha ato jan\u00eb open-source. <\/p>\n<h4>Graphite:<\/h4>\n<p><\/p>\n<ul>\n<li>go-carbon: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lomik\/go-carbon\">github.com\/lomik\/go-carbon<\/a><\/noindex><\/li>\n<li>whisper: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/whisper\">github.com\/graphite-project\/whisper<\/a><\/noindex> <\/li>\n<li>graphite-api: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/brutasse\/graphite-api\">github.com\/brutasse\/graphite-api<\/a><\/noindex> <\/li>\n<\/ul>\n<h4>Carbon-c-relay: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grobian\/carbon-c-relay\">github.com\/grobian\/carbon-c-relay<\/a><\/noindex> <\/p>\n<h4>Brubeck: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/github\/brubeck\">github.com\/github\/brubeck<\/a><\/noindex> <\/p>\n<h4>Collectd:<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/collectd.org\/\">collectd.org<\/a><\/noindex><\/p>\n<h4>Moira: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/moira-alert\">github.com\/moira-alert<\/a><\/noindex> <\/p>\n<h4>Grafana: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/\">grafana.com<\/a><\/noindex> <\/p>\n<h4>Heapster: <\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/heapster\">github.com\/kubernetes\/heapster<\/a><\/noindex><\/p>\n<h3>Statistika<\/h3>\n<p>\nDhe k\u00ebtu jan\u00eb disa numra p\u00ebr m\u00ebnyr\u00ebn se si funksionon sistemi te ne. <\/p>\n<h4>Aggregator (brubeck)<\/h4>\n<p>\nNumri i metrikave: ~ 300 000 \/ sec<br \/>\nIntervali i d\u00ebrgimit t\u00eb metrikave n\u00eb Graphite: 30 sec<br \/>\nP\u00ebrdorimi i burimeve t\u00eb serverit: ~ 6% CPU (b\u00ebhet fjal\u00eb p\u00ebr server\u00eb t\u00eb plot\u00eb); ~ 1Gb RAM; ~ 3 Mbps LAN<\/p>\n<h4>Graphite (go-carbon)<\/h4>\n<p>\nNumri i metrikave: ~ 1 600 000 \/ min<br \/>\nIntervali i p\u00ebrdit\u00ebsimit t\u00eb metricave: 30 sek<br \/>\nSkema e ruajtjes s\u00eb metricave: 30 sek 35 d, 5 min 90 d, 10 min 365 d (ofron kuptim p\u00ebr at\u00eb q\u00eb po ndodh me sh\u00ebrbimin n\u00eb nj\u00eb periudh\u00eb t\u00eb gjat\u00eb kohore) <br \/>\nP\u00ebrdorimi i burimeve t\u00eb serverit: ~ 10% CPU; ~ 20Gb RAM; ~ 30 Mbps LAN<\/p>\n<h3>Fleksibiliteti<\/h3>\n<p>\nNe n\u00eb Avito e vler\u00ebsojm\u00eb shum\u00eb fleksibiliteten n\u00eb sh\u00ebrbimin ton\u00eb t\u00eb monitorimit. Pse, pra, ai \u00ebsht\u00eb k\u00ebshtu? S\u00eb pari, komponent\u00ebt e tij jan\u00eb t\u00eb nd\u00ebrruesh\u00ebm: si komponent\u00ebt vet\u00eb, ashtu edhe versionet e tyre. S\u00eb dyti \u2014 mb\u00ebshtetje. Duke qen\u00eb se e gjith\u00eb projekti \u00ebsht\u00eb nd\u00ebrtuar n\u00eb opensoftware, ju mund t\u00eb ndryshoni kodin vet\u00eb, t\u00eb b\u00ebni ndryshime, mund t\u00eb implementoni funksione q\u00eb nuk jan\u00eb t\u00eb disponueshme nga kutia. P\u00ebrdoren steka t\u00eb njohura, kryesisht Go dhe Python, prandaj kjo b\u00ebhet mjaft leht\u00eb. <\/p>\n<p>Ja nj\u00eb shembull i nj\u00eb problemi real q\u00eb \u00ebsht\u00eb shfaqur. Metrika n\u00eb Graphite \u2014 \u00ebsht\u00eb nj\u00eb skedar. Ajo ka nj\u00eb em\u00ebr. Emri i skedarit = emri i metric\u00ebs. Dhe ka nj\u00eb rrug\u00eb deri te ajo. Emrat e skedar\u00ebve n\u00eb Linux jan\u00eb t\u00eb kufizuar n\u00eb 255 karaktere. Dhe ne kemi (si \"k\u00ebshilltar\u00eb t\u00eb brendsh\u00ebm\") djemt\u00eb nga departamenti i baz\u00ebs s\u00eb t\u00eb dh\u00ebnave. Ata na thon\u00eb: \"Dua t\u00eb monitorojm\u00eb k\u00ebrkesat tona SQL. Dhe ato \u2014 nuk jan\u00eb 255 karaktere, por 8 MB \u00e7do nj\u00eb. Duam t\u00eb shohim parametrat e k\u00ebsaj k\u00ebrkese n\u00eb Grafana, dhe akoma m\u00eb mir\u00eb, duam t\u00eb shohim topin e k\u00ebtyre k\u00ebrkesave. Do t\u00eb ishte e mrekullueshme n\u00ebse do t\u00eb shfaqej n\u00eb koh\u00eb reale. Dhe do t\u00eb ishte akoma m\u00eb fantastike ta integronim at\u00eb n\u00eb alarmin\". <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbyese\" src=\"\/wp-content\/uploads\/2019\/11\/e1136c7fd0b6156c0c3fd49bab54737e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Shembulli i k\u00ebrkes\u00ebs SQL \u00ebsht\u00eb marr\u00eb si shembull nga <noindex><a rel=\"nofollow\" href=\"https:\/\/postgrespro.ru\/docs\/postgrespro\/9.6\/queries-with\">websajti postgrespro.ru<\/a><\/noindex> <\/i><\/p>\n<p>Ne ngrisim nj\u00eb server Redis dhe me plugin\u00ebt tan\u00eb Collectd, t\u00eb cil\u00ebt shkojn\u00eb n\u00eb Postgres dhe marrin t\u00eb gjitha t\u00eb dh\u00ebnat, d\u00ebrgojm\u00eb metrikat n\u00eb Graphite. Por z\u00ebvend\u00ebsojm\u00eb emrin e metrik\u00ebs me hash. Ky hash gjithashtu d\u00ebrgohet n\u00eb Redis si \u00e7el\u00ebs, dhe e gjith\u00eb k\u00ebrkesa SQL si vler\u00eb. Na mbetet t\u00eb b\u00ebjm\u00eb q\u00eb Grafana t\u00eb mund t\u00eb shkoj\u00eb n\u00eb Redis dhe t\u00eb marr\u00eb k\u00ebt\u00eb informacion. Hapim Graphite API, pasi ky \u00ebsht\u00eb interfaci kryesor i nd\u00ebrveprimit t\u00eb t\u00eb gjith\u00eb komponent\u00ebve t\u00eb monitorimit me Graphite, dhe e regjistrojm\u00eb nj\u00eb funksion t\u00eb ri, i quajtur aliasByHash() \u2014 nga Grafana merrni emrin e metrik\u00ebs, dhe e p\u00ebrdorim at\u00eb n\u00eb k\u00ebrkes\u00ebn ndaj Redis si \u00e7el\u00ebs, si p\u00ebrgjigje marrim vler\u00ebn e \u00e7el\u00ebsit, i cili \u00ebsht\u00eb k\u00ebrkesa jon\u00eb \u201cSQL\u201d. K\u00ebshtu, ne e nxorr\u00ebm n\u00eb Grafana shfaqjen e k\u00ebrkes\u00ebs SQL, e cila p\u00ebr ide duhet t\u00eb paraqitej atje, bashk\u00eb me statistikat p\u00ebr t\u00eb (calls, rows, total_time, \u2026). <\/p>\n<h3>P\u00ebrfundimet <\/h3>\n<p>\n<b>Disponueshm\u00ebria.<\/b> Sh\u00ebrbimi yn\u00eb i monitorimit \u00ebsht\u00eb i disponuesh\u00ebm 24\/7 nga \u00e7do aplikacion dhe \u00e7do kod. N\u00ebse keni qasje n\u00eb depo, mund t\u00eb d\u00ebrgoni t\u00eb dh\u00ebna n\u00eb sh\u00ebrbim. Gjuha nuk ka r\u00ebnd\u00ebsi, zgjidhjet nuk kan\u00eb r\u00ebnd\u00ebsi. Ju duhet vet\u00ebm t\u00eb dini si t\u00eb hapni nj\u00eb socket, t\u00eb d\u00ebrgoni atje metrik\u00ebn dhe t\u00eb mbyllni socket-in. <\/p>\n<p><b>Besueshm\u00ebria.<\/b> T\u00eb gjith\u00eb komponent\u00ebt jan\u00eb t\u00eb q\u00ebndruesh\u00ebm ndaj d\u00ebshtimeve dhe e p\u00ebrballojn\u00eb ngarkes\u00ebn ton\u00eb mir\u00eb. <\/p>\n<p><b>Nj\u00eb prag i ul\u00ebt hyrjeje.<\/b> P\u00ebr t\u00eb p\u00ebrdorur k\u00ebt\u00eb sistem, ju nuk keni nevoj\u00eb t\u00eb m\u00ebsoni gjuh\u00ebt e programimit dhe k\u00ebrkesat n\u00eb Grafana. Thjesht hapni aplikacionin tuaj, shkruani atje socket-in q\u00eb do t\u00eb d\u00ebrgoj\u00eb metricat n\u00eb Graphite, e mbyllni at\u00eb, hapni Grafana, krijoni atje dashboard-e dhe shikoni sjelljen e metricave tuaja, duke marr\u00eb njoftime p\u00ebrmes Moira.<\/p>\n<p><b>Vet\u00ebfunksionaliteti.<\/b> T\u00eb gjitha k\u00ebto mund t\u00eb b\u00ebhen vet\u00eb, pa ndihm\u00ebn e inxhinier\u00ebve DevOps. Dhe kjo \u00ebsht\u00eb nj\u00eb ve\u00e7ori e tepruar, sepse ju mund t\u00eb monitoroni projektin tuaj tani, pa k\u00ebrkuar ndihm\u00eb nga askush \u2014 as p\u00ebr fillimin e pun\u00ebs, as p\u00ebr ndryshime. <\/p>\n<h3>\u00c7ka synojm\u00eb? <\/h3>\n<p>\nT\u00eb gjitha t\u00eb listuara m\u00eb posht\u00eb \u2014 nuk jan\u00eb thjesht mendime abstrakte, por ato p\u00ebr t\u00eb cilat jan\u00eb b\u00ebr\u00eb t\u00eb pakt\u00ebn hapat e par\u00eb. <\/p>\n<ol>\n<li>Detektori i anomalis\u00eb. Duam t\u00eb krijojm\u00eb nj\u00eb sh\u00ebrbim, i cili do t\u00eb shkoj\u00eb n\u00eb depozitat tona Graphite dhe do t\u00eb kontrolloj\u00eb \u00e7do metrik\u00eb sipas algoritmeve t\u00eb ndryshme. Tani kemi algoritme q\u00eb duam t'i shqyrtojm\u00eb, kemi t\u00eb dh\u00ebna, dim\u00eb si t\u00eb punojm\u00eb me to.\n<\/li>\n<li>Metadata. Kemi shum\u00eb sh\u00ebrbime, me kalimin e koh\u00ebs ato ndryshojn\u00eb, ashtu si\u00e7 ndryshojn\u00eb njer\u00ebzit q\u00eb punojn\u00eb me to. T\u00eb mbash dokumentacionin manualisht vazhdimisht \u2014 nuk \u00ebsht\u00eb zgjidhje. Prandaj tani n\u00eb mikrosh\u00ebrbimet tona integrohen metadatat. Aty \u00ebsht\u00eb shkruar, kush e zhvilloi, gjuh\u00ebt me t\u00eb cilat ai bashk\u00ebvepron, k\u00ebrkesat p\u00ebr SLA, ku dhe kujt t'i d\u00ebrgosh njoftimet. Gjat\u00eb publikimit t\u00eb sh\u00ebrbimit, t\u00eb gjitha t\u00eb dh\u00ebnat e entiteteve krijohen vet\u00eb. N\u00eb fund, merrni dy lidhje \u2014 nj\u00eb p\u00ebr trigger-at, nj\u00eb tjet\u00ebr \u2014 p\u00ebr dashboard-et n\u00eb Grafana.\n<\/li>\n<li>Monitorimi n\u00eb \u00e7do sht\u00ebpi. Ne besojm\u00eb se nj\u00eb sistem t\u00eb till\u00eb duhet ta p\u00ebrdorin t\u00eb gjith\u00eb zhvilluesit. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, gjithmon\u00eb e kuptoni se ku \u00ebsht\u00eb trafiku juaj, \u00e7far\u00eb po ndodh me t\u00eb, ku po bie, ku ka pika t\u00eb dob\u00ebta. N\u00ebse, p\u00ebr shembull, ndodh di\u00e7ka dhe d\u00ebmton sh\u00ebrbimin tuaj, do ta merrni vesh p\u00ebr k\u00ebt\u00eb jo n\u00ebp\u00ebrmjet nj\u00eb telefonate nga menaxheri, por nga nj\u00eb alarm, dhe menj\u00ebher\u00eb do t\u00eb mund t\u00eb hapni log-et e fundit dhe t\u00eb shikoni se \u00e7far\u00eb ndodhi.\n<\/li>\n<li>Performanc\u00eb e lart\u00eb. Projekti yn\u00eb po rritet vazhdimisht, dhe sot p\u00ebrpunon rreth 2,000,000 vlerash metrike n\u00eb minut\u00eb. Nj\u00eb vit m\u00eb par\u00eb, ky tregues ishte 500,000. Rritja vazhdon, dhe kjo do t\u00eb thot\u00eb se pas nj\u00eb kohe Graphite (whisper) do t\u00eb filloj\u00eb t\u00eb ngarkoj\u00eb shum\u00eb ndjesh\u00ebm sistemin e diskut. Si\u00e7 e kam th\u00ebn\u00eb, ky sistem monitorimi \u00ebsht\u00eb mjaft universale p\u00ebr shkak t\u00eb nd\u00ebrk\u00ebmbueshm\u00ebris\u00eb s\u00eb komponent\u00ebve. Disa njer\u00ebz e mbajn\u00eb me q\u00ebllim Graphite dhe vazhdojn\u00eb ta zgjeronin infrastruktur\u00ebn e tyre, por ne vendos\u00ebm t\u00eb ndjekim nj\u00eb rrug\u00eb tjet\u00ebr: t\u00eb p\u00ebrdorim <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/\">ClickHouse<\/a><\/noindex> si depo p\u00ebr metrikat tona. Ky kalim \u00ebsht\u00eb pothuajse i p\u00ebrfunduar, dhe shum\u00eb shpejt do t\u00eb tregoj m\u00eb shum\u00eb se si \u00ebsht\u00eb b\u00ebr\u00eb: cilat ishin v\u00ebshtir\u00ebsit\u00eb dhe si i kemi tejkaluar ato, si ka kaluar procesi i migrimit, do t\u00eb p\u00ebrshkruaj komponent\u00ebt e zgjedhur si dhe konfigurimet e tyre. \n<\/li>\n<\/ol>\n<p>\nFaleminderit p\u00ebr v\u00ebmendjen! Beni pyetjet tuaja mbi k\u00ebt\u00eb tem\u00eb, do t\u00eb p\u00ebrpiqem t\u00eb p\u00ebrgjigjem k\u00ebtu ose n\u00eb postimet e ardhshme. Ndoshta ndokush ka p\u00ebrvoj\u00eb n\u00eb nd\u00ebrtimin e nj\u00eb sistemi t\u00eb till\u00eb monitorimi ose migrimin n\u00eb Clickhouse n\u00eb nj\u00eb situat\u00eb t\u00eb ngjashme \u2014 ndani at\u00eb n\u00eb komentet.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/335410\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e. \u041c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0438, \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u0438\u0445 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b, \u043f\u0440\u0438\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c \u043a \u043d\u0438\u043c \u0430\u043b\u0435\u0440\u0442\u044b, [&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-52115","post","type-post","status-publish","format-standard","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=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.\" \/>\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\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury\" \/>\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\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441: \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury\" \/>\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-10-31T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:47+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\udd47Monitorimi si sh\u00ebrbim: sistem modular p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore | ProHoster","description":"Sot \u00ebsht\u00eb nj\u00eb projekt q\u00eb, p\u00ebrve\u00e7 kodit monolit, funksionon me dhjetra mikrosisteme. \u00c7do nj\u00ebri prej tyre k\u00ebrkon nj\u00eb mbik\u00ebqyrje. T\u00eb b\u00ebsh k\u00ebt\u00eb n\u00eb nj\u00eb mas\u00eb t\u00eb till\u00eb \u00ebsht\u00eb problematike p\u00ebr inxhinier\u00ebt DevOps.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","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\udd47\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441: \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b\u0438. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0442\u0430\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0441\u0438\u043b\u0430\u043c\u0438 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-kak-servis-modulnaya-sistema-dlya-mikroservisnoj-arhitektury","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-10-31T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52115","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 02:30:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:49:49","updated":"2026-01-24 02:30:22","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\/52115","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=52115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/52115\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=52115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=52115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=52115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}