{"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\/et\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","title":{"rendered":"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma\" src=\"\/wp-content\/uploads\/2019\/04\/13453bb7025a6bf3d1c7a3dc6d038d16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie ettev\u00f5te tegeleb alates 2008. aastast peamiselt infrastruktuuride haldamise ja \u00f6\u00f6p\u00e4evaringse tehnilise toe pakkumisega veebiprojektidele: meil on \u00fcle 400 kliendi, mis moodustab umbes 15% Venemaa e-kaubandusest. Seet\u00f5ttu on meie toena pakutav arhitektuur v\u00e4ga mitmekesine. Kui midagi l\u00e4heb katki, oleme kohustatud seda 15 minuti jooksul parandama. Kuid et m\u00f5ista, et avarii on toimunud, tuleb projekti j\u00e4lgida ja reageerida intsidentidele. Kuidas seda aga teha? <\/p>\n<p>Ma arvan, et korraliku j\u00e4lgimiss\u00fcsteemi puudumine toob kaasa h\u00e4dasid. Kui h\u00e4dasid ei oleks, siis seisneks mu k\u00f5ne \u00fches lauses: \"Palun installige Prometheus + Grafana ja pluginad 1, 2, 3.\" Kahjuks ei toimi see enam niimoodi. Peamine probleem on selles, et k\u00f5ik usuvad endiselt millegisse, mis eksisteeris 2008. aastal, arvestades tarkvarakomponente. <\/p>\n<p>Seoses j\u00e4lgimiss\u00fcsteemi korraldamisega julgen \u00f6elda, et... h\u00e4sti korraldatud j\u00e4lgimise projekte ei eksisteeri. Ja olukord on nii halb, et kui midagi kukub, on oht, et see j\u00e4\u00e4b m\u00e4rkamatuks \u2014 k\u00f5ik on ju kindlad, et \"k\u00f5ike j\u00e4lgitakse\".<br \/>\nV\u00f5ib-olla j\u00e4lgitakse k\u00f5ike. Aga kuidas? <\/p>\n<p>Me k\u00f5ik oleme kokku puutunud j\u00e4rgnevate lugudega: t\u00f6\u00f6tab \u00fcks devops, \u00fcks admin, kelle poole tuleb arendajate meeskond ja \u00fctleb \u2014 \"me oleme v\u00e4lja andnud, n\u00fc\u00fcd j\u00e4lgi\". Mida j\u00e4lgida? Kuidas see t\u00f6\u00f6tab?<\/p>\n<p>Okei. J\u00e4lgime vanamoodsalt. Aga see on juba muutunud ja selgub, et sa j\u00e4lgisid teenust A, mis muutus teenuseks B, mis suhtleb teenusega C. Kuid arendajate meeskond \u00fctleb sulle: \"Pane tarkvara paika, see peab ju k\u00f5ik j\u00e4lgima!\"<\/p>\n<p>Nii et mis on muutunud? \u2014 K\u00f5ik on muutunud!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>2008. aasta. K\u00f5ik on suurep\u00e4rane<\/h4>\n<p>\nOn paar Entwickler, \u00fcks server, \u00fcks andmebaasi server. Sealt see k\u00f5ik algab. Meil on teatud info, seadistame Zabbixi, Nagios'e, Cacti. Ja seej\u00e4rel seadistame arusaadavad alertid CPU, k\u00f5vakettade t\u00f6\u00f6, kettaruumi kohta. Teeme ka paar k\u00e4sitsi kontrolli, et veenduda, et veebileht vastab ja tellimused j\u00f5uavad andmebaasi. Ja k\u00f5ik \u2013 oleme enam-v\u00e4hem kaitstud. <\/p>\n<p>Kui v\u00f5rrelda tol ajal administratori tehtud t\u00f6\u00f6mahu, mis oli seotud j\u00e4lgimise tagamisega, siis 98% sellest oli automaatne: inimene, kes tegeleb j\u00e4lgimisega, peab m\u00f5istma, kuidas Zabbixi seadistada, kuidas teda konfigureerida ja seadistada alertid. Ainult 2% \u2013 v\u00e4lised kontrollid: et veebileht vastab ja teeb p\u00e4ringuid andmebaasi, et uued tellimused on saabunud.<\/p>\n<p><img decoding=\"async\" alt=\"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma\" src=\"\/wp-content\/uploads\/2019\/04\/3563dda4d025fd18200d6410d7d065ed.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>2010. aasta. Koormus kasvab.<\/h4>\n<p>\nMe hakkame veebiteenuseid skaleerima, lisame otsingumootori. Tahame olla kindlad, et tootekataloog sisaldab k\u00f5iki tooteid. Ja et tooteotsing t\u00f6\u00f6tab. Et andmebaas t\u00f6\u00f6tab, et tellimused tehakse, et veebileht reageerib v\u00e4ljastpoolt ja vastab kahel pool. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverite\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1314\">serverite<\/a> ja kasutaja ei visata veebilehelt v\u00e4lja, kuni ta \u00fcmber jaotatakse teisele serverile jne. Entiteetide arv suureneb. <\/p>\n<p>Kestus, mis on seotud infrastruktuuriga, j\u00e4\u00e4b endiselt juhataja peas k\u00f5ige olulisemaks. \u00d5hus on endiselt idee, et inimene, kes tegeleb j\u00e4lgimisega, on see, kes installib Zabbixi ja suudab seda konfigureerida.<\/p>\n<p>Kuid samal ajal ilmuvad t\u00f6\u00f6d v\u00e4liste auditite l\u00e4biviimiseks, otsingumootori indekseerija p\u00e4ringute skriptide komplekti loomiseks, skriptide komplekti, et kontrollida, kas indekseerimisel toimub muudatusi, ning skriptide komplekti, mis kontrollivad, et teenusele edastatakse kaupu jne.<\/p>\n<p><img decoding=\"async\" alt=\"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma\" src=\"\/wp-content\/uploads\/2019\/04\/afa94a3156a24a81ab359b430341f27d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPange t\u00e4hele: ma kirjutasin kolm korda \"skriptide komplekt\". See t\u00e4hendab, et j\u00e4lgimise eest vastutav ei ole enam lihtsalt see, kes installib Zabbixi. See on inimene, kes hakkab kodeerima. Kuid meeskonna peas ei muutu siiani midagi. <\/p>\n<p>Aga maailm muutub ja keerulisemaks. Lisanduvad virtualiseerimise kihid, mitu uut s\u00fcsteemi. Need hakkavad omavahel suhtlema. Kes \u00fctles \u201ek\u00e4ib mikroteenuste \u00f5hk?\u201d Kuid iga teenus n\u00e4eb endiselt v\u00e4lja nagu eraldi sait. Me saame sellele ligi ja m\u00f5ista, et see pakub vajalikku teavet ning t\u00f6\u00f6tab iseseisvalt. Ja kui oled administraator, kes pidevalt tegeleb projektiga, mis on kestnud 5-7-10 aastat, siis need teadmised kogunevad: ilmub uus tase \u2014 sa oled selle teadvustanud, tuleb veel \u00fcks tase \u2014 sa oled selle teadvustanud\u2026 <\/p>\n<p><img decoding=\"async\" alt=\"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma\" src=\"\/wp-content\/uploads\/2019\/04\/3578182594d012732afde7849b75322a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAga harva keegi toetab projekti 10 aastat.<\/p>\n<h3>Monitooringumehe CV<\/h3>\n<p>\nOletame, et sa said uude idufirmasse, kus kohe oli 20 arendajat, kirjutati 15 mikroteenust, ja sina oled administraator, kellele \u00f6eldakse: \"Ehita CI\/CD. Paluuuuun.\" Sa ehitasid CI\/CD ja \u00e4kki kuuled: \"Meil on keeruline t\u00f6\u00f6tada tootmises 'kubikus', aru saamata, kuidas seal rakendus t\u00f6\u00f6tab. Tee meile see 'kubik' sama 'liivakasti' sisse.\"<br \/>\n Te loob sandkasten selle kuubiku sees. Teile \u00f6eldakse kohe: \u201eMe tahame andmebaasi, mis uuendatakse iga p\u00e4ev tootmisest, et m\u00f5ista, kas see t\u00f6\u00f6tab andmebaasil, kuid samas mitte rikuda tootmisandmebaasi.\u201d<\/p>\n<p>Te elate selles k\u00f5iges. Kaks n\u00e4dalat on j\u00e4\u00e4nud v\u00e4ljaandmiseni, teile \u00f6eldakse: \u201eN\u00fc\u00fcd peaksime seda k\u00f5ike j\u00e4lgima...\u201d See t\u00e4hendab j\u00e4lgida klastristruktuuri, j\u00e4lgida mikroteenuste arhitektuuri, j\u00e4lgida koost\u00f6\u00f6d v\u00e4liste teenustega... <\/p>\n<p>Ja kolleegid tuletavad meelde lihtsat schaemat ja \u00fctlevad: \u201eSiin on ju k\u00f5ik selge! Pane paika programm, mis seda k\u00f5ike j\u00e4lgib.\u201d Jah, jah: Prometheus + Grafana + lisamoodulid. <br \/>\nJa nad lisavad: \u201eSul on kaks n\u00e4dalat, tee nii, et k\u00f5ik oleks usaldusv\u00e4\u00e4rne.\u201d<\/p>\n<p>Paljudes projektides, mida me n\u00e4eme, on j\u00e4lgimise jaoks m\u00e4\u00e4ratud \u00fcks inimene. Kujutage ette, et soovime kaheks n\u00e4dalaks palgata inimesi, kes tegeleb j\u00e4lgimisega, ja koostame talle CV. Milliste oskustega peaks see inimene olema, arvestades k\u00f5ike, mida oleme varem \u00f6elnud?<\/p>\n<ul>\n<li>Ta peab m\u00f5istma j\u00e4lgimist ja riistvara infrastruktuuri spetsiifikat.<\/li>\n<li>Ta peab m\u00f5istma Kubernetes'e j\u00e4lgimise erip\u00e4ra (ja k\u00f5ik tahavad \u201ekuubikut\u201d, sest see v\u00f5imaldab k\u00f5igest eemaldunde, ning adminn haldab k\u00f5ike muud) \u2014 tema enda, selle infrastruktuuri ja kujundama, kuidas j\u00e4lgida rakendusi selle sees.<\/li>\n<li>Ta peab m\u00f5istma, et teenused suhtlevad omavahel eriviisidel ning teadma teenustevahelise suhtluse spetsiifikat. On t\u00e4iesti reaalsed projektid, kus osa teenuseid suhtleb s\u00fcnhroonselt, sest teisiti ei saa. N\u00e4iteks, backend t\u00f6\u00f6tab REST'i ja gRPC kaudu, et suhelda katalooge teenusega, saada tooteid nimekiri ja tagasi tuua. Siin ei saa oodata. Teiste teenustega t\u00f6\u00f6tab ta as\u00fcnkroonselt. Edastada tellimus kullerteenusele, saata kiri jne.<br \/>\nTe juba ilmselt tunnete end kogu selle p\u00e4rast segaduses? Ent adminn, kellel on seda j\u00e4lgida, on veel rohkem segaduses. <\/li>\n<li>Ta peab olema suuteline \u00f5igesti planeerima ja planeerima \u2014 kuna t\u00f6\u00f6d on aina rohkem ja rohkem. <\/li>\n<li>Seet\u00f5ttu peab ta looma strateegia loodud teenusest, et aru saada, kuidas seda konkreetselt j\u00e4lgida. Tal on vaja arusaamist projekti arhitektuurist ja selle arengust, samuti tehnoloogiatest, mida arenduses kasutatakse. <\/li>\n<\/ul>\n<p>\nTuletame meelde t\u00e4iesti normaalset olukorda: osa teenustest on php-s, osa teenustest Go-s, osa teenustest JS-is. Nad t\u00f6\u00f6tavad omavahel mingil moel koos. Sealt tuli termin 'mikroteenus': eraldi s\u00fcsteeme on nii palju, et arendajad ei suuda projekti tervikuna m\u00f5ista. \u00dcks meeskonna osa kirjutab JS-is teenuseid, mis t\u00f6\u00f6tavad iseenesest ja ei tea, kuidas \u00fclej\u00e4\u00e4nud s\u00fcsteem t\u00f6\u00f6tab. Teine osa kirjutab teenuseid Pythonis ja ei puuduta, kuidas teised teenused t\u00f6\u00f6tavad, nad on oma valdkonnas isoleeritud. Kolmas kirjutab teenuseid php-s v\u00f5i millegagi muuga. <br \/>\nNeed 20 inimest on jagatud 15 teenusele ning olemas on vaid \u00fcks admin, kes peab k\u00f5ik selle l\u00e4bi m\u00f5istma. Peatu! Me just jagasime s\u00fcsteemi 15 mikroteenuseks, sest 20 inimest ei saa kogu s\u00fcsteemi aru. <\/p>\n<p>Kuid seda tuleb kuidagi j\u00e4lgida...<\/p>\n<p>Kokkuv\u00f5ttes on \u00fcks inimene, kelle pea mahub k\u00f5ik, mida terve arendajate meeskond ei suuda m\u00f5ista, ja ta peab siiski teadma ning oskama k\u00f5ike, mida me eespool n\u00e4itasime \u2014 raudne infrastruktuur, Kubernetes infrastruktuur jne.<\/p>\n<p>Mida siin \u00f6elda... Houston, meil on probleemid.<\/p>\n<h3>Kaasaegse tarkvaraprojekti seire on iseenesest tarkvaraprojekt.<\/h3>\n<p>\nValeusku, et seire on tarkvara, loob meile usu imedesse. Kahjuks imesid ei ole. Ei tohi paigaldada Zabbixi ja loota, et k\u00f5ik t\u00f6\u00f6tab. Pole m\u00f5tet paigaldada Grafanat ja loota, et k\u00f5ik on h\u00e4sti. Suurem osa ajast kulub teenuste t\u00f6\u00f6 kontrollimiseks ja nendevaheliseks suhtluseks, samuti v\u00e4liste s\u00fcsteemide t\u00f6\u00f6 kontrollimiseks. Tegelikult kulub 90% ajast mitte skriptide kirjutamisele, vaid tarkvara arendamisele. Sellega peaks tegelema meeskond, kes m\u00f5istab projekti t\u00f6\u00f6d. <br \/>\nKui selles olukorras panna \u00fcks inimene seirele, siis juhtub katastroof. Ja see juhtub igal pool.<\/p>\n<p>N\u00e4iteks on mitmeid teenuseid, mis r\u00e4\u00e4givad omavahel l\u00e4bi Kafka. Kui tellimus saabub, saadame tellimuse s\u00f5numi Kafkasse. On teenus, mis kuulab tellimuse teavet ja teostab kaupade saatmise. On teenus, mis kuulab tellimuse teavet ja saadab kasutajale e-kirja. Ja siis ilmub veel hulk teenuseid ja me hakkame segadusse minema.<\/p>\n<p>Aga kui te anate selle administraatorile ja arendajatele hetkel, kui enne v\u00e4ljalaskmist on j\u00e4\u00e4nud v\u00e4he aega, peab inimesel olema aega selle koosoleku protokolliga tutvuda. See t\u00e4hendab, et sellise ulatusega projekt v\u00f5tab m\u00e4rkimisv\u00e4\u00e4rselt aega ja s\u00fcsteemi v\u00e4ljat\u00f6\u00f6tamisse peab see olema sisse arvestatud. <br \/>\nKuid tihti, eriti algajates ettev\u00f5tetes, n\u00e4eme, et j\u00e4lgimine l\u00fckatakse edasi. \"Praegu teeme Proof of Concept'i, k\u00e4ivitame sellega, las see kukub \u2013 oleme valmis ohverdama. Ja siis j\u00e4lgime k\u00f5ike seda.\" Kui (v\u00f5i juhul, kui) projekt hakkab kasumit tooma, soovib \u00e4ri veel rohkem funktsioone arendada \u2013 sest see on ju hakanud t\u00f6\u00f6tama, seega on vaja veel rohkem tekitada! Ja olete punktis, kus k\u00f5igepealt tuleb j\u00e4lgida k\u00f5ike eelnevat, mis ei v\u00f5ta 1% ajast, vaid palju rohkem. Ja muide, j\u00e4lgimiseks on vaja arendajaid, keda on lihtsam suunata uusi funktsioone looma. L\u00f5puks kirjutatakse uusi funktsioone, k\u00f5ik kuhjub, ja te olete l\u00f5putus ummikus.<\/p>\n<p>Kuidas siis j\u00e4lgida projekti alates algusest ning mida teha, kui teil on projekt, mida on vaja j\u00e4lgida, ja te ei tea, kust alustada?<\/p>\n<p>Esiteks, tuleb planeerida. <\/p>\n<p><i>L\u00fc\u00fcriline k\u00f5rvalekalle: sageli alustatakse infrastruktuuri j\u00e4lgimisest. N\u00e4iteks meie Kubernetesega. Alustame sellest, et paigaldame Prometheuse koos Grafanaga, installime pluginid 'kuubiku' j\u00e4lgimiseks. Mitte ainult arendajatel, vaid ka administraatoritel on kurb praktika: 'Paigaldame selle plugina, eks see plugin teab, kuidas seda teha.' Inimesed armastavad alustada lihtsate ja arusaadavate asjadega, mitte oluliste tegevustega. Ja infrastruktuuri j\u00e4lgimine on just selline lihtne tegevus.<\/i><\/p>\n<p>Esialgu otsustage, mida ja kuidas soovite j\u00e4lgida, seej\u00e4rel valige sobiv t\u00f6\u00f6riist, kuna teised inimesed ei saa teie eest m\u00f5elda. Ja kas nad peaksidki? Teised inimesed m\u00f5tlesid enda, universaalsete s\u00fcsteemide peale \u2014 v\u00f5i ei m\u00f5elnud \u00fcldse, kui seda plugina kirjutati. Ja see, et sellel pluginil on 5000 kasutajat, ei t\u00e4henda, et see toob mingit kasu. V\u00f5ib-olla saate 5001-ks lihtsalt seet\u00f5ttu, et seal oli juba 5000 inimest. <\/p>\n<p>Kui olete alustanud oma rakenduse infrastruktuuri ja tagasilise j\u00e4lgimise j\u00e4relevalvet ning see on l\u00f5petanud vastamise, kaotavad k\u00f5ik kasutajad \u00fchenduse mobiilirakendusega. T\u00f5useb veateade. Teie juurde tullakse ja k\u00fcsitakse: \u201eRakendus ei t\u00f6\u00f6ta, millega te siin tegelete?\u201c \u2014 \u201eMe j\u00e4lgime.\u201c \u2014 \u201eKuidas te j\u00e4lgite, kui ei n\u00e4e, et rakendus ei t\u00f6\u00f6ta?!\u201d <\/p>\n<ol>\n<li>Arvan, et j\u00e4lgimist tuleks alustada eelk\u00f5ige kasutaja sisenemispunktist. Kui kasutaja ei n\u00e4e, et rakendus t\u00f6\u00f6tab \u2014 on see eba\u00f5nnestumine. Ja j\u00e4lgimiss\u00fcsteem peab sellest eelk\u00f5ige teavitama. <\/li>\n<li>Ja alles siis saame j\u00e4lgida infrastruktuuri. V\u00f5i teha seda paralleelselt. Infrastruktuuriga on lihtsam \u2014 siin saame l\u00f5puks lihtsalt paigaldada zabbixi. <\/li>\n<li>Ja n\u00fc\u00fcd tuleb minna rakenduse juurte juurde, et m\u00f5ista, kus miski ei t\u00f6\u00f6ta.<\/li>\n<\/ol>\n<p>\nMinu peamine m\u00f5te on see, et j\u00e4lgimine peaks k\u00e4ima paralleelselt arendamise protsessiga. Kui te hajutate j\u00e4lgimismeeskonna teistele \u00fclesannetele (CI\/CD loomine, liivakast, infrastruktuuri \u00fcmberkorraldamine), hakkab j\u00e4lgimine maha j\u00e4\u00e4ma ja te ei pruugi kunagi arendust taas p\u00fc\u00fcdma hakata (v\u00f5i varem v\u00f5i hiljem peate selle peatama).<\/p>\n<h3>K\u00f5ik tasemetel<\/h3>\n<p>\nNii n\u00e4en ma monitooringus\u00fcsteemi \u00fclesehitust.<\/p>\n<p>1) Rakenduse tase:<\/p>\n<ul>\n<li>rakenduse \u00e4ri-logi j\u00e4lgimine;<\/li>\n<li>teenuste health-metrika j\u00e4lgimine;<\/li>\n<li>integratsioonimonitooring.<\/li>\n<\/ul>\n<p>\n2) Infrastruktuuri tase:<\/p>\n<ul>\n<li>orkestreerimistase j\u00e4lgimine;<\/li>\n<li>s\u00fcsteemilise tarkvara j\u00e4lgimine;<\/li>\n<li>riistvara taseme j\u00e4lgimine.<\/li>\n<\/ul>\n<p>\n3) Taas rakenduse tase \u2014 kuid inseneritootena:<\/p>\n<ul>\n<li>rakenduse logide kogumine ja vaatamine;<\/li>\n<li>APM;<\/li>\n<li>tracing.<\/li>\n<\/ul>\n<p>\n4) Alerteerimine:<\/p>\n<ul>\n<li>teavituss\u00fcsteemi korraldamine;<\/li>\n<li>valve s\u00fcsteemi korraldamine;<\/li>\n<li>teadmistebaasi ja s\u00fcndmuste t\u00f6\u00f6tlemise t\u00f6\u00f6voo korraldamine.<\/li>\n<\/ul>\n<p>\n<b>Oluline<\/b>: j\u00f5uame alerteerimise juurde kohe, mitte hiljem! Ei tohi k\u00e4ivitada monitooringut ja m\u00f5elda, kellele alerdid minema hakkavad, hiljem. Sest monitooringu \u00fclesanne on m\u00f5ista, kus s\u00fcsteemis midagi ei t\u00f6\u00f6ta, ja anda sellest vajalikule rahvale teada. Kui see j\u00e4tab viimasele, siis vajalikud inimesed saavad teada, et midagi on valesti, ainult k\u00f5ne t\u00f5ttu: \"meil ei t\u00f6\u00f6ta miski.\"<\/p>\n<h3>Rakenduse tase \u2014 \u00e4ri-loogika j\u00e4lgimine<\/h3>\n<p>\nSiin on jutt rakenduse t\u00f6\u00f6tamise fakti kontrollimisest kasutaja jaoks.<\/p>\n<p>See tase tuleb teha arenduse etapis. N\u00e4iteks, meil on h\u00fcpoteetiline Prometheus: ta p\u00e4\u00e4seb serverisse, mis tegeleb kontrollidega, kutsub endpointi, ja endpoint l\u00e4heb ja kontrollib API-d.<\/p>\n<p>Kui sageli k\u00fcsitakse, et monitorida ajaloolist lehte, et veenduda, et sait t\u00f6\u00f6tab, annavad programmeerijad k\u00e4siraamat, mida saab iga kord t\u00f5mmata, kui tuleb veenduda, et API t\u00f6\u00f6tab. Ja programmeerijad kirjutavad samal ajal \/api\/test\/helloworld. <br \/>\nKuidas olla kindel, et k\u00f5ik t\u00f6\u00f6tab? \u2014 Ei!<\/p>\n<ul>\n<li>Selliste kontrollide loomine on p\u00f5him\u00f5tteliselt arendajate \u00fclesanne. \u00dcksuste testid peaksid kirjutama need programmeerijad, kes kirjutavad koodi. Sest kui sa annad adminile 'K\u00fcsimus, siin on API protokollide nimekiri k\u00f5igist 25 funktsioonist, palun kontrolli k\u00f5ik!' \u2014 ei saa midagi, ei tule sellest midagi. <\/li>\n<li>Kui teete print 'hello world', ei saa keegi kunagi teada, et API peaks ja t\u00f5esti t\u00f6\u00f6tab. Iga API muutmine peab endaga kaasa tooma kontrollide muutmise. <\/li>\n<li>Kui teil on juba see probleem \u2013 peatage funktsioonid ja m\u00e4\u00e4rake arendajad, kes need kontrollid kirjutavad, v\u00f5i leppige kaotustega, leppige sellega, et mitte midagi ei kontrollita ja see hakkab kukkuma.<\/li>\n<\/ul>\n<p>\nTehnilised n\u00f5uanded:<\/p>\n<ul>\n<li>Korrigeerige kindlasti v\u00e4list serverit kontrollide korraldamiseks \u2014 peate kindel olema, et teie projekt on v\u00e4lismaailmale ligip\u00e4\u00e4setav.<\/li>\n<li>Organiseerige kontroll k\u00f5igi API protokollide jaoks, mitte ainult eraldi l\u00f5pp-punktide jaoks.<\/li>\n<li>Looge prometheus-l\u00f5pppunkt kontrollide tulemuste jaoks.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Rakendustasand \u2014 tervisem\u00f5\u00f5dikute j\u00e4lgimine<\/h3>\n<p>\nN\u00fc\u00fcd r\u00e4\u00e4gime teenuste v\u00e4listest tervisem\u00f5\u00f5dikutest. <\/p>\n<p>Oleme otsustanud, et j\u00e4lgime k\u00f5iki rakenduse \"k\u00e4epidemeid\" v\u00e4listest kontrollidest, mida kutsume v\u00e4lja v\u00e4lisest j\u00e4lgimiss\u00fcsteemist. Kuid need on just need \"k\u00e4epidemed\", mida kasutaja \"n\u00e4eb\". Soovime olla kindlad, et meie teenused t\u00f6\u00f6tavad. Siin on asi parem: K8s-l on tervise kontrollid, et v\u00e4hemalt \"kuubik\" saaks veenduda, et teenus t\u00f6\u00f6tab. Kuid pool testidest, mida olen n\u00e4inud, on see sama print \u201chello world\u201d. Ehk siis, ta k\u00fcsib \u00fche korra p\u00e4rast juurutamist, tal vastati, et k\u00f5ik on korras \u2014 ja k\u00f5ik. Teenusel, kui ta REST-is oma API-d v\u00e4ljastab, on tohutult palju sissep\u00e4\u00e4supunkte sellel API-l, mida samuti tuleb j\u00e4lgida, sest soovime teada, et see t\u00f6\u00f6tab. J\u00e4lgime seda juba seestpoolt. <\/p>\n<p>Kuidas seda tehniliselt \u00f5igesti ellu viia: iga teenus esitab endpoint'i oma praeguse t\u00f6\u00f6kindluse kohta, ja Grafana (v\u00f5i m\u00f5ne muu rakenduse) graafikutel n\u00e4eme k\u00f5igi teenuste staatust.<\/p>\n<ul>\n<li>Iga API muudatus peaks endaga kaasa tooma kontrollide muudatused. <\/li>\n<li>Uue teenuse loomisel lisage kohe ka health-m\u00f5\u00f5dikud.<\/li>\n<li>Administraator v\u00f5ib minna arendajate juurde ja paluda: \"lisage mulle paar funktsiooni, et ma k\u00f5ik saaksin aru ja saaksin selle oma j\u00e4lgimiss\u00fcsteemi lisada.\" Kuid arendajad vastavad tavaliselt: \"Kaks n\u00e4dalat enne v\u00e4ljaandmist me midagi lisama ei hakka.\"<br \/>\nOlgu arendajate juhid teadlikud, et sellised kaotused on v\u00f5imalikud, ja ka arendajate juhtkond peaks seda teadma. Sest kui k\u00f5ik kokku kukub, siis keegi helistab ja n\u00f5uab j\u00e4lgida \"alati kokku kukkuvat teenust\" (c) <\/li>\n<li>Muide, suunake arendajad Grafana plugin'ite kirjutamisele - see oleks administratiividele suureks abiks.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Rakenduse tase - Integreerimisj\u00e4lgimine<\/h3>\n<p>\nIntegreerimisj\u00e4lgimine keskendub \u00e4rikriitiliste s\u00fcsteemide vahelise suhtluse j\u00e4lgimisele.<\/p>\n<p>N\u00e4iteks on olemas 15 teenust, mis omavahel suhtlevad. Need ei ole enam eraldi veebisaidid. See t\u00e4hendab, et me ei saa teenust lihtsalt kokku t\u00f5mmata, saada \/helloworld ja m\u00f5ista, et teenus t\u00f6\u00f6tab. Sest tellimuste t\u00f6\u00f6tlemise veebiteenus peab saatma tellimuste info bussile \u2014 bussilt peab laohaldusteenus selle s\u00f5numi k\u00e4tte saama ja sellega edasi t\u00f6\u00f6tama. Ja e-kirjade saatmise teenus peab seda kuidagi edasi t\u00f6\u00f6tama jne. <\/p>\n<p>Seega ei saa me aru, kl\u00f5psates igas erinevas teenuses, et k\u00f5ik see t\u00f6\u00f6tab. Sest meil on mingi buss, mille kaudu k\u00f5ik suhtleb ja koordineerib oma tegevust.<br \/>\nSeet\u00f5ttu peaks see etapp t\u00e4histama teenuste testimise etappi, mis suhtlevad teiste teenustega. Ei saa n\u00f5uda, et j\u00e4lgitud s\u00f5numite vahendaja korraldaks suhtluse j\u00e4lgimise. Kui on teenus, mis edastab andmeid, ja teenus, mis need andmed vastu v\u00f5tab, n\u00e4eme vahendaja j\u00e4lgimisel ainult andmeid, mis liiguvad edasi-tagasi. Isegi kui me \u00f5nnestuks mingil viisil j\u00e4lgida nende andmete vahelist interaktsiooni \u2013 et mingi tootja postitab andmeid, keegi neid loeb, ja see voog j\u00e4tkub Kafka's \u2013 ei anna see meile ikkagi teavet, kui \u00fcks teenus saatis s\u00f5numi \u00fches versioonis ja teine teenus ei oodanud seda versiooni ning j\u00e4ttis selle vahele. Me ei saa sellest teada, sest teenused \u00fctlevad meile, et k\u00f5ik t\u00f6\u00f6tab. <\/p>\n<p>Kuidas soovitan teha:<\/p>\n<ul>\n<li>S\u00fcnkroonse suhtluse puhul: l\u00f5pp-punkt teeb p\u00e4ringud seotud teenustele. See t\u00e4hendab, et me v\u00f5tame selle l\u00f5pp-punkti, k\u00e4ivitame skripti teenuses, mis l\u00e4heb l\u00e4bi k\u00f5ikide punktide ja \u00fctleb: \u201ema saan sealt k\u00e4ivitada, ja sealt k\u00e4ivitada, saan sealt k\u00e4ivitada...\u201c<\/li>\n<li>As\u00fcnkroonses suhtluses: sissetulevad s\u00f5numid \u2014 l\u00f5pp-punkt kontrollib bussilt test-s\u00f5numite olemasolu ja annab t\u00f6\u00f6tlemise staatuse. <\/li>\n<li>As\u00fcnkroonses suhtluses: v\u00e4ljaminevad s\u00f5numid \u2014 l\u00f5pp-punkt saadab bussile test-s\u00f5numid.<\/li>\n<\/ul>\n<p>\nNagu tavaliselt: meil on teenus, mis saadab andmeid bussi. Me tuleme selle teenuse juurde ja palume r\u00e4\u00e4kida selle integratsiooni tervisest. Ja kui teenus peab edasi saatma mingi s\u00f5numi kuhugi (WebApp), siis ta saadab selle test-s\u00f5numi edasi. Ja kui me t\u00f5ukame teenust OrderProcessing poole, postitab ta esmalt, mida ta saab iseseisvalt postitada, ja kui on mingeid s\u00f5ltuvaid asju, siis ta loeb bussilt reas test-s\u00f5numeid, m\u00f5istab, mida ta saab t\u00f6\u00f6delda, teatab sellest ja kui vaja, postitab need edasi ning \u00fctleb selle kohta \u2014 k\u00f5ik okei, ma olen elus. <\/p>\n<p>V\u00e4ga sageli kuuleme k\u00fcsimust \"kuidas saame seda testida tootmisandmetel?\" N\u00e4iteks r\u00e4\u00e4gime tellimuste teenusest. Tellimus saadab s\u00f5numeid laos, kus tooted arvestatakse maha: me ei saa testida seda tootmisandmetel, sest \"mul arvestatakse tooted maha!\" Lahendus: planeerige kogu see test algfaasis. Teil on ju unit-testid, mis teevad mock-e. Seega, tehke seda s\u00fcgavamal tasemel, kus teil on suhtluskanal, mis ei kahjusta \u00e4ri toimimist. <\/p>\n<h3>Infrastruktuuri tase<\/h3>\n<p>\nInfrastruktuuri j\u00e4lgimine on juba ammu tuntud kui t\u00f5eline j\u00e4lgimine. <\/p>\n<ul>\n<li>Infrastruktuuri j\u00e4lgimist saab ja tuleb k\u00e4ivitada kui eraldi protsess.<\/li>\n<li>\u00c4ra alusta infrastruktuuri j\u00e4lgimisega t\u00f6\u00f6tavas projektis, isegi kui see on v\u00e4ga soovitav. See on vaev k\u00f5ikide DevOps'i spetsialistide jaoks. \"Esiteks j\u00e4lgin klastrit, j\u00e4lgin infrastruktuuri\" \u2013 t\u00e4hendab, et k\u00f5igepealt j\u00e4lgitakse seda, mis on allpool, ja rakendusse ei minda. Sest rakendus on DevOps'ile arusaamatu asi. Tal on see antud ja ta ei saa aru, kuidas see t\u00f6\u00f6tab. Infrastruktuur on aga talle tuttav ja ta alustab selle j\u00e4lgimisega. Kuid ei \u2013 alati tuleb k\u00f5igepealt j\u00e4lgida rakendust. <\/li>\n<li>\u00c4rge liialdage h\u00e4iretega. Arvestades kaasaegsete s\u00fcsteemide keerukust, lendavad h\u00e4ired pidevalt ning sellest kuhjast tuleb kuidagi elada. Ja h\u00e4iriv inimene vaadates sajat h\u00e4iret otsustab: \"ei taha selle \u00fcle m\u00f5elda\". H\u00e4ired peaksid teavitama ainult kriitilistest asjadest. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Rakenduse taseme kui \u00e4rielemendi<\/h3>\n<p>\nPeamised punktid:<\/p>\n<ul>\n<li>ELK. See on t\u00f6\u00f6stusstandard. Kui mingil p\u00f5hjusel te ei koonda logisid, alustage kiiresti selle tegemist.<\/li>\n<li>APM. V\u00e4limised APM-id kui kiire viis rakenduse j\u00e4lgimise sulgemiseks (NewRelic, BlackFire, Datadog). Saate ajutiselt selle asja paigaldada, et kuidagi aru saada, mis teiega toimub. <\/li>\n<li>J\u00e4lgimine. K\u00fcmnetes mikroteenustes peate j\u00e4lgima k\u00f5ike, kuna p\u00e4ring ei ela enam eraldi. Hiljem lisamine on v\u00e4ga keeruline, seega on parem kohe arenduses j\u00e4lgimine ette planeerida \u2014 see on t\u00f6\u00f6 ja arendajate t\u00f6\u00f6riist. Kui ei ole veel rakendatud \u2013 rakendage kindlasti! Vaata Jaeger\/Ziipkin.<\/li>\n<\/ul>\n<p><\/p>\n<h3>H\u00e4ired<\/h3>\n<p><\/p>\n<ul>\n<li>Teavituss\u00fcsteemi korraldamine: monitoring'i tingimustes peab olema \u00fchtne teavituste saatmise s\u00fcsteem, n\u00e4iteks Grafanas. L\u00e4\u00e4ne riikides kasutatakse k\u00f5ikjal PagerDuty'd. Teavitused peavad olema arusaadavad (nt kust nad tulid\u2026). Samuti on soovitatav j\u00e4lgida, et teavitused t\u00f5esti kohale j\u00f5uavad. <\/li>\n<li>Kohustuste s\u00fcsteemi korraldamine: teated ei tohi tulla k\u00f5igile (muidu reageerivad k\u00f5ik v\u00f5i ei reageeri keegi). On-call olema peab ka arendajatel: m\u00e4\u00e4rake kindlasti vastutusalad, koostage selge juhend ja kirja pange, kellele t\u00e4pselt esmasp\u00e4eval ja kolmap\u00e4eval helistada ning kellele teisip\u00e4eval ja reedel (vastasel juhul ei helistata kellelegi isegi suure h\u00e4da korral \u2014 kardetakse kedagi \u00e4ratada, h\u00e4irida: inimesed \u00fcldiselt ei meeldi helistada ja teisi, eriti \u00f6\u00f6sel, \u00e4ratada). Ja selgitage, et abi k\u00fcsimine ei ole ebakompetentsuse n\u00e4itaja (\u201ema k\u00fcsin abi \u2014 seega olen halb t\u00f6\u00f6taja\u201c), julgustage abi palumist.<\/li>\n<li>Teadmistebaasi ja s\u00fcndmuste t\u00f6\u00f6tlemise t\u00f6\u00f6voo korraldamine: iga t\u00f5sise s\u00fcndmuse puhul peab olema planeeritud tagasivaade, ajutise meetmena peavad olema fikseeritud tegevused, mis lahendavad s\u00fcndmuse. Ja looge praktika, et korduvad teated on patt; neid tuleb fikseerida koodis v\u00f5i infrastruktuuri t\u00f6\u00f6des. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Tehnoloogiline stack<\/h3>\n<p>\nKujutame ette, et meie tehnoloogia on j\u00e4rgmine: <\/p>\n<ul>\n<li>andmete kogumine \u2014 Prometheus + Grafana;<\/li>\n<li>logifailide anal\u00fc\u00fcs \u2014 ELK;<\/li>\n<li>APM v\u00f5i j\u00e4lgimise jaoks \u2014 Jaeger (Zipkin).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Surnud j\u00e4lgimine? \u2014 Tere tulemast j\u00e4lgimise maailma\" src=\"\/wp-content\/uploads\/2019\/04\/af26d3c0ba781cd856d220515788b5eb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nValikuv\u00f5imalused ei ole kriitilised. Kui olete alguses aru saanud, kuidas s\u00fcsteemi j\u00e4lgida, ja koostanud plaani, hakkate seej\u00e4rel valima t\u00f6\u00f6riistu vastavalt oma n\u00f5udmistele. K\u00fcsimus on selles, mida otsustasite alguses j\u00e4lgida. Sest v\u00f5ib-olla valitud t\u00f6\u00f6riist ei sobi teie vajadustega \u00fcldse. <\/p>\n<p>M\u00f5ned tehnilised punktid, mida olen viimasel ajal igal pool n\u00e4inud:<\/p>\n<p><i>Prometheus on pandud Kubernetesesse \u2014 kes selle v\u00e4lja m\u00f5tles?!<\/i> Kui teie klaster kokku kukub, mida teete? Kui teil on keeruline klaster sees, peaks seal t\u00f6\u00f6tama mingi j\u00e4lgimiss\u00fcsteem, ja mingi \u2014 v\u00e4ljaspool, mis kogub andmeid klastri seest. <\/p>\n<p><i>Klastri sees kogume logisid ja k\u00f5ike muud.<\/i> Aga j\u00e4lgimiss\u00fcsteem peaks olema v\u00e4ljaspool. Sageli on klastris, kus on sisseehitatud Prometheus, ka s\u00fcsteemid, mis teevad v\u00e4liseid kontrollimisi. Ent kui teie \u00fchendused v\u00e4lismaailmaga katkevad ja rakendus ei t\u00f6\u00f6ta? Tundub, et sees on k\u00f5ik korras, kuid kasutajatele ei ole see lihtsam.<\/p>\n<h3>J\u00e4reldused<\/h3>\n<p><\/p>\n<ul>\n<li>J\u00e4lgimise arendamine ei seisne utiliitide paigaldamises, vaid tarkvaratoote v\u00e4ljat\u00f6\u00f6tamises. 98% t\u00e4nap\u00e4eva j\u00e4lgimisest on koodimine. Koodimine teenustes, koodimine v\u00e4listes kontrollides, v\u00e4listes teenustes kontrollimine ja k\u00f5ikv\u00f5imalik muu. <\/li>\n<li>\u00c4rge raisake arendajate aega j\u00e4lgimise peale: see v\u00f5ib v\u00f5tta kuni 30% nende t\u00f6\u00f6st, kuid on seda v\u00e4\u00e4rt.<\/li>\n<li>DevOps'id, \u00e4rge muretsege, kui te ei saa midagi j\u00e4lgida, sest m\u00f5ned asjad vajavad hoopis teistsugust m\u00f5tteviisi. Te ei olnud programmeerija ja j\u00e4lgimise t\u00f6\u00f6 on just nende t\u00f6\u00f6.<\/li>\n<li>Kui projekt juba t\u00f6\u00f6tab ja ei ole j\u00e4lgitud (ja teie olete juhataja) \u2014 eraldage ressursid j\u00e4lgimiseks.<\/li>\n<li>Kui toode on juba tootmises ja te olete devops, kellele \u00f6eldi \"seadistage j\u00e4lgimine\" \u2014 proovige juhtkonnale selgitada, mida ma siinkohal kirjutasin.<\/li>\n<\/ul>\n<p>\n<i>See on pikendatud versioon ettekandest konverentsil Saint Highload++.<\/i><\/p>\n<p>Kui teid huvitavad minu ideed ja m\u00f5tisklused IT- ja selleteemal, siis siin on v\u00f5imalus <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/eapotapov_channel\">lugeda kanalit <\/a><\/noindex>\ud83d\ude42<br \/>\n<br \/>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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\udd47J\u00e4lgimine katki? \u2014 Elagu j\u00e4lgimine | ProHoster","description":"Meie ettev\u00f5te tegeleb alates 2008. aastast peamiselt infrastruktuuride haldamise ja 24\/7 tehnilise toe osutamisega veebiprojektidele: meil on \u00fcle 400 kliendi, mis moodustab umbes 15% Venemaa e-kaubandusest. Seega on toele v\u00e4ga mitmekesine arhitektuur. Kui midagi rikki l\u00e4heb, peame selle 15 minuti jooksul korda tegema. Kuid et aru saada, et avarii on toimunud, on vajalik projekti j\u00e4lgimine ja juhtumitele reageerimine.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/31864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=31864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31864\/revisions"}],"predecessor-version":[{"id":158558,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31864\/revisions\/158558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/23731"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=31864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=31864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=31864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}