{"id":31864,"date":"2019-10-31T21:43:33","date_gmt":"2019-10-31T18:43:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/monitoring-myortv-da-zdravstvuet-monitoring\/"},"modified":"2019-10-31T21:43:33","modified_gmt":"2019-10-31T18:43:33","slug":"monitoring-myortv-da-zdravstvuet-monitoring","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","title":{"rendered":"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi\" src=\"\/wp-content\/uploads\/2019\/04\/13453bb7025a6bf3d1c7a3dc6d038d16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKompania jon\u00eb merret kryesisht me menaxhimin e infrastruktur\u00ebs dhe mb\u00ebshtetje teknike 24\/7 p\u00ebr projektet web q\u00eb nga viti 2008: kemi m\u00eb shum\u00eb se 400 klient\u00eb, duke p\u00ebrfaq\u00ebsuar rreth 15% t\u00eb tregtis\u00eb elektronike n\u00eb Rusi. Prandaj, mb\u00ebshtetja ka nj\u00eb arkitektur\u00eb shum\u00eb t\u00eb larmishme. N\u00ebse di\u00e7ka ndalon s\u00eb funksionuari, ne jemi t\u00eb detyruar ta riparojm\u00eb brenda 15 minutash. Por p\u00ebr t\u00eb kuptuar se ndodhi nj\u00eb aksident, ne duhet t\u00eb monitorojm\u00eb projektin dhe t\u00eb reagojm\u00eb ndaj incidenteve. Si ta b\u00ebjm\u00eb k\u00ebt\u00eb? <\/p>\n<p>Mendoj se n\u00eb organizimin e nj\u00eb sistemi t\u00eb duhur monitorimi ndodhin probleme. N\u00ebse nuk do t\u00eb kishte probleme, fjalimi im do t\u00eb ishte i p\u00ebrb\u00ebr\u00eb nga nj\u00eb th\u00ebnie: \"Ju lutemi, instaloni Prometheus + Grafana dhe shtojcat 1, 2, 3\". Fatkeq\u00ebsisht, tani nuk funksionon k\u00ebshtu. Problemi kryesor \u00ebsht\u00eb se t\u00eb gjith\u00eb vazhdojn\u00eb t\u00eb besojn\u00eb n\u00eb di\u00e7ka q\u00eb ekzistonte n\u00eb vitin 2008, sa i p\u00ebrket komponenteve t\u00eb softuerit. <\/p>\n<p>Sa i p\u00ebrket organizimit t\u00eb sistemit t\u00eb monitorimit, guxoj t\u00eb them se... nuk ekzistojn\u00eb projekte me nj\u00eb monitorim t\u00eb duhur. Situata \u00ebsht\u00eb aq e keqe, saq\u00eb n\u00ebse di\u00e7ka ndalet, ka rrezik q\u00eb kjo t\u00eb mbetet e pap\u00ebrshkruar \u2014 t\u00eb gjith\u00eb besojn\u00eb se \"k\u00ebto gj\u00ebra monitorohen\".<br \/>\nNdoshta, gjith\u00e7ka monitorohet. Por si? <\/p>\n<p>T\u00eb gjith\u00eb ne kemi hasur n\u00eb ndodhi si kjo: punon nj\u00eb devops, nj\u00eb administrator, dhe ekipin e zhvilluesve vjen dhe thot\u00eb \u2014 \"ne u publikuan, tani monitoro\". \u00c7far\u00eb t\u00eb monitorohet? Si funksionon kjo?<\/p>\n<p>Mir\u00eb. Po monitorojm\u00eb n\u00eb m\u00ebnyr\u00ebn e vjet\u00ebr. Por gj\u00ebrat tashm\u00eb po ndryshojn\u00eb, dhe zbulohet se ju keni monitoruar sh\u00ebrbimin A, i cili u b\u00eb sh\u00ebrbimi B, i cili nd\u00ebrvepron me sh\u00ebrbimin C. Por ekipi i zhvilluesve ju thot\u00eb: \"Instalo software-in, ai duhet ta monitoroj\u00eb gjith\u00e7ka!\"<\/p>\n<p>Pra, \u00e7far\u00eb ka ndryshuar? \u2014 Gjith\u00e7ka ka ndryshuar!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Viti 2008. Gjith\u00e7ka ishte n\u00eb rregull.<\/h4>\n<p>\nKa disa zhvillues, nj\u00eb server, nj\u00eb server DB. K\u00ebtu fillon gjith\u00e7ka. Kemi disa informacione, instalojm\u00eb zabbix, Nagios, cacti. Pastaj vendosim alarme t\u00eb qarta p\u00ebr CPU, p\u00ebr pun\u00ebn e hard-disqeve, p\u00ebr hap\u00ebsir\u00ebn n\u00eb disqe. B\u00ebjm\u00eb edhe disa kontrolle manuale, q\u00eb faqja e internetit p\u00ebrgjigjet, q\u00eb porosit\u00eb po kalojn\u00eb n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. Dhe kjo \u00ebsht\u00eb \u2013 jemi m\u00eb shum\u00eb se t\u00eb mbrojtur. <\/p>\n<p>N\u00ebse e krahasojm\u00eb v\u00ebllimin e pun\u00ebs q\u00eb administrator\u00ebt b\u00ebnin p\u00ebr t\u00eb siguruar monitorimin at\u00ebher\u00eb, 98% e saj ishte automatike: personi q\u00eb merrej me monitorimin kishte p\u00ebr detyr\u00eb t\u00eb kuptonte si ta instalonte Zabbix, si ta konfigurationonte dhe si t\u00eb vendoste alarme. Dhe 2% \u2013 p\u00ebr kontrollet e jashtme: q\u00eb faqja e internetit p\u00ebrgjigjet dhe b\u00ebn k\u00ebrkes\u00eb n\u00eb baz\u00eb, q\u00eb porosit\u00eb e reja arrijn\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi\" src=\"\/wp-content\/uploads\/2019\/04\/3563dda4d025fd18200d6410d7d065ed.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>Viti 2010. Rritet ngarkesa.<\/h4>\n<p>\nNisim t\u00eb shkall\u00ebzojm\u00eb web-in, shtojm\u00eb nj\u00eb motor k\u00ebrkimor. Duam t\u00eb jemi t\u00eb sigurt se katalogu i produkteve p\u00ebrmban t\u00eb gjitha produktet. Dhe se k\u00ebrkimi i produkteve funksionon. Q\u00eb baza funksionon, q\u00eb porosit\u00eb po b\u00ebhen, q\u00eb faqja e internetit p\u00ebrgjigjet jasht\u00eb dhe e p\u00ebrgjigjet pa e nxjerr\u00eb p\u00ebrdoruesin nga faqja, derisa t\u00eb ri-balancohet n\u00eb server tjet\u00ebr, etj. Entitetet po b\u00ebhen m\u00eb t\u00eb shumta. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/\"   title=\"servera\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1314\">servera<\/a> P\u00ebr m\u00eb tep\u00ebr, entiteti q\u00eb lidhet me infrastruktur\u00ebn vazhdon t\u00eb mbetet m\u00eb i madhi n\u00eb mendjen e menaxherit. Ideja se personi q\u00eb merret me monitorimin \u00ebsht\u00eb ai q\u00eb do t\u00eb vendos\u00eb zabbix dhe do ta konfiguronte, ende ekziston. <\/p>\n<p>Por n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, shfaqen pun\u00ebt p\u00ebr t\u00eb kryer kontrolle t\u00eb jashtme, p\u00ebr t\u00eb krijuar nj\u00eb grup skriptesh p\u00ebr k\u00ebrkuesin e indeksonit, nj\u00eb grup skriptesh p\u00ebr t\u00eb kontrolluar se di\u00e7ka ndryshon gjat\u00eb procesit t\u00eb indeksonit, nj\u00eb grup skriptesh q\u00eb kontrollojn\u00eb se produket i d\u00ebrgohen sh\u00ebrbimit t\u00eb dor\u00ebzimit, etj.<\/p>\n<p>Vini re: kam shkruar 3 her\u00eb \"grup skriptesh\". Pra, personi p\u00ebrgjegj\u00ebs p\u00ebr monitorimin \u2014 nuk \u00ebsht\u00eb m\u00eb ai q\u00eb thjesht instalon zabbix. Ky \u00ebsht\u00eb nj\u00eb person q\u00eb fillon t\u00eb kodoj\u00eb. Por n\u00eb mendjet e ekipit, ende nuk ka ndryshime.<\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi\" src=\"\/wp-content\/uploads\/2019\/04\/afa94a3156a24a81ab359b430341f27d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor bota po ndryshon, duke u komplikuar gjithnj\u00eb e m\u00eb shum\u00eb. Shtrohen shtresa virtualizimi, disa sisteme t\u00eb reja. Ato fillojn\u00eb t\u00eb nd\u00ebrveprojn\u00eb me nj\u00ebra-tjetr\u00ebn. Kush tha \"ka nj\u00eb pamje t\u00eb mikrosh\u00ebrbimeve?\" Por \u00e7do sh\u00ebrbim duket ende si nj\u00eb faqe interneti e ve\u00e7ant\u00eb. Mund t\u00eb qasemi ndaj tij dhe t\u00eb kuptojm\u00eb se ai jep informacionin e nevojsh\u00ebm dhe funksionon p\u00ebrvet\u00eb. Dhe n\u00ebse je administrator q\u00eb merret vazhdimisht me nj\u00eb projekt q\u00eb po zhvillohet p\u00ebr 5-7-10 vjet, k\u00ebto njohuri grumbullohen: shfaqet nj\u00eb nivel i ri \u2014 e kupton k\u00ebt\u00eb, shfaqet nj\u00eb tjet\u00ebr nivel \u2014 e kupton k\u00ebt\u00eb... <\/p>\n<p>Por rrall\u00eb ndokush mb\u00ebshtet nj\u00eb projekt p\u00ebr 10 vjet. <\/p>\n<p><img decoding=\"async\" alt=\"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi\" src=\"\/wp-content\/uploads\/2019\/04\/3578182594d012732afde7849b75322a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebrmbledhje e monitorimit.<\/p>\n<h3>Supozoni se keni shkuar n\u00eb nj\u00eb startup t\u00eb ri, q\u00eb menj\u00ebher\u00eb u rrit n\u00eb 20 zhvillues, shkruajti 15 mikrosh\u00ebrbime, dhe ju \u2014 jeni nj\u00eb administrator, q\u00eb ju thon\u00eb: \"Nd\u00ebrto CI\/CD. T\u00eb lutem.\" Ju nd\u00ebrtoni CI\/CD dhe papritmas d\u00ebgjoni: \"Na \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb punojm\u00eb me prodhimin n\u00eb kub, duke mos kuptuar se si do t\u00eb funksionoj\u00eb aplikacioni atje. Na b\u00ebni nj\u00eb sandbox n\u00eb t\u00eb nj\u00ebjt\u00ebn kub.\"<\/h3>\n<p>\nSupozoni se erdh\u00ebt n\u00eb nj\u00eb startup t\u00eb ri q\u00eb menj\u00ebher\u00eb mori 20 zhvillues, shkroi 15 mikrosh\u00ebrbime, dhe ju \u2014 administratori, e cila ju thon\u00eb: \"Ndihmona t\u00eb nd\u00ebrtojm\u00eb CI\/CD. T\u00eb fal\u00ebnderojm\u00eb shum\u00eb.\" E nd\u00ebrtuat CI\/CD dhe papritmas d\u00ebgjoni: \"Na duket e v\u00ebshtir\u00eb t\u00eb punojm\u00eb me prodhimin n\u00eb 'kub', pa e kuptuar se si do t\u00eb funksionoj\u00eb aplikacioni atje. Na b\u00ebj nj\u00eb sand Box n\u00eb k\u00ebt\u00eb 'kub' po ashtu.\"<br \/>\n Po krijoni nj\u00eb sandbox n\u00eb k\u00ebt\u00eb kub. Menj\u00ebher\u00eb ju thon\u00eb: \u00abDuam nj\u00eb baz\u00eb t\u00eb dh\u00ebnash stage q\u00eb p\u00ebrdit\u00ebsohet nga prodhimi, q\u00eb t\u00eb kuptojm\u00eb n\u00ebse funksionon me baz\u00ebn e t\u00eb dh\u00ebnave, por pa prishur baz\u00ebn e prodhimit\u00bb.<\/p>\n<p>Ju e jetoni t\u00eb gjith\u00eb k\u00ebt\u00eb. Kan\u00eb mbetur 2 jav\u00eb deri n\u00eb lan\u00e7im, ju thon\u00eb: \u00abTani do t\u00eb ishte mir\u00eb ta monitoronim k\u00ebt\u00eb\u2026\u00bb Dometh\u00ebn\u00eb, t\u00eb monitoroni infrastruktur\u00ebn klasterike, t\u00eb monitoroni arkitektur\u00ebn mikros\u00ebrvices, t\u00eb monitoroni integrimin me sh\u00ebrbimet e jashtme\u2026 <\/p>\n<p>Dhe koleg\u00ebt e nxjerrin nga kokat e tyre nj\u00eb skem\u00eb t\u00eb njohur dhe thon\u00eb: \u00abKtu \u00ebsht\u00eb gjith\u00e7ka e qart\u00eb! Vendos nj\u00eb program q\u00eb ta monitoroj\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb\u00bb. Po po: Prometheus + Grafana + plugins. <br \/>\nDhe shtojn\u00eb: \u00abKe dy jav\u00eb, b\u00ebje q\u00eb gjith\u00e7ka t\u00eb jet\u00eb e sigurt\u00bb.<\/p>\n<p>N\u00eb shum\u00eb projekte q\u00eb shohim, monitorimi i besohet vet\u00ebm nj\u00eb personi. Imagjinoni se duam t\u00eb pun\u00ebsojm\u00eb nj\u00eb person p\u00ebr 2 jav\u00eb q\u00eb do merret me monitorimin, dhe ne po i p\u00ebrgatitim nj\u00eb CV. \u00c7far\u00eb aft\u00ebsish duhet t\u00eb ket\u00eb ky person \u2014 n\u00ebse marrim parasysh gjith\u00e7ka q\u00eb kemi th\u00ebn\u00eb m\u00eb par\u00eb?<\/p>\n<ul>\n<li>Ai duhet t\u00eb kuptoj\u00eb monitorimin dhe specifikat e pun\u00ebs s\u00eb infrastruktur\u00ebs harduerike.<\/li>\n<li>Ai duhet t\u00eb kuptoj\u00eb specifikat e monitorimit t\u00eb Kubernetes (t\u00eb gjith\u00eb duan t\u00eb kalojn\u00eb n\u00eb \u00abkubik\u00bb, sepse mund t\u00eb abstrahohen nga gjith\u00e7ka, t\u00eb fshihen, sepse administratori do t'i gjej\u00eb zgjidhjet p\u00ebr pjes\u00ebt e tjera) \u2014 n\u00eb vetvete, infrastruktur\u00ebn e saj, dhe t\u00eb kuptoj\u00eb se si t\u00eb monitoroj\u00eb aplikacionet brenda saj.<\/li>\n<li>Ai duhet t\u00eb kuptoj\u00eb se sh\u00ebrbimet komunikojn\u00eb me nj\u00ebra-tjetr\u00ebn n\u00eb m\u00ebnyra t\u00eb ve\u00e7anta dhe t\u00eb dij\u00eb specifikat e nd\u00ebrveprimit mes sh\u00ebrbimeve. N\u00eb fakt \u00ebsht\u00eb e mundur t\u00eb shoh\u00ebsh nj\u00eb projekt ku disa sh\u00ebrbime komunikojn\u00eb n\u00eb m\u00ebnyr\u00eb sinkrone, sepse nuk ka asnj\u00eb mund\u00ebsi tjet\u00ebr. P\u00ebr shembull, backend-i p\u00ebrdor REST, autorizohet me gRPC p\u00ebr sh\u00ebrbimin e katalogut, merr list\u00ebn e produkteve dhe e kthen mbrapsht. K\u00ebtu nuk mund t\u00eb pres\u00ebsh. Nd\u00ebrsa me sh\u00ebrbime t\u00eb tjera punon asinkronisht. D\u00ebrgon nj\u00eb porosi te sh\u00ebrbimi i shp\u00ebrndarjes, d\u00ebrgon nj\u00eb email dhe tjer\u00eb.<br \/>\nNdoshta keni humbur n\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb? Dhe administratori, t\u00eb cilit i nevojitet monitorimi, \u00ebsht\u00eb edhe m\u00eb i humbur. <\/li>\n<li>Ai duhet t\u00eb jet\u00eb i aft\u00eb t\u00eb planifikoj\u00eb dhe t\u00eb planifikoj\u00eb sakt\u00eb \u2014 pasi puna po shtohet gjithnj\u00eb e m\u00eb shum\u00eb. <\/li>\n<li>Ai duhet, pra, t\u00eb krijoj\u00eb nj\u00eb strategji nga sh\u00ebrbimi i krijuar p\u00ebr t\u00eb kuptuar se si t\u00eb monitoroj\u00eb konkretisht. I nevojitet nj\u00eb kuptim i arkitektur\u00ebs s\u00eb projektit dhe zhvillimit t\u00eb tij + nj\u00eb kuptim i teknologjive q\u00eb p\u00ebrdoren n\u00eb zhvillim. <\/li>\n<\/ul>\n<p>\nLe t\u00eb kujtojm\u00eb nj\u00eb rast krejt normal: disa sh\u00ebrbime jan\u00eb n\u00eb PHP, disa sh\u00ebrbime n\u00eb Go, disa sh\u00ebrbime n\u00eb JS. Ato punohet disi mes tyre. K\u00ebtu ka lindur termi \u00abmikros\u00ebrvic\u00bb: sistemet e ve\u00e7anta jan\u00eb b\u00ebr\u00eb aq shum\u00eb sa q\u00eb zhvilluesit nuk mund ta kuptojn\u00eb projektin n\u00eb t\u00ebr\u00ebsin\u00eb e tij. Nj\u00eb pjes\u00eb e ekipit shkruan sh\u00ebrbime n\u00eb JS, q\u00eb funksionojn\u00eb vet\u00eb dhe nuk din\u00eb si funkcionihet pjesa tjet\u00ebr e sistemit. Nj\u00eb tjet\u00ebr pjes\u00eb shkruan sh\u00ebrbime n\u00eb Python dhe nuk p\u00ebrzihet me at\u00eb se si punojn\u00eb sh\u00ebrbimet e tjera, ato jan\u00eb t\u00eb izoluara n\u00eb fush\u00ebn e tyre. Nj\u00eb e treta \u2014 shkruan sh\u00ebrbime n\u00eb PHP ose di\u00e7ka tjet\u00ebr. <br \/>\nT\u00eb gjith\u00eb k\u00ebta 20 persona jan\u00eb t\u00eb ndar\u00eb n\u00eb 15 sh\u00ebrbime, dhe ka vet\u00ebm nj\u00eb administrator, i cili duhet ta kuptoj\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb. Ndalo! sapo e kemi ndar\u00eb sistemin n\u00eb 15 mikros\u00ebrvica, sepse 20 njer\u00ebz nuk mund ta kuptojn\u00eb sistemin n\u00eb t\u00ebr\u00ebsi. <\/p>\n<p>Por ndonj\u00ebher\u00eb duhet ta monitorosh at\u00eb\u2026<\/p>\n<p>\u00c7far\u00eb rezultati ka? Rezultati \u00ebsht\u00eb nj\u00eb njeri, q\u00eb n\u00eb mendje ka gjith\u00e7ka q\u00eb nj\u00eb ekip i t\u00ebr\u00eb zhvilluesish nuk mund ta kuptoj\u00eb, dhe p\u00ebr m\u00eb tep\u00ebr ai duhet t\u00eb dij\u00eb dhe t\u00eb jet\u00eb n\u00eb gjendje t\u00eb b\u00ebj\u00eb at\u00eb q\u00eb e kemi p\u00ebrmendur m\u00eb sip\u00ebr \u2014 infrastruktur\u00ebn harduerike, infrastruktur\u00ebn Kubernetes etj.<\/p>\n<p>\u00c7far\u00eb t\u00eb themi\u2026 Hjuston, kemi probleme.<\/p>\n<h3>Monitorimi i nj\u00eb projekti modern softuerik \u2014 \u00ebsht\u00eb vet\u00eb nj\u00eb projekt softuerik.<\/h3>\n<p>\nNga besimi i gabuar se monitorimi \u00ebsht\u00eb softuer, na lind besimi n\u00eb mrekulli. Dhe mrekullit\u00eb, fatkeq\u00ebsisht, nuk ndodhin. Nuk ka kuptim t\u00eb vendos\u00ebsh zabbix dhe t\u00eb pres\u00ebsh q\u00eb gjith\u00e7ka t\u00eb funksionoj\u00eb. Nuk ka kuptim t\u00eb vendos\u00ebsh Grafana dhe t\u00eb shpresosh q\u00eb gjith\u00e7ka do t\u00eb jet\u00eb n\u00eb rregull. Nj\u00eb pjes\u00eb e madhe e koh\u00ebs do t\u00eb shkoj\u00eb p\u00ebr organizimin e kontrolleve t\u00eb pun\u00ebs s\u00eb sh\u00ebrbimeve dhe nd\u00ebrveprimit t\u00eb tyre, kontrollimi i si funksionojn\u00eb sistemet e jashtme. Faktikisht, 90% e koh\u00ebs do t\u00eb shkoj\u00eb jo n\u00eb shkruhen skriptet, por n\u00eb zhvillimin e softuerit. Dhe k\u00ebt\u00eb duhet ta b\u00ebj\u00eb ekipi q\u00eb kupton funksionimin e projektit. <br \/>\nN\u00ebse n\u00eb k\u00ebt\u00eb situat\u00eb nj\u00eb njeri hidhet n\u00eb monitorim, at\u00ebher\u00eb do t\u00eb ndodhi nj\u00eb katastrof\u00eb. \u00c7far\u00eb ndodh gjithandej.<\/p>\n<p>P\u00ebr shembull, ka disa sh\u00ebrbime q\u00eb komunikojn\u00eb mes tyre p\u00ebrmes Kafka. Ka ardhur nj\u00eb porosi, ne e d\u00ebrguam at\u00eb n\u00eb Kafka. Ka nj\u00eb sh\u00ebrbim q\u00eb d\u00ebgjon informacionin mbi porosin\u00eb dhe b\u00ebn d\u00ebrges\u00ebn e produktit. Ka nj\u00eb sh\u00ebrbim q\u00eb d\u00ebgjon informacionin mbi porosin\u00eb dhe i d\u00ebrgon nj\u00eb email p\u00ebrdoruesit. Pastaj shfaqen shum\u00eb sh\u00ebrbime t\u00eb tjera, dhe ne fillojm\u00eb t\u00eb habitemi.<\/p>\n<p>N\u00ebse i jepni k\u00ebt\u00eb administrator\u00ebve dhe zhvilluesve n\u00eb faz\u00ebn kur mbetet pak koh\u00eb deri n\u00eb lan\u00e7im, dikush duhet t\u00eb kuptoj\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb protokoll. Projekti i k\u00ebtij shtrirje k\u00ebrkon koh\u00eb t\u00eb konsiderueshme, dhe kjo duhet t\u00eb jet\u00eb parashikuar n\u00eb zhvillimin e sistemit. <br \/>\nPor shum\u00eb shpesh, ve\u00e7an\u00ebrisht n\u00eb start-up, ne shohim se monitorimi shtyhet p\u00ebr m\u00eb von\u00eb. \"Tani do t\u00eb b\u00ebjm\u00eb Proof of Concept, do t\u00eb fillojm\u00eb me t\u00eb, le t\u00eb bjer\u00eb \u2013 ne jemi t\u00eb gatsh\u00ebm t\u00eb sakrifikojm\u00eb. M\u00eb pas, do ta monitorojm\u00eb gjith\u00e7ka.\" Kur (ose n\u00ebse) projekti fillon t\u00eb sjell\u00eb para, biznesi d\u00ebshiron t\u00eb shtoj\u00eb m\u00eb shum\u00eb funksionalitete \u2014 sepse tani po funksionon, do t\u00eb thot\u00eb se duhet t\u00eb avancojm\u00eb m\u00eb tej! Por ndodheni n\u00eb nj\u00eb pik\u00eb ku fillimisht duhet t\u00eb monitoroni gjith\u00e7ka q\u00eb ka ndodhur m\u00eb par\u00eb, e cila nuk k\u00ebrkon 1% koh\u00eb, por shum\u00eb m\u00eb tep\u00ebr. Dhe p\u00ebr monitorimin e nevojiten zhvillues, nd\u00ebrsa \u00ebsht\u00eb m\u00eb e leht\u00eb t'i drejtojm\u00eb p\u00ebr funksionalitete t\u00eb reja. N\u00eb fund, shkruhen funksionalitete t\u00eb reja, gjith\u00e7ka avancon dhe ju jeni n\u00eb nj\u00eb deadlock t\u00eb pafund.<\/p>\n<p>Si mund t\u00eb monitoroni nj\u00eb projekt duke filluar nga e para, dhe \u00e7far\u00eb duhet t\u00eb b\u00ebni n\u00ebse keni marr\u00eb nj\u00eb projekt q\u00eb duhet t\u00eb monitoroni, por nuk e dini nga t\u00eb filloni?<\/p>\n<p>S\u00eb pari, duhet t\u00eb planifikoni. <\/p>\n<p><i>P\u00ebr nj\u00eb moment lirsh: shpesh fillohet me monitorimin e infrastruktur\u00ebs. P\u00ebr shembull, kemi Kubernetes. Do t\u00eb fillojm\u00eb duke instaluar Prometheus me Grafana, do t\u00eb vendosim plugins p\u00ebr monitorimin e \"kubik\u00ebve\". Jo vet\u00ebm zhvilluesit, por edhe administrator\u00ebt kan\u00eb nj\u00eb praktik\u00eb t\u00eb hidhur: \"Do t\u00eb vendosim k\u00ebt\u00eb plugin, ndoshta ai e di se si ta b\u00ebj\u00eb k\u00ebt\u00eb.\" Njer\u00ebzit duan t\u00eb fillojn\u00eb me di\u00e7ka t\u00eb thjesht\u00eb dhe t\u00eb kuptueshme, jo me veprime t\u00eb r\u00ebnd\u00ebsishme. Dhe monitorimi i infrastruktur\u00ebs \u00ebsht\u00eb i thjesht\u00eb.<\/i><\/p>\n<p>Fillimisht vendosni se \u00e7far\u00eb dhe si doni t\u00eb monitoroni, pastaj zgjidhni mjetin, sepse t\u00eb tjer\u00ebt nuk mund t\u00eb mendojn\u00eb p\u00ebr ju. A duhet? T\u00eb tjer\u00ebt kan\u00eb menduar p\u00ebr veten e tyre, p\u00ebr nj\u00eb sistem universale \u2014 ose madje nuk kan\u00eb menduar fare kur e shkruan k\u00ebt\u00eb plugin. Dhe ajo q\u00eb ky plugin ka 5000 p\u00ebrdorues nuk do t\u00eb thot\u00eb se ai ofron ndihm\u00eb. Ndoshta do t\u00eb jeni 5001-i thjesht sepse deri tani kan\u00eb pasur 5000 njer\u00ebz. <\/p>\n<p>N\u00ebse keni filluar t\u00eb monitoroni infrastruktur\u00ebn dhe backend-i i aplikacionit tuaj ka ndalur p\u00ebrgjigjen, t\u00eb gjith\u00eb p\u00ebrdoruesit do t\u00eb humbin lidhjen me aplikacionin mobil. Nj\u00eb gabim do t\u00eb shfaqet. Ata do t'ju vijn\u00eb dhe do t\u00eb thon\u00eb: \"Aplikacioni nuk funksionon, \u00e7far\u00eb po b\u00ebni k\u00ebtu?\" \u2014 \"Ne po monitorojm\u00eb.\" \u2014 \"Si po monitoroni, n\u00ebse nuk e shihni se aplikacioni nuk funksionon?!\" <\/p>\n<ol>\n<li>Mendoj se duhet t\u00eb filloni t\u00eb monitoroni pik\u00ebrisht nga pika e hyrjes s\u00eb p\u00ebrdoruesit. N\u00ebse p\u00ebrdoruesi nuk sheh se aplikacioni funksionon \u2014 \u00ebsht\u00eb nj\u00eb d\u00ebshtim. Dhe sistemi i monitorimit duhet t\u00eb jap\u00eb alarmin p\u00ebr k\u00ebt\u00eb n\u00eb radh\u00eb t\u00eb par\u00eb. <\/li>\n<li>Dhe vet\u00ebm m\u00eb pas mund t\u00eb fillojm\u00eb t\u00eb monitorojm\u00eb infrastruktur\u00ebn. Ose ta b\u00ebjm\u00eb k\u00ebt\u00eb paralelisht. Me infrastruktur\u00ebn \u00ebsht\u00eb m\u00eb e leht\u00eb \u2014 k\u00ebtu p\u00ebrfundimisht mund t\u00eb vendosim vet\u00ebm zabbix. <\/li>\n<li>Dhe tani duhet t\u00eb shkojm\u00eb n\u00eb thelbin e aplikacionit p\u00ebr t\u00eb kuptuar se ku gj\u00ebrat nuk funksionojn\u00eb.<\/li>\n<\/ol>\n<p>\nIden\u00eb time kryesore \u00ebsht\u00eb se monitorimi duhet t\u00eb shkoj\u00eb paralelisht me procesin e zhvillimit. N\u00ebse e shk\u00ebputni ekipin e monitorimit p\u00ebr detyra t\u00eb tjera (krijimi i CI\/CD, sandbox, organizimi i infrastruktur\u00ebs), monitorimi do t\u00eb filloj\u00eb t\u00eb vonohet dhe ndoshta kurr\u00eb nuk do e arrini zhvillimin (ose m\u00eb her\u00ebt ose m\u00eb von\u00eb do t\u00eb duhet ta ndaloni at\u00eb).<\/p>\n<h3>T\u00eb gjitha n\u00eb nivele<\/h3>\n<p>\nJa si e shoh organizimin e sistemit t\u00eb monitorimit.<\/p>\n<p>1) Niveli i aplikacionit:<\/p>\n<ul>\n<li>monitorimi i logjik\u00ebs biznesore t\u00eb aplikacionit;<\/li>\n<li>monitorimi i metrikave sh\u00ebndet\u00ebsore t\u00eb sh\u00ebrbimeve;<\/li>\n<li>monitorimi i integrimit.<\/li>\n<\/ul>\n<p>\n2) Niveli i infrastruktur\u00ebs:<\/p>\n<ul>\n<li>monitorimi i nivelit t\u00eb orkestrimit;<\/li>\n<li>monitorimi i sistemeve operativ;<\/li>\n<li>monitorimi i nivelit \"hardueri\".<\/li>\n<\/ul>\n<p>\n3) Prap\u00eb niveli i aplikacionit \u2014 por tashm\u00eb si produkt inxhinierik:<\/p>\n<ul>\n<li>marrja dhe v\u00ebzhgimi i regjistrave t\u00eb aplikacionit;<\/li>\n<li>APM;<\/li>\n<li>tracing.<\/li>\n<\/ul>\n<p>\n4) Alarmin:<\/p>\n<ul>\n<li>organizimi i sistemit t\u00eb njoftimeve;<\/li>\n<li>organizimi i sistemit t\u00eb turneve;<\/li>\n<li>organizimi i \"baz\u00ebs s\u00eb njohurive\" dhe flukset e pun\u00ebs p\u00ebr trajtimin e incidenteve.<\/li>\n<\/ul>\n<p>\n<b>E r\u00ebnd\u00ebsishme<\/b>: arrijm\u00eb te alarmin jo pasi, por menj\u00ebher\u00eb! Nuk ka nevoj\u00eb t\u00eb nisni monitorimin dhe \"si t\u00eb jet\u00eb m\u00eb von\u00eb\" t\u00eb mendoni se kujt do t'i shkojn\u00eb alarmin. Sepse cila \u00ebsht\u00eb detyra e monitorimit: t\u00eb kuptoni se ku di\u00e7ka nuk funksionon n\u00eb sistem dhe t'i njoftoni njer\u00ebzit e nevojsh\u00ebm. N\u00ebse e lini p\u00ebr n\u00eb fund, njer\u00ebzit e nevojsh\u00ebm do t\u00eb m\u00ebsojn\u00eb q\u00eb di\u00e7ka nuk shkon mir\u00eb vet\u00ebm n\u00ebp\u00ebrmjet telefonat\u00ebs \"nuk funksionon asgj\u00eb\".<\/p>\n<h3>Niveli i aplikacionit \u2014 monitorimi i logjik\u00ebs biznesore<\/h3>\n<p>\nK\u00ebtu flitet p\u00ebr kontrollet e vet\u00eb faktit q\u00eb aplikacioni funksionon p\u00ebr p\u00ebrdoruesin.<\/p>\n<p>Ky nivel duhet t\u00eb b\u00ebhet n\u00eb faz\u00ebn e zhvillimit. P\u00ebr shembull, kemi nj\u00eb Prometheus t\u00eb kusht\u00ebzuar: ai shkon te serveri q\u00eb merret me kontrollet, godet endpoint-in, dhe endpoint-i shkon dhe kontrollon API.<\/p>\n<p>Kur k\u00ebrkohet shpesh t\u00eb monitorohet faqja kryesore p\u00ebr t\u00eb siguruar q\u00eb faqja e internetit po funksionon, programuesit japin nj\u00eb buton q\u00eb mund t\u00eb t\u00ebrhiqet \u00e7do her\u00eb q\u00eb \u00ebsht\u00eb e nevojshme t\u00eb siguroheni q\u00eb API po funksionon. Nd\u00ebrkoh\u00eb, programuesit gjithashtu e shkruajn\u00eb \/api\/test\/helloworld <br \/>\nNj\u00eb m\u00ebnyr\u00eb e vetme p\u00ebr t\u00eb siguruar q\u00eb \u00e7do gj\u00eb funksionon? \u2014 Jo!<\/p>\n<ul>\n<li>Krijimi i kontrolleve t\u00eb tilla \u00ebsht\u00eb n\u00eb thelb nj\u00eb detyr\u00eb p\u00ebr zhvilluesit. Testet e nj\u00ebsive duhet t'i shkruajn\u00eb programuesit q\u00eb shkruajn\u00eb kod. Sepse, n\u00ebse ia jepni k\u00ebt\u00eb nj\u00eb administratori \"O burra, k\u00ebtu ke nj\u00eb list\u00eb protokollesh t\u00eb API-s\u00eb p\u00ebr t\u00eb gjitha 25 funksionet, t\u00eb lutem monitoro t\u00eb gjitha!\" \u2014 nuk do t\u00eb dal\u00eb asgj\u00eb. <\/li>\n<li>N\u00ebse b\u00ebni print \"hello world\", askush nuk do ta dij\u00eb kurr\u00eb q\u00eb API duhet dhe n\u00eb t\u00eb v\u00ebrtet\u00eb funksionon. \u00c7do ndryshim n\u00eb API duhet t\u00eb t\u00ebrheq\u00eb pas vetes nj\u00eb ndryshim n\u00eb kontrollet. <\/li>\n<li>N\u00ebse keni nj\u00eb problem t\u00eb till\u00eb - ndaloni funksionalitetet dhe caktoni zhvilluesit q\u00eb t\u00eb shkruajn\u00eb k\u00ebto kontrole, ose pranojeni humbjen, pranoni q\u00eb asgj\u00eb nuk kontrollohet dhe do t\u00eb bjer\u00eb.<\/li>\n<\/ul>\n<p>\nK\u00ebshilla teknike:<\/p>\n<ul>\n<li>Sigurohuni q\u00eb t\u00eb organizoni nj\u00eb server t\u00eb jasht\u00ebm p\u00ebr t\u00eb kryer kontrollet \u2014 duhet t\u00eb jeni t\u00eb sigurt q\u00eb projekti juaj \u00ebsht\u00eb i aksesuesh\u00ebm p\u00ebr bot\u00ebn e jashtme.<\/li>\n<li>Organizoni kontrollet p\u00ebr t\u00eb gjith\u00eb protokollin e API-s\u00eb dhe jo vet\u00ebm p\u00ebr endpoint-et e ve\u00e7anta.<\/li>\n<li>Krijoni nj\u00eb endpoint prometheus me rezultatet e kontrolleve.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveli i aplikacionit \u2014 monitorimi i metrikave sh\u00ebndet\u00ebsore<\/h3>\n<p>\nTani b\u00ebhet fjal\u00eb p\u00ebr metrike sh\u00ebndet\u00ebsore t\u00eb jashtme t\u00eb sh\u00ebrbimeve. <\/p>\n<p>Ne vendos\u00ebm q\u00eb t\u00eb monitorojm\u00eb t\u00eb gjitha \u201cbutonat\u201d e aplikacionit p\u00ebrmes kontrolleve t\u00eb jashtme q\u00eb i th\u00ebrrasim nga nj\u00eb sistem monitorimi t\u00eb jasht\u00ebm. Por k\u00ebto jan\u00eb pik\u00ebrisht \u201cbutonat\u201d q\u00eb i sheh p\u00ebrdoruesi. Ne d\u00ebshirojm\u00eb t\u00eb jemi t\u00eb sigurt q\u00eb sh\u00ebrbimet tona funksionojn\u00eb. K\u00ebtu gj\u00ebrat jan\u00eb m\u00eb t\u00eb mira: n\u00eb K8s ka kontrolla sh\u00ebndet\u00ebsore, q\u00eb t\u00eb pakt\u00ebn vet\u00eb \u201ckubiku\u201d t\u00eb sigurohet q\u00eb sh\u00ebrbimi funksionon. Por gjysma e kontrollave q\u00eb kam par\u00eb jan\u00eb po ai print \u201chello world\u201d. Dometh\u00ebn\u00eb, ai e th\u00ebrret nj\u00eb her\u00eb pas implementimit, ai iu p\u00ebrgjigj se gjith\u00e7ka \u00ebsht\u00eb mir\u00eb \u2014 dhe ka mbaruar. Nd\u00ebrsa nj\u00eb sh\u00ebrbim, n\u00ebse ai jep API-n\u00eb e tij me rest, ka nj\u00eb num\u00ebr t\u00eb madh pikash hyrjeje t\u00eb atij API, q\u00eb gjithashtu duhet t\u00eb monitorohet, sepse d\u00ebshirojm\u00eb t\u00eb dim\u00eb q\u00eb ai funksionon. Dhe ne e monitorojm\u00eb at\u00eb brenda. <\/p>\n<p>Si ta implementoni k\u00ebt\u00eb teknikisht: \u00e7do sh\u00ebrbim ekspozon nj\u00eb endpoint n\u00eb lidhje me funksionimin e tij aktual, dhe n\u00eb grafik\u00ebt e Grafana (apo ndonj\u00eb aplikacion tjet\u00ebr) ne shohim statusin e t\u00eb gjith\u00eb sh\u00ebrbimeve.<\/p>\n<ul>\n<li>\u00c7do ndryshim n\u00eb API duhet t\u00eb t\u00ebrheq\u00eb nj\u00eb ndryshim n\u00eb kontrollet. <\/li>\n<li>Krijoni sh\u00ebrbime t\u00eb reja menj\u00ebher\u00eb me metrikat sh\u00ebndet\u00ebsore.<\/li>\n<li>Administratori mund t\u00eb shkoj\u00eb te zhvilluesit dhe t\u00eb k\u00ebrkoj\u00eb \"shtoni disa funksionalitete, q\u00eb ta kuptoj dhe ta shtoj informacionin n\u00eb sistemin tim t\u00eb monitorimit.\" Por zhvilluesit zakonisht p\u00ebrgjigjen \"Ne nuk do t\u00eb shtojm\u00eb asgj\u00eb dy jav\u00eb para lansimit.\"<br \/>\nL\u00ebreni menaxher\u00ebt e zhvillimit t\u00eb din\u00eb q\u00eb do t\u00eb ket\u00eb humbje t\u00eb tilla, l\u00ebreni edhe menaxhmentin e menaxher\u00ebve t\u00eb zhvillimit t\u00eb dij\u00eb. Sepse, kur gjith\u00e7ka t\u00eb bjer\u00eb, dikush do t\u00eb telefonoj\u00eb dhe do t\u00eb k\u00ebrkoj\u00eb t\u00eb monitoroj\u00eb \"sh\u00ebrbimin q\u00eb vazhdon t\u00eb bjer\u00eb\" (c) <\/li>\n<li>Tani, caktoni zhvilluesit p\u00ebr t\u00eb shkruar plugina p\u00ebr Grafana \u2014 kjo do t\u00eb jet\u00eb nj\u00eb ndihm\u00eb e mir\u00eb p\u00ebr administrator\u00ebt.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveli i aplikacionit \u2014 Monitorimi i integrimit<\/h3>\n<p>\nMonitorimi i integrimit p\u00ebrqendrohet n\u00eb monitorimin e komunikimit midis sistemeve kritik p\u00ebr biznesin.<\/p>\n<p>P\u00ebr shembull, ka 15 sh\u00ebrbime q\u00eb komunikojn\u00eb midis tyre. K\u00ebto nuk jan\u00eb m\u00eb faqe t\u00eb ve\u00e7anta. Dometh\u00ebn\u00eb, ne nuk mund t\u00eb th\u00ebrrasim sh\u00ebrbimin vet\u00eb, t\u00eb marrim \/helloworld dhe t\u00eb kuptojm\u00eb se sh\u00ebrbimi funksionon. Sepse sh\u00ebrbimi i \u00e7do porosie duhet t\u00eb d\u00ebrgoj\u00eb informacionin p\u00ebr porosin\u00eb n\u00eb nj\u00eb autobus \u2014 nga autobusi sh\u00ebrbimi i magazin\u00ebs duhet t\u00eb marr\u00eb k\u00ebt\u00eb mesazh dhe t\u00eb punoj\u00eb me t\u00eb m\u00eb tej. Dhe sh\u00ebrbimi i d\u00ebrgimit t\u00eb email-eve duhet ta p\u00ebrpunoj\u00eb k\u00ebt\u00eb ndonj\u00eb m\u00ebnyr\u00eb tjet\u00ebr, etj. <\/p>\n<p>Prandaj, ne nuk mund t\u00eb kuptojm\u00eb, duke u goditur n\u00eb \u00e7do sh\u00ebrbim t\u00eb ve\u00e7ant\u00eb, se gjith\u00e7ka funksionon. Sepse ne kemi nj\u00eb autobus, p\u00ebrmes t\u00eb cilit t\u00eb gjitha komunikojn\u00eb dhe bashk\u00ebveprojn\u00eb.<br \/>\nK\u00ebshtu, ky hap duhet t\u00eb sh\u00ebnoj\u00eb faz\u00ebn e testimit t\u00eb sh\u00ebrbimeve p\u00ebr nd\u00ebrveprimin me sh\u00ebrbime t\u00eb tjer\u00eb. Nuk mund t\u00eb monitorojm\u00eb komunikimin vet\u00ebm nga monitorimi i brokerit t\u00eb mesazheve. N\u00ebse ka nj\u00eb sh\u00ebrbim q\u00eb jep t\u00eb dh\u00ebna, dhe nj\u00eb sh\u00ebrbim q\u00eb i merr ato, gjat\u00eb monitorimit t\u00eb brokerit do t\u00eb shohim vet\u00ebm t\u00eb dh\u00ebnat q\u00eb fluturojn\u00eb nga nj\u00ebra an\u00eb n\u00eb tjetr\u00ebn. N\u00ebse ndonj\u00ebher\u00eb arrit\u00ebm t\u00eb monitorojm\u00eb nd\u00ebrveprimin e k\u00ebtyre t\u00eb dh\u00ebnave brenda \u2014 q\u00eb nj\u00eb prodhues poston t\u00eb dh\u00ebna, dikush i lexon ato, ky rrjedh\u00eb vazhdon n\u00eb Kafka \u2014 kjo gjithsesi nuk do t\u00eb na jap\u00eb informacion n\u00ebse nj\u00eb sh\u00ebrbim d\u00ebrgoi nj\u00eb mesazh n\u00eb nj\u00eb version, nd\u00ebrsa sh\u00ebrbimi tjet\u00ebr nuk e priste at\u00eb version dhe e kaloi at\u00eb. Ne nuk do ta m\u00ebsojm\u00eb k\u00ebt\u00eb, pasi sh\u00ebrbimet do t\u00eb na thon\u00eb se gjith\u00e7ka funksionon. <\/p>\n<p>K\u00ebshtu rekomandoj ta b\u00ebni:<\/p>\n<ul>\n<li>P\u00ebr komunikim sinkron: endpoint-i b\u00ebn k\u00ebrkesa ndaj sh\u00ebrbimeve t\u00eb lidhura. Pra, ne marrim k\u00ebt\u00eb endpoint dhe aktivizojm\u00eb nj\u00eb skript brenda sh\u00ebrbimit, i cili kalon n\u00ebp\u00ebr t\u00eb gjitha pikat dhe thot\u00eb \u2018mund t\u00eb veproj k\u00ebtu, dhe k\u00ebtu gjithashtu, mund t\u00eb veproj aty...\u2019<\/li>\n<li>P\u00ebr komunikim asinkron: mesazhet e ardhshme \u2014 endpoint-i kontrollon autobusin p\u00ebr mesazhe provuese dhe jep statusin e p\u00ebrpunimit. <\/li>\n<li>P\u00ebr komunikim asinkron: mesazhet e dalshme \u2014 endpoint-i d\u00ebrgon mesazhe provuese n\u00eb autobus.<\/li>\n<\/ul>\n<p>\nSi zakonisht ndodh: ne kemi nj\u00eb sh\u00ebrbim q\u00eb d\u00ebrgon t\u00eb dh\u00ebna n\u00eb autobus. Ne shkojm\u00eb n\u00eb k\u00ebt\u00eb sh\u00ebrbim dhe k\u00ebrkojm\u00eb q\u00eb t\u00eb flas\u00eb rreth sh\u00ebndetit t\u00eb tij integrues. Dhe n\u00ebse sh\u00ebrbimi duhet t\u00eb d\u00ebrgoj\u00eb ndonj\u00eb mesazh diku tjet\u00ebr (WebApp), at\u00ebher\u00eb ai e prodhon at\u00eb mesazh provues. N\u00ebse ne t\u00ebrheqim sh\u00ebrbimin nga ana e OrderProcessing, ai fillimisht poston at\u00eb q\u00eb mund t\u00eb postoj\u00eb t\u00eb pavarur, dhe n\u00ebse ka ndonj\u00eb gj\u00eb t\u00eb varur \u2014 ai lexon nga autobusi nj\u00eb grup mesazhesh provuese, kupton se \u00e7far\u00eb mund t\u00eb p\u00ebrpunoj\u00eb, e njofton k\u00ebt\u00eb dhe, n\u00ebse \u00ebsht\u00eb e nevojshme, poston ato m\u00eb tej, dhe p\u00ebr k\u00ebt\u00eb thot\u00eb \u2014 gjith\u00e7ka \u00ebsht\u00eb ok, jam n\u00eb jet\u00eb. <\/p>\n<p>Shum\u00eb shpesh ne d\u00ebgjojm\u00eb pyetjen \u201csi mund ta testojm\u00eb k\u00ebt\u00eb me t\u00eb dh\u00ebnat reale?\u201d P\u00ebr shembull, \u00ebsht\u00eb fjala p\u00ebr sh\u00ebrbimin e porosive. Porosia d\u00ebrgon mesazhe n\u00eb magazin\u00eb, ku produktet hiqen: ne nuk mund ta testojm\u00eb k\u00ebt\u00eb me t\u00eb dh\u00ebna reale, sepse \u2018prodhat do t\u00eb hiqen!\u2019 \u00c7elja: n\u00eb faz\u00ebn fillestare planifikoni t\u00eb gjith\u00eb k\u00ebt\u00eb test. Ju keni teste unitare, t\u00eb cilat b\u00ebjn\u00eb mock-e. Pra, b\u00ebni k\u00ebt\u00eb n\u00eb nj\u00eb nivel m\u00eb t\u00eb thell\u00eb, ku do t\u00eb kaloj\u00eb kanali i komunikimit, i cili nuk do t\u00eb d\u00ebmtoj\u00eb funksionimin e biznesit. <\/p>\n<h3>Niveli i infrastruktures<\/h3>\n<p>\nMonitorimi i infrastruktur\u00ebs \u00ebsht\u00eb di\u00e7ka q\u00eb prej koh\u00ebsh konsiderohet si vet\u00eb monitorim. <\/p>\n<ul>\n<li>Monitorimi i infrastruktur\u00ebs mund dhe duhet t\u00eb nis\u00eb si nj\u00eb proces i ve\u00e7ant\u00eb.<\/li>\n<li>Nuk duhet t\u00eb filloni me monitorimin e infrastruktur\u00ebs n\u00eb nj\u00eb projekt n\u00eb funksionim, edhe n\u00ebse d\u00ebshira \u00ebsht\u00eb e madhe. Kjo \u00ebsht\u00eb nj\u00eb problematik\u00eb p\u00ebr t\u00eb gjith\u00eb devops-at. \u2018Fillimisht do t\u00eb monitoroj klasterin, do t\u2019i monitoroj infrastruktur\u00ebn\u2019 \u2013 pra, fillimisht do t\u00eb monitoroj at\u00eb q\u00eb \u00ebsht\u00eb n\u00eb fund, dhe nuk do t\u00eb merret me aplikacionin. Sepse aplikacioni \u00ebsht\u00eb nj\u00eb gj\u00eb e paqart\u00eb p\u00ebr devops-in. Atij iu dha dhe ai nuk kupton se si funksionon. Por infrastruktura e kupton dhe fillon me t\u00eb. Por jo \u2014 gjithmon\u00eb duhet t\u00eb monitoroni aplikacionin n\u00eb fillim. <\/li>\n<li>Mos e teproni me numrin e njoftimeve. Duke pasur parasysh kompleksitetin e sistemeve moderne, alertrat arrijn\u00eb vazhdimisht, dhe k\u00ebsaj grumbull t\u00eb alertrave duhet t\u2019i b\u00ebni ball\u00eb ndryshe. Dhe personi on-call, duke par\u00eb nj\u00ebqind alertra t\u00eb tjera, do t\u00eb vendos\u00eb \u2018nuk dua t\u00eb mendoj p\u00ebr k\u00ebt\u00eb\u2019. Alertrat duhet t\u00eb paralajm\u00ebrojn\u00eb vet\u00ebm p\u00ebr gj\u00ebra kritike. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveli i aplikacionit si nj\u00eb nj\u00ebsi biznesi<\/h3>\n<p>\nPikat ky\u00e7e:<\/p>\n<ul>\n<li>ELK. Ky \u00ebsht\u00eb standardi industrial. N\u00ebse p\u00ebr shkak t\u00eb ndonj\u00eb arsyeje nuk po agregoni loge, filloni menj\u00ebher\u00eb t\u00eb b\u00ebni k\u00ebt\u00eb.<\/li>\n<li>APM. APM-t\u00eb e jashtme si nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb mbyllur shpejt monitorimin e aplikacionit (NewRelic, BlackFire, Datadog). Mund t\u00eb vendosni p\u00ebrkoh\u00ebsisht k\u00ebt\u00eb gj\u00eb, p\u00ebr t\u00eb kuptuar se \u00e7far\u00eb ndodh. <\/li>\n<li>Tracing. N\u00eb dhjet\u00ebra mikrosh\u00ebrbime duhet t\u00eb b\u00ebni tracing gjith\u00e7ka, sepse k\u00ebrkesa nuk jeton m\u00eb vetvetiu. T\u00eb shkruani m\u00eb von\u00eb \u00ebsht\u00eb shum\u00eb e komplikuar, prandaj \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb planifikoni tracing-in gjat\u00eb zhvillimit \u2014 kjo \u00ebsht\u00eb pun\u00eb dhe nj\u00eb utilitar p\u00ebr zhvilluesit. N\u00ebse nuk e keni implementuar akoma \u2013 implementoni! Shihni Jaeger\/Zipkin<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alerte<\/h3>\n<p><\/p>\n<ul>\n<li>Organizimi i sistemit t\u00eb njoftimeve: n\u00eb kushtet e monitorimit t\u00eb shum\u00eb gj\u00ebrave, duhet t\u00eb ket\u00eb nj\u00eb sistem t\u00eb vet\u00ebm p\u00ebr shp\u00ebrndarjen e njoftimeve. Mund t\u00eb jet\u00eb n\u00eb Grafana. N\u00eb Per\u00ebndim, t\u00eb gjith\u00eb p\u00ebrdorin PagerDuty. Njoftimet duhet t\u00eb jen\u00eb t\u00eb kuptueshme (p\u00ebr shembull, nga e kuptuan\u2026). Dhe \u00ebsht\u00eb e d\u00ebshirueshme t\u00eb kontrolloni q\u00eb njoftimet t\u00eb arrijn\u00eb fare. <\/li>\n<li>Organizimi i sistemit t\u00eb kujdestarive: alertrat nuk duhet t\u2019i vijn\u00eb t\u00eb gjith\u00ebve (ose do t\u00eb reagojn\u00eb t\u00eb gjith\u00eb nj\u00ebkoh\u00ebsisht, ose askush nuk do t\u00eb reagoj\u00eb). Personat on-call duhet t\u00eb jen\u00eb edhe zhvillues: duhet patjet\u00ebr t\u00eb p\u00ebrcaktoni zonat e p\u00ebrgjegj\u00ebsis\u00eb, t\u00eb b\u00ebni nj\u00eb udh\u00ebzim t\u00eb qart\u00eb dhe ta p\u00ebrcaktoni se kujt konkretisht t\u2019i telefononi t\u00eb h\u00ebn\u00ebn dhe t\u00eb m\u00ebrkur\u00ebn, dhe kujt \u2014 t\u00eb mart\u00ebn dhe t\u00eb premten (ndryshe nuk do t\u2019i telefonojn\u00eb askujt madje n\u00eb rast t\u00eb nj\u00eb fatkeq\u00ebsie t\u00eb madhe \u2014 do t\u00eb ken\u00eb frik\u00eb t\u00eb zgjojn\u00eb, t\u00eb shqet\u00ebsojn\u00eb: njer\u00ebzit n\u00eb p\u00ebrgjith\u00ebsi nuk e duan q\u00eb t\u2019i telefonosh dhe t\u2019i zgjojsh t\u00eb tjer\u00ebt, ve\u00e7an\u00ebrisht nat\u00ebn). Dhe shpjegoni se k\u00ebrkimi p\u00ebr ndihm\u00eb nuk \u00ebsht\u00eb tregues i paaft\u00ebsis\u00eb (\u2018po k\u00ebrkoj ndihm\u00eb \u2014 dmth jam punonj\u00ebs i keq\u2019), inkurajoni k\u00ebrkesat p\u00ebr ndihm\u00eb.<\/li>\n<li>Organizimi i \u2018baz\u00ebs s\u00eb njohurive\u2019 dhe rrjedh\u00ebs s\u00eb p\u00ebrpunimit t\u00eb incidenteve: p\u00ebr \u00e7do incident serioz duhet planifikuar nj\u00eb postmortem, si nj\u00eb mas\u00eb p\u00ebrkoh\u00ebsore duhet regjistruar veprimet q\u00eb do t\u00eb zgjidhnin incidentin. Dhe vendosni praktik\u00ebn q\u00eb alertrat e p\u00ebrs\u00ebritura jan\u00eb m\u00ebkat; ato duhet t\u00eb rregullohen n\u00eb kodin ose n\u00eb pun\u00ebt infrastrukturor. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Stoku teknologjik<\/h3>\n<p>\nLe t\u00eb imagjinojm\u00eb se staku yn\u00eb \u00ebsht\u00eb si m\u00eb posht\u00eb: <\/p>\n<ul>\n<li>mbledhja e t\u00eb dh\u00ebnave \u2014 Prometheus + Grafana;<\/li>\n<li>analiza e logeve \u2014 ELK;<\/li>\n<li>p\u00ebr APM ose Tracing \u2014 Jaeger (Zipkin).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Monitorimi i vdekur? \u2014 Rroft\u00eb monitorimi\" src=\"\/wp-content\/uploads\/2019\/04\/af26d3c0ba781cd856d220515788b5eb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZgjedhja e opsioneve nuk \u00ebsht\u00eb kritike. Sepse, n\u00ebse n\u00eb fillim keni kuptuar si ta monitoroni sistemin dhe keni p\u00ebrgatitur nj\u00eb plan, at\u00ebher\u00eb filloni t\u00eb zgjidhni mjetet sipas k\u00ebrkesave tuaja. Pyetja \u00ebsht\u00eb se \u00e7far\u00eb vendosni t\u00eb monitoroni fillimisht. Sepse ndoshta, mjeti q\u00eb keni zgjedhur n\u00eb fillim \u2014 nuk i p\u00ebrshtatet aspak k\u00ebrkesave tuaja. <\/p>\n<p>Disa \u00e7\u00ebshtje teknike q\u00eb i shoh n\u00eb \u00e7do vend s\u00eb fundmi:<\/p>\n<p><i>Prometheus po futet brenda Kubernetes \u2014 kush e shpiku k\u00ebt\u00eb?!<\/i> N\u00ebse klasteri juaj bie, \u00e7far\u00eb do b\u00ebni? N\u00ebse keni nj\u00eb klaster t\u00eb komplikuar brenda, duhet t\u00eb ket\u00eb nj\u00eb sistem monitorimi brenda klasterit, dhe nj\u00eb \u2014 jasht\u00eb, i cili do t\u00eb mbledh\u00eb t\u00eb dh\u00ebna nga brenda klasterit. <\/p>\n<p><i>Brenda klasterit ne mbledhim loge dhe gjith\u00e7ka tjet\u00ebr.<\/i> Por sistemi i monitorimit duhet t\u00eb jet\u00eb jasht\u00eb. Shum\u00eb shpesh n\u00eb klasterat, ku ka Prometheus t\u00eb instaluar brenda, ka gjithashtu sisteme q\u00eb b\u00ebjn\u00eb kontrolle t\u00eb jashtme t\u00eb funksionimit t\u00eb faqes. Po \u00e7far\u00eb ndodh n\u00ebse lidhjet me bot\u00ebn jasht kan\u00eb r\u00ebn\u00eb dhe aplikacioni nuk funksionon? Pra, brenda gjith\u00e7ka \u00ebsht\u00eb mir\u00eb, por p\u00ebr p\u00ebrdoruesit nuk \u00ebsht\u00eb m\u00eb e leht\u00eb.<\/p>\n<h3>P\u00ebrfundimet<\/h3>\n<p><\/p>\n<ul>\n<li>Zhvillimi i monitorimit \u2014 nuk \u00ebsht\u00eb instalimi i utilitareve, por zhvillimi i nj\u00eb produkti programor. 98% e monitorimit sot \u2014 \u00ebsht\u00eb kodim. Kodim n\u00eb sh\u00ebrbime, kodim kontrollesh t\u00eb jashtme, kontrolli i sh\u00ebrbimeve t\u00eb jashtme, dhe gjith\u00e7ka tjet\u00ebr. <\/li>\n<li>Mos e kurseni koh\u00ebn e zhvilluesve p\u00ebr monitorimin: kjo mund t\u00eb marr\u00eb deri n\u00eb 30% t\u00eb pun\u00ebs s\u00eb tyre, por ia vlen.<\/li>\n<li>DevOps, mos u shqet\u00ebsoni n\u00ebse nuk arrini t\u00eb monitoroni di\u00e7ka, sepse disa gj\u00ebra \u2014 jan\u00eb nj\u00eb mend\u00ebsi krejt tjet\u00ebr. Ju nuk keni qen\u00eb programues, dhe puna e monitorimit \u2014 \u00ebsht\u00eb pik\u00ebrisht puna e tyre.<\/li>\n<li>N\u00ebse projekti tashm\u00eb funksionon dhe nuk \u00ebsht\u00eb monitoruar (dhe ju jeni menaxher) \u2014 sigurohuni q\u00eb t\u00eb keni burime p\u00ebr monitorimin.<\/li>\n<li>N\u00ebse produkti \u00ebsht\u00eb tashm\u00eb n\u00eb prodhim dhe ju jeni devops-i q\u00eb iu tha \u2018t\u00eb konfiguroni monitorimin\u2019 \u2014 p\u00ebrpiquni t\u00eb shpjegoni drejtuesve at\u00eb q\u00eb kam shkruar t\u00eb gjith\u00eb k\u00ebt\u00eb.<\/li>\n<\/ul>\n<p>\n<i>Kjo \u00ebsht\u00eb nj\u00eb version i zgjeruar i nj\u00eb referati n\u00eb konferenc\u00ebn Saint Highload++.<\/i><\/p>\n<p>N\u00ebse jeni t\u00eb interesuar p\u00ebr idet\u00eb dhe reflektimet e mia n\u00eb temat IT dhe p\u00ebraf\u00ebr tyre, at\u00ebher\u00eb mund t\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/eapotapov_channel\">lexoni kanalin <\/a><\/noindex>\ud83d\ude42<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/448602\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31864","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=\"\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b.\" \/>\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-myortv-da-zdravstvuet-monitoring\" \/>\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 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\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-31T18:43:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:43:33+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 i vdekur? \u2014 Rroft\u00eb monitorimi | ProHoster","description":"Kompania jon\u00eb, q\u00eb nga viti 2008, merret kryesisht me menaxhimin e infrastrukturave dhe mb\u00ebshtetje teknike 24\/7 p\u00ebr projekte web: kemi m\u00eb shum\u00eb se 400 klient\u00eb, kjo p\u00ebrb\u00ebn rreth 15% t\u00eb tregtis\u00eb elektronike n\u00eb Rusi. Prandaj, n\u00eb mb\u00ebshtetje ka nj\u00eb arkitektur\u00eb shum\u00eb t\u00eb larmishme. N\u00ebse di\u00e7ka bie, ne jemi t\u00eb detyruar ta riparojm\u00eb brenda 15 minutash. Por p\u00ebr t\u00eb kuptuar q\u00eb ka ndodhur nj\u00eb aksident, duhet t\u00eb monitoroni projektin dhe t\u00eb reagoni ndaj incidenteve.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster","og:description":"\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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-31T18:43:33+00:00","article:modified_time":"2019-10-31T18:43:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31864","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-02-09 17:01:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:09:27","updated":"2026-02-09 17:01:09","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\/31864","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=31864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/31864\/revisions"}],"predecessor-version":[{"id":158558,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/31864\/revisions\/158558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/23731"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=31864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=31864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=31864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}