{"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 modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Sot n\u00eb projektin ton\u00eb, p\u00ebrve\u00e7 kodit monolitik, funksionojn\u00eb dhjet\u00ebra mikrosisteme. \u00c7do nj\u00ebri prej tyre k\u00ebrkon monitorim. T\u00eb b\u00ebsh k\u00ebt\u00eb n\u00eb nj\u00eb mas\u00eb t\u00eb till\u00eb me forcat e inxhinier\u00ebve DevOps \u00ebsht\u00eb problematike. Ne kemi zhvilluar nj\u00eb sistem monitorimi q\u00eb funksionon si sh\u00ebrbim p\u00ebr zhvilluesit. Ata mund t\u00eb shkruajn\u00eb metrika n\u00eb sistemin e monitorimit, t'i p\u00ebrdorin ato, t\u00eb nd\u00ebrtojn\u00eb panele mbi baz\u00ebn e tyre, t\u00eb lidhin alerte q\u00eb do t\u00eb aktivizohen kur arrihen p\u00ebrcaktimet e caktuara. Prej inxhinier\u00ebve DevOps \u2014 vet\u00ebm infrastruktura dhe dokumentacioni. <\/p>\n<p>Ky post \u00ebsht\u00eb nj\u00eb transkriptim i fjalimit tim nga <noindex><a rel=\"nofollow\" href=\"http:\/\/bit.ly\/tomicro\">seksioni<\/a><\/noindex> n\u00eb RIT++. Shum\u00eb na k\u00ebrkuan t\u00eb b\u00ebjm\u00eb versione tekstuale t\u00eb raportimeve nga aty. N\u00ebse ishit n\u00eb konferenc\u00eb ose e shihnit videon, nuk do t\u00eb gjeni asgj\u00eb t\u00eb re. Nd\u00ebrsa t\u00eb tjer\u00ebt \u2014 mir\u00eb se erdh\u00ebt posht\u00eb. Do t'ju tregoj si arrit\u00ebm n\u00eb nj\u00eb sistem t\u00eb till\u00eb, si funksionon dhe si e planifikojm\u00eb p\u00ebr ta p\u00ebrmir\u00ebsuar. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" 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 shkojm\u00eb n\u00eb vitin 2015. K\u00ebshtu dukej at\u00ebher\u00eb: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" src=\"\/wp-content\/uploads\/2019\/11\/d955f9bcdb5f5a5a54720c77113ca85d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKishim rreth 24 nod\u00eb q\u00eb ishin p\u00ebrgjegj\u00ebs p\u00ebr monitorimin. K\u00ebtu ka nj\u00eb grumbull t\u00eb madh kroneve, skriptesh, demon\u00ebsh, q\u00eb monitorojn\u00eb di\u00e7ka diku, d\u00ebrgojn\u00eb mesazhe, dhe p\u00ebrmbushin funksione. Menduam se sa m\u00eb shum\u00eb t\u00eb shkonim p\u00ebrpara, aq m\u00eb pak do t\u00eb jet\u00eb e q\u00ebndrueshme nj\u00eb sistem i till\u00eb. Nuk kishte kuptim ta zhvillonim at\u00eb: ishte shum\u00eb ngarkuese. <br \/>\nVendos\u00ebm t\u00eb zgjedhim ato elemente t\u00eb monitorimit q\u00eb do t\u00eb mbeteshim dhe do t'i zhvillonim, dhe ato q\u00eb do t\u00eb heqnim dor\u00eb prej tyre. U duk\u00ebn 19. Mbet\u00ebn vet\u00ebm grafit\u00ebt, agregator\u00ebt dhe Grafana si panel. Por si do t\u00eb dukej sistemi i ri? Ja k\u00ebshtu: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" 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 grafit\u00ebt, t\u00eb cilat do t\u00eb bazohen n\u00eb SSD t\u00eb shpejt\u00eb, dhe disa agregator\u00eb p\u00ebr metrikat. M\u00eb pas \u2014 Grafana p\u00ebr shfaqjen e paneleve dhe Moira p\u00ebr alarmin. Po ashtu, donim t\u00eb zhvillonim nj\u00eb sistem p\u00ebr gjetjen e anomalive. <\/p>\n<h3>Standart: Monitorimi 2.0<\/h3>\n<p>\nK\u00ebshtu dukej plani n\u00eb vitin 2015. Por na duhej t\u00eb p\u00ebrgatitnim jo vet\u00ebm infrastruktur\u00ebn dhe sh\u00ebrbimin vet\u00eb, por edhe dokumentacionin p\u00ebr t\u00eb. Ne zhvilluam nj\u00eb standart korporativ, t\u00eb quajtur monitorimi 2.0. Cilat ishin k\u00ebrkesat 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>ruajtja e strukturuar e metrikave dhe panel\u00ebve; <\/li>\n<li>SLA &gt; 99,99% <\/li>\n<li>mbledhja e metrikave t\u00eb ngjarjeve p\u00ebrmes UDP (!). <\/li>\n<\/ul>\n<p>\nNa duhej UDP, sepse kemi nj\u00eb fluks t\u00eb madh trafiku dhe ngjarjesh q\u00eb gjenerojn\u00eb metrika. N\u00ebse i shkruajm\u00eb t\u00eb gjitha menj\u00ebher\u00eb n\u00eb Graphite, depoja do t\u00eb bjer\u00eb. Gjithashtu, zgjodh\u00ebm parafikat e nivelit t\u00eb par\u00eb p\u00ebr t\u00eb gjitha metrikat. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" src=\"\/wp-content\/uploads\/2019\/11\/d24c4474b19b532a48cef4d4376287ad.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c7do parafik ka nj\u00eb pron\u00ebsit\u00eb t\u00eb caktuar. Ka metrika p\u00ebr server\u00ebt, rrjetet, kontejner\u00ebt, burimet, aplikacionet dhe k\u00ebshtu me radh\u00eb. \u00cbsht\u00eb realizuar nj\u00eb filtrim i qart\u00eb, t\u00ebr\u00ebsor, tipizuar, ku pranojm\u00eb metrikat e nivelit t\u00eb par\u00eb, nd\u00ebrsa t\u00eb tjerat thjesht i heqim. K\u00ebshtu e planifikuam k\u00ebt\u00eb sistem n\u00eb vitin 2015. \u00c7far\u00eb ndodhi tani? <\/p>\n<h3>E tashmja: skema e bashk\u00ebpunimit t\u00eb komponenteve t\u00eb monitorimit<\/h3>\n<p>\nN\u00eb radh\u00eb t\u00eb par\u00eb, ne monitorojm\u00eb aplikacionet: kodin ton\u00eb PHP, aplikacionet dhe mikrosh\u00ebrbimet - n\u00eb nj\u00eb fjal\u00eb, gjith\u00e7ka q\u00eb shkruajn\u00eb zhvilluesit tan\u00eb. T\u00eb gjitha aplikacionet d\u00ebrgojn\u00eb metrika n\u00eb agregatorin Brubeck (statsd, e shkruar n\u00eb C) p\u00ebrmes UDP. Ai rezultoi t\u00eb ishte m\u00eb i shpejti n\u00eb p\u00ebrfundimet e testeve sintetik\u00eb. Dhe ai d\u00ebrgon metrikat e agreguara n\u00eb Graphite p\u00ebrmes TCP. <\/p>\n<p>Ai ka nj\u00eb lloj metrikash, si\u00e7 jan\u00eb 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, ju d\u00ebrgoni n\u00eb Brubeck nj\u00eb metrik\u00eb me koh\u00ebn e p\u00ebrgjigjes. Erdh\u00ebn nj\u00eb milion p\u00ebrgjigje, nd\u00ebrsa agregatori dha vet\u00ebm 10 metrika. Keni numrin e njer\u00ebzve q\u00eb erdh\u00ebn, koh\u00ebn maksimale, minimale dhe mesatare t\u00eb p\u00ebrgjigjes, median dhe 4 percentilat. M\u00eb pas t\u00eb dh\u00ebnat d\u00ebrgohen n\u00eb Graphite dhe ne i shohim t\u00eb gjitha n\u00eb koh\u00eb reale. <\/p>\n<p>Gjithashtu kemi agregimin p\u00ebr metrikat lidhur me harduerin, softuerin, metrikat sistemore dhe sistemin ton\u00eb t\u00eb vjet\u00ebr t\u00eb monitorimit Munin (ai punoi p\u00ebr ne deri n\u00eb vitin 2015). T\u00eb gjitha k\u00ebto i mblidhim p\u00ebrmes demonit CollectD (i shkruar n\u00eb C, q\u00eb ka nj\u00eb paket\u00eb t\u00eb t\u00ebr\u00eb me plugina t\u00eb ndrysh\u00ebm, ai di t\u00eb pyet t\u00eb gjitha burimet e sistemit host ku \u00ebsht\u00eb instaluar, thjesht specifikoni n\u00eb konfigurim se ku t\u00eb d\u00ebrgohet t\u00eb dh\u00ebnat) dhe shkruajm\u00eb p\u00ebrmes tij t\u00eb dh\u00ebnat n\u00eb Graphite. Ai gjithashtu mb\u00ebshtet plugina Python dhe shell scripts, k\u00ebshtu q\u00eb mund t\u00eb shkruani zgjidhjet tuaja t\u00eb personalizuara: CollectD do t\u00eb mbledh\u00eb k\u00ebto t\u00eb dh\u00ebna nga hosti lokal ose t\u00eb larg\u00ebt (le t\u00eb themi, ka Curl) dhe t'i d\u00ebrgoj\u00eb ato n\u00eb Graphite. <\/p>\n<p>Pastajm\u00eb metrikat e grumbulluara d\u00ebrgojm\u00eb n\u00eb Carbon-c-relay. Ky \u00ebsht\u00eb nj\u00eb zgjidhje Carbon Relay nga Graphite, e p\u00ebrmir\u00ebsuar n\u00eb C. Ky \u00ebsht\u00eb nj\u00eb router q\u00eb mbledh t\u00eb gjitha metrikat q\u00eb d\u00ebrgojm\u00eb nga agregator\u00ebt tan\u00eb dhe i drejton ato n\u00eb nodet. Po ashtu, gjat\u00eb faz\u00ebs s\u00eb drejtimit ai kontrollon vlefshm\u00ebrin\u00eb e metrikave. S\u00eb pari, ato duhet t\u00eb p\u00ebrputhen me skem\u00ebn e prefikseve q\u00eb tregova m\u00eb her\u00ebt dhe, s\u00eb dyti, t\u00eb jen\u00eb t\u00eb vlefshme p\u00ebr Graphite. N\u00ebse jo, ato eliminohen. <\/p>\n<p>M\u00eb pas, Carbon-c-relay d\u00ebrgon metrikat n\u00eb klasterin Graphite. Ne p\u00ebrdorim si ruajtjen kryesore t\u00eb metrikave Carbon-cache, t\u00eb rishtypura n\u00eb Go. Go-carbon, p\u00ebr shkak t\u00eb multithread-it, tejkalon shum\u00eb performanc\u00ebn e Carbon-cache. Ai pranon t\u00eb dh\u00ebnat dhe i shkruan ato n\u00eb disqe me ndihm\u00ebn e paket\u00ebs whisper (standarde, e shkruar n\u00eb python). P\u00ebr t\u00eb lexuar t\u00eb dh\u00ebnat nga ruajtjet tona, p\u00ebrdorim Graphite API. Ai punon shum\u00eb m\u00eb shpejt se sa Graphite WEB standard. \u00c7far\u00eb ndodh m\u00eb pas me t\u00eb dh\u00ebnat? <\/p>\n<p>Ato shkojn\u00eb n\u00eb Grafana. Si burimi kryesor i t\u00eb dh\u00ebnave p\u00ebrdorim klasteret tona t\u00eb Graphite-it, plus kemi Grafana si nd\u00ebrfaqe n\u00eb web p\u00ebr shfaqjen e metrikave dhe nd\u00ebrtimin e dashboard-\u00ebve. \u00c7do zhvillues krijon dashboard-in e tij p\u00ebr sh\u00ebrbimet e veta. M\u00eb pas ata nd\u00ebrtojn\u00eb grafike sipas tyre, n\u00eb t\u00eb cilat shfaqen metrikat q\u00eb ata d\u00ebrgojn\u00eb nga aplikacionet e tyre. P\u00ebrve\u00e7 Grafana kemi edhe SLAM. Ky \u00ebsht\u00eb nj\u00eb demon python-i q\u00eb llogarit SLA-n\u00eb mbi baz\u00ebn e t\u00eb dh\u00ebnave nga Graphite. Si\u00e7 e thash\u00eb, kemi disa dhjet\u00ebra mikrosisteme, secili me k\u00ebrkesat e veta. Me ndihm\u00ebn e SLAM shkojm\u00eb n\u00eb dokumentacion dhe e krahasojm\u00eb at\u00eb me at\u00eb q\u00eb ka Graphite dhe shikojm\u00eb sa p\u00ebrputhen k\u00ebrkesat me disponibilitetin e sh\u00ebrbimeve tona. <\/p>\n<p>Shkojm\u00eb p\u00ebrpara: alerimi. Ai \u00ebsht\u00eb organizuar me nj\u00eb sistem t\u00eb fuqish\u00ebm - Moira. Ajo \u00ebsht\u00eb e pavarur sepse n\u00ebn kapak ka Graphite-n e saj. E zhvilluar nga djemt\u00eb n\u00eb SKB \"Kontur\", e shkruar n\u00eb python dhe Go, plot\u00ebsisht open-source. Moira merr t\u00eb nj\u00ebjtin flux t\u00eb t\u00eb dh\u00ebnave q\u00eb shkon n\u00eb Graphite. N\u00ebse p\u00ebr ndonj\u00eb arsye ruajtja juaj d\u00ebshton, alerimi juaj do t\u00eb funksionoj\u00eb.<\/p>\n<p>Ne ushtruam Moira n\u00eb Kubernetes, duke p\u00ebrdorur nj\u00eb grup server\u00ebsh Redis si baz\u00ebn e saj kryesore t\u00eb t\u00eb dh\u00ebnave. Si rezultat, u krijua nj\u00eb sistem me q\u00ebndrueshm\u00ebri t\u00eb lart\u00eb. Ajo krahasohet me fluxin e metrikeve me list\u00ebn e triggereve: n\u00ebse nuk ka p\u00ebrmendje, ajo e hedh jasht\u00eb metrik\u00ebn. K\u00ebshtu ajo \u00ebsht\u00eb n\u00eb gjendje t\u00eb procesoj\u00eb gigabajt t\u00eb metrikave n\u00eb minut\u00eb. <\/p>\n<p>Gjithashtu, ne e lidh\u00ebm at\u00eb me LDAP-in e korporat\u00ebs, me an\u00eb t\u00eb t\u00eb cilit \u00e7do p\u00ebrdorues i sistemit korporativ mund t\u00eb krijoj\u00eb njoftime p\u00ebr triggere ekzistuese (ose t\u00eb sapokrijuara). Pasi Moira p\u00ebrmban Graphite, ajo mb\u00ebshtet t\u00eb gjitha funksionet e tij. Prandaj, filloni duke marr\u00eb nj\u00eb rresht dhe duke e kopjuar at\u00eb n\u00eb Grafana. Shikoni si paraqiten t\u00eb dh\u00ebnat n\u00eb grafika. Pastaj merrni t\u00eb nj\u00ebjtin rresht dhe kopjoni at\u00eb n\u00eb Moira. Shtoni kufij dhe merrni alarmin n\u00eb p\u00ebrfundim. P\u00ebr t\u00eb b\u00ebr\u00eb gjith\u00e7ka k\u00ebt\u00eb, ju nuk keni nevoj\u00eb p\u00ebr njohuri specifike. Moira mund t\u00eb jap\u00eb alarme p\u00ebrmes SMS, email, n\u00eb Jira, Slack... Ajo mb\u00ebshtet gjithashtu ekzekutimin e skripteve t\u00eb zakonshme. Kur ndodh nj\u00eb trigger dhe ajo \u00ebsht\u00eb e regjistruar n\u00eb nj\u00eb skript t\u00eb zakonsh\u00ebm ose nj\u00eb binar, e ekzekuton at\u00eb dhe ia jep n\u00eb stdin k\u00ebtij binari JSON. Pra, programi 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\u00ebrgojini n\u00eb Telegram, n\u00ebse d\u00ebshironi, hapni detyra n\u00eb Jira, b\u00ebni \u00e7far\u00eb t\u00eb doni. <\/p>\n<p>P\u00ebr alarmin p\u00ebrdorim gjithashtu nj\u00eb zhvillim t\u00eb vetin \u2014 Imagotag. Ne e p\u00ebrshtat\u00ebm panelin q\u00eb zakonisht p\u00ebrdoret p\u00ebr etiketat elektronike n\u00eb dyqane p\u00ebr detyrat tona. Ne e nxor\u00ebm triggere nga Moira n\u00eb t\u00eb. Aty shfaqet n\u00eb cilin gjendje jan\u00eb ato dhe kur ndodhi. Disa nga ekipi i zhvillimit u t\u00ebrhoq\u00ebn nga njoftimet n\u00eb Slack dhe e-mail n\u00eb favor t\u00eb k\u00ebtij paneli. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" src=\"\/wp-content\/uploads\/2019\/11\/bcf454c96adaa0cff81f5e56db5b715c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe duke qen\u00eb se jemi nj\u00eb kompani progresive, ne kemi monitoruar gjithashtu Kubernetes n\u00eb k\u00ebt\u00eb sistem. E kemi p\u00ebrfshir\u00eb n\u00eb sistem p\u00ebrmes Heapster, t\u00eb cilin e kemi instaluar n\u00eb grup, ai mbledh t\u00eb dh\u00ebna dhe i d\u00ebrgon n\u00eb Graphite. Si rezultat, skema duket k\u00ebshtu: <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" 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>K\u00ebtu \u00ebsht\u00eb lista e linkeve p\u00ebr komponent\u00ebt q\u00eb p\u00ebrdor\u00ebm p\u00ebr k\u00ebt\u00eb detyr\u00eb. T\u00eb gjith\u00eb ata jan\u00eb me burim t\u00eb hapur. <\/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>\nDhek\u00eb disa shifra p\u00ebr m\u00ebnyr\u00ebn se si sistemi funksionon tek 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 resurseve 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 metrikave: 30 sec<br \/>\nSkema e ruajtjes s\u00eb metrikave: 30sec 35d, 5min 90d, 10min 365d (jep nj\u00eb kuptim p\u00ebr at\u00eb q\u00eb ndodh me sh\u00ebrbimin p\u00ebr nj\u00eb periudh\u00eb t\u00eb gjat\u00eb kohore) <br \/>\nP\u00ebrdorimi i resurseve 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 fleksibilitetin n\u00eb sh\u00ebrbimin ton\u00eb t\u00eb monitorimit. Pse e realizuam k\u00ebt\u00eb? S\u00eb pari, komponent\u00ebt e tij jan\u00eb t\u00eb z\u00ebvend\u00ebsuesh\u00ebm: si vet\u00eb komponent\u00ebt ashtu edhe versionet e tyre. S\u00eb dyti \u2014 mb\u00ebshtetshm\u00ebria. Duke qen\u00eb se projekti \u00ebsht\u00eb nd\u00ebrtuar n\u00eb open source, ju mund t\u00eb rregulloni kodin, t\u00eb b\u00ebni ndryshime, t\u00eb realizoni funksione q\u00eb nuk jan\u00eb t\u00eb disponueshme nga kutia. P\u00ebrdoren steka mjaft t\u00eb zakonsh\u00ebm, kryesisht Go dhe Python, prandaj kjo b\u00ebhet mjaft e thjesht\u00eb. <\/p>\n<p>Ja nj\u00eb shembull i nj\u00eb problemi real q\u00eb ka lindur. Nj\u00eb metrik\u00eb n\u00eb Graphite \u2014 \u00ebsht\u00eb nj\u00eb skedar. Ajo ka nj\u00eb em\u00ebr. Emri i skedarit = emri i metrik\u00ebs. Dhe ka nj\u00eb rrug\u00eb deri tek ai. Emrat e skedar\u00ebve n\u00eb Linux jan\u00eb t\u00eb kufizuar n\u00eb 255 karaktere. Nd\u00ebrsa ne kemi (si \u201cporosi t\u00eb brendshme\u201d) djemt\u00eb nga departamenti i bazave t\u00eb t\u00eb dh\u00ebnave. Ata na thon\u00eb: \u201cDuam t\u00eb monitorojm\u00eb k\u00ebrkesat tona SQL. E ato nuk jan\u00eb 255 karaktere, por 8 MB secila. Duam t\u2019i shohim ato n\u00eb Grafana, t\u00eb shohim parametrat p\u00ebr k\u00ebt\u00eb k\u00ebrkes\u00eb, e m\u00eb mir\u00eb akoma, duam t\u00eb shohim t\u00eb dh\u00ebnat m\u00eb t\u00eb mira t\u00eb till\u00eb. Do t\u00eb ishte e shk\u00eblqyer n\u00ebse do t\u00eb shfaqej n\u00eb koh\u00eb reale. E do t\u00eb ishte akoma m\u00eb mir\u00eb n\u00ebse do t\u00eb vendosnim ato n\u00eb alerting.\u201d <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi si sh\u00ebrbim: nj\u00eb sistem modulor p\u00ebr arkitektur\u00ebn mikrosh\u00ebrbimore\" 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 nj\u00eb shembull nga <noindex><a rel=\"nofollow\" href=\"https:\/\/postgrespro.ru\/docs\/postgrespro\/9.6\/queries-with\">site postgrespro.ru<\/a><\/noindex> <\/i><\/p>\n<p>Ne kemi ngritur serverin Redis dhe me pluginat tan\u00eb Collectd, t\u00eb cilat b\u00ebjn\u00eb k\u00ebrkesa n\u00eb Postgres dhe marrin t\u00eb dh\u00ebnat e nevojshme, d\u00ebrgojm\u00eb metrikat n\u00eb Graphite. Por, ne z\u00ebvend\u00ebsojm\u00eb emrin e metrik\u00ebs me hash-e. 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 lidhet me Redis dhe t\u00eb marr\u00eb k\u00ebt\u00eb informacion. Ne hapim Graphite API, pasi kjo \u00ebsht\u00eb nd\u00ebrfaqja kryesore p\u00ebr nd\u00ebrveprimin e t\u00eb gjitha komponenteve t\u00eb monitorimit me Graphite, dhe shtojm\u00eb aty nj\u00eb funksion t\u00eb ri, t\u00eb quajtur aliasByHash() \u2014 nga Grafana marrim emrin e metrik\u00ebs, dhe e p\u00ebrdorim at\u00eb n\u00eb k\u00ebrkes\u00ebn ndaj Redis si \u00e7el\u00ebs, n\u00eb p\u00ebrgjigje marrim vler\u00ebn e \u00e7el\u00ebsit, i cili \u00ebsht\u00eb \u201ck\u00ebrkesa jon\u00eb SQL\u201d. K\u00ebshtu, ne e shfaqim n\u00eb Grafana k\u00ebrkes\u00ebn SQL, e cila teorikisht nuk mund t\u00eb shfaqej atje, s\u00eb bashku me statistik\u00ebn p\u00ebr t\u00eb (calls, rows, total_time, \u2026). <\/p>\n<h3>P\u00ebrfundime <\/h3>\n<p>\n<b>Disponibiliteti.<\/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 ruajtjet, mund t\u00eb shkruani 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 metrikat atje dhe t\u00eb mbyllni socketin. <\/p>\n<p><b>Q\u00ebndrueshm\u00ebria.<\/b> T\u00eb gjitha komponent\u00ebt jan\u00eb t\u00eb q\u00ebndruesh\u00ebm dhe p\u00ebrballojn\u00eb ngarkesat tona mir\u00eb. <\/p>\n<p><b>Pragu i ul\u00ebt i hyrjes.<\/b> P\u00ebr t\u00eb p\u00ebrdorur k\u00ebt\u00eb sistem, nuk keni nevoj\u00eb t\u00eb m\u00ebsoni gjuh\u00eb programimi dhe k\u00ebrkesa n\u00eb Grafana. Thjesht hapni aplikacionin tuaj, shkruani n\u00eb t\u00eb socketin q\u00eb do t\u00eb d\u00ebrgoj\u00eb metrikat n\u00eb Graphite, mbylleni, hapni Grafana, krijoni dashboard-e atje dhe shikoni sjelljen e metrikave tuaja, duke marr\u00eb njoftime p\u00ebrmes Moira.<\/p>\n<p><b>Autonomia.<\/b> T\u00eb gjitha k\u00ebto mund t\u00eb b\u00ebhen vet\u00eb, pa ndihm\u00ebn e inxhinier\u00ebve DevOps. Dhe kjo \u00ebsht\u00eb e tep\u00ebrt, sepse mund t\u00eb monitoroni projektin tuaj tani, pa pasur nevoj\u00eb t\u00eb k\u00ebrkoni ndihm\u00eb \u2014 as p\u00ebr fillimin e pun\u00ebs, as p\u00ebr ndryshime. <\/p>\n<h3>N\u00eb \u00e7far\u00eb synojm\u00eb? <\/h3>\n<p>\nT\u00eb gjitha t\u00eb renditura m\u00eb posht\u00eb \u2014 k\u00ebto nuk jan\u00eb vet\u00ebm 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 anomalive. Duam t\u00eb krijojm\u00eb nj\u00eb sh\u00ebrbim q\u00eb do t\u00eb hyj\u00eb n\u00eb ruajtjet tona Graphite dhe do t\u00eb kontrolloj\u00eb \u00e7do metrik\u00eb p\u00ebrmes algoritmeve t\u00eb ndryshme. Padyshim q\u00eb ekzistojn\u00eb algoritme q\u00eb duam t\u00eb shqyrtojm\u00eb, kemi t\u00eb dh\u00ebnat, dim\u00eb si t\u00eb punojm\u00eb me to.\n<\/li>\n<li>Metadatet. Ne kemi shum\u00eb sh\u00ebrbime, q\u00eb me kalimin e koh\u00ebs ndryshojn\u00eb, ashtu si njer\u00ebzit q\u00eb punojn\u00eb me to. T\u00eb mbash dokumentacionin manualisht p\u00ebrher\u00eb nuk \u00ebsht\u00eb nj\u00eb opsion. Prandaj tani metadata-in integrohen n\u00eb sh\u00ebrbimet tona mikro. Atje \u00ebsht\u00eb shkruar kush e zhvilloi, gjuh\u00ebt me t\u00eb cilat bie n\u00eb kontakt, k\u00ebrkesat p\u00ebr SLA, ku dhe kujt d\u00ebrgohen njoftimet. Kur vendoset sh\u00ebrbimi, t\u00eb gjitha t\u00eb dh\u00ebnat e entitetit krijohen vet\u00eb. Si rezultat, ju merrni dy lidhje - nj\u00eb p\u00ebr triggere, tjetra p\u00ebr dashboardet n\u00eb Grafana.\n<\/li>\n<li>Monitorimi n\u00eb \u00e7do sht\u00ebpi. Ne mendojm\u00eb se nj\u00eb sistem i till\u00eb duhet t\u00eb p\u00ebrdoret nga t\u00eb gjith\u00eb zhvilluesit. N\u00eb k\u00ebt\u00eb rast, ju gjithmon\u00eb kuptoni se ku \u00ebsht\u00eb trafiku juaj, \u00e7far\u00eb po ndodh me t\u00eb, ku po bie, ku jan\u00eb dob\u00ebsit\u00eb e tij. N\u00ebse, p\u00ebr shembull, ndodh di\u00e7ka q\u00eb e mbat\u00eb sh\u00ebrbimin tuaj, do ta m\u00ebsoni at\u00eb jo gjat\u00eb nj\u00eb telefonate nga menaxheri, por nga nj\u00eb alert, dhe menj\u00ebher\u00eb do t\u00eb jeni n\u00eb gjendje t\u00eb hapni log-et e fresk\u00ebta dhe t\u00eb shihni \u00e7far\u00eb ndodhi.\n<\/li>\n<li>Performanc\u00eb e lart\u00eb. Projekti yn\u00eb vazhdon t\u00eb rritet dhe sot p\u00ebrpunon rreth 2,000,000 vlera metrikash n\u00eb minut\u00eb. Nj\u00eb vit m\u00eb par\u00eb, ky tregues ishte 500,000. Dhe rritja vazhdon, dhe kjo do t\u00eb thot\u00eb se pas disa koh\u00ebsh Graphite (whisper) do t\u00eb filloj\u00eb t\u00eb ngarkoj\u00eb shum\u00eb sistemin disk. Si\u00e7 e kam th\u00ebn\u00eb m\u00eb par\u00eb, ky sistem monitorimi \u00ebsht\u00eb shum\u00eb universalisht p\u00ebr shkak t\u00eb nd\u00ebrrueshm\u00ebris\u00eb s\u00eb komponenteve. Disa e sh\u00ebrbejn\u00eb ve\u00e7an\u00ebrisht Graphite dhe vazhdojn\u00eb t\u00eb zgjasin infrastruktur\u00ebn e tyre, por ne vendos\u00ebm t\u00eb shkojm\u00eb n\u00eb nj\u00eb rrug\u00eb tjet\u00ebr: t\u00eb p\u00ebrdorim <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/\">ClickHouse<\/a><\/noindex> si nj\u00eb depo p\u00ebr metrikat tona. Ky kalim \u00ebsht\u00eb gati i p\u00ebrfunduar dhe shum\u00eb shpejt do t'ju tregoj m\u00eb shum\u00eb se si u realizua: cilat ishin v\u00ebshtir\u00ebsit\u00eb dhe si u p\u00ebrballua me to, si kaloi procesi i migrimit, do t\u00eb p\u00ebrshkruaj komponent\u00ebt e zgjedhur si lidhje dhe konfigurimet e tyre. \n<\/li>\n<\/ol>\n<p>\nFaleminderit p\u00ebr v\u00ebmendjen! Ju lutem, b\u00ebni pyetje n\u00eb lidhje me tem\u00ebn, do t\u00eb p\u00ebrpiqem t\u00eb p\u00ebrgjigjem k\u00ebtu ose n\u00eb postimet e ardhshme. Ndoshta disa nga ju kan\u00eb p\u00ebrvoj\u00eb n\u00eb nd\u00ebrtimin e nj\u00eb sistemi monitorimi t\u00eb till\u00eb ose n\u00eb kalimin n\u00eb ClickHouse n\u00eb nj\u00eb situat\u00eb t\u00eb ngjashme - 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.1.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.1.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: nj\u00eb sistem modular p\u00ebr arkitektur\u00ebn e mikrosh\u00ebrbimeve | ProHoster","description":"Sot\u00eb n\u00eb projektin ton\u00eb, p\u00ebrve\u00e7 kodit monolitik, funksionojn\u00eb dhjet\u00ebra mikrosh\u00ebrbime. Secili prej tyre k\u00ebrkon q\u00eb t\u00eb monitorohet. T\u00eb b\u00ebsh k\u00ebt\u00eb n\u00eb k\u00ebto p\u00ebrmasa \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}]}}