{"id":80031,"date":"2020-05-02T13:42:49","date_gmt":"2020-05-02T11:42:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/top-fakapov-czian"},"modified":"2020-05-02T13:42:49","modified_gmt":"2020-05-02T11:42:49","slug":"top-fakapov-czian","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/top-fakapov-czian","title":{"rendered":"Tsian parimad eba\u00f5nnestumised","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tsian parimad eba\u00f5nnestumised\" src=\"\/wp-content\/uploads\/2020\/05\/61cf8d25f1f3e858a3b9541cb026cf3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTere k\u00f5igile!\u00a0<\/p>\n<p>Mina olen Nikita, Ciani inseneride meeskonna juht. \u00dcks minu kohustustest ettev\u00f5ttes on v\u00e4hendada tootmises esinevate infrastruktuuriga seotud intsidentide arvu nullini.<br \/>\nOlukord, millest edaspidi juttu tuleb, on meile palju valu p\u00f5hjustanud, ning selle artikli eesm\u00e4rk on takistada teisi inimesi meie vigu kordamast v\u00f5i v\u00e4hemalt nende m\u00f5ju minimeerimist.\u00a0<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Eel\u00f5igus<\/h3>\n<p>\nKaugel minevikus, kui Cian koosnes monoliitidest ja mikroteenuste m\u00e4rke ei olnud veel, m\u00f5\u00f5tsime ressursi k\u00e4ttesaadavust 3\u20135 lehe kontrollimisega.\u00a0<\/p>\n<p>Kui need vastasid \u2014 k\u00f5ik oli h\u00e4sti, kui nad pikka aega ei vastanud \u2014 tuli alert. Kui kaua nad peavad olema mittetoimivad, et seda peeti intsidendiks, m\u00e4\u00e4rasid inimesed koosolekutel. Inseneride meeskond osales alati intsidendi uurimisel. Uurimise l\u00f5petamisel kirjutati postmortem \u2014 omamoodi aruanne e-posti teel, vormingus: mis juhtus, kui kaua see kesti, mida me toona tegime, mida me tulevikus teeme.\u00a0<\/p>\n<h3>Olulised veebilehe lehed v\u00f5i kuidas me m\u00f5istame, et oleme p\u00f5hja j\u00f5udnud<\/h3>\n<p>\u00a0<br \/>\nEtte m\u00f5ista vea prioriteeti, oleme v\u00e4lja toonud k\u00f5ige kriitilisemad teie \u00e4ritegevusele olulised veebilehe lehed. Nende p\u00f5hjal arvutame edukaid\/ebaedu p\u00e4ringute ja katkestuste arvu. Sel moel m\u00f5\u00f5dame uptime'i.\u00a0<\/p>\n<p>Oletame, et oleme tuvastanud mitmeid \u00fcliolulisi osa saidist, mis vastutavad peamise teenuse \u2014 kuulutuste otsimise ja esitamise \u2014 eest. Kui vigadega l\u00f5ppevate p\u00e4ringute arv \u00fcletab 1%, on see kriitiline juhtum. Kui tippajad 15 minuti jooksul on vea protsent \u00fcle 0,1%, loetakse see samuti kriitiliseks juhtumiks. Need kriteeriumid katab enamik juhtumeid, teised j\u00e4\u00e4vad artikli raamesse.<\/p>\n<p><img decoding=\"async\" alt=\"Tsian parimad eba\u00f5nnestumised\" src=\"\/wp-content\/uploads\/2020\/05\/f5d76b1784c9a52ae1dc4728f1509ccc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Cian parimate juhtumite tipplist<\/h3>\n<p>\nNii et me oleme kindlasti \u00f5ppinud m\u00e4\u00e4rama, et juhtum on aset leidnud.\u00a0<\/p>\n<p>N\u00fc\u00fcd on iga juhtum meil \u00fcksikasjalikult v\u00e4lja toodud ning peegeldatud Jira epikus. M\u00e4rkusena: selle jaoks oleme loonud eraldi projekti, nimetasime selle FAIL-iks \u2014 seal saab luua ainult epikuid.\u00a0<\/p>\n<p>Kui koguda k\u00f5ik eba\u00f5nnestumised viimase paariaasta jooksul, siis juhivad:\u00a0<\/p>\n<ul>\n<li>juhtumid, mis on seotud mssql-iga;<\/li>\n<li>juhtumid, mis on p\u00f5hjustatud v\u00e4listest teguritest;<\/li>\n<li>administraatori vead.<\/li>\n<\/ul>\n<p>\nVaatame l\u00e4hemalt administraatorite vigu ning m\u00f5ned teised huvitavad eba\u00f5nnestumised.<\/p>\n<h4>Viiendat kohta h\u00f5ivame \u201eDNS-i korrastamisega\u201c<\/h4>\n<p>\nSee oli sombune teisip\u00e4ev. Otsustasime korrastada DNS-kliendiga.\u00a0<\/p>\n<p>Soovisime migreerida sisemised DNS-serverid bindilt powerdns-ile, eraldades selleks t\u00e4iesti eraldi serverid, kus muud teenused puudusid.\u00a0<\/p>\n<p>Paigaldasime igasse meie andmekeskuse asukohta \u00fche DNS-serveri ning j\u00e4rgnes domeenide \u00fcleviimise hetk bindilt powerdns-ile ja infrastruktuuri suunamine uutele serveritele.\u00a0<\/p>\n<p>\u00dcleviimise k\u00f5ige aktiivsemal hetkel <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverite\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1484\">serverite<\/a>, mis oli m\u00e4rgitud kohalike vahem\u00e4llu salvestavate bind-ide seas k\u00f5igil serveritel, j\u00e4i alles ainult \u00fcks, mis asus andmekeskuses Peterburis. See andmekeskus oli algselt deklareeritud meile mitte-kriitilisena, kuid muutus \u00e4kitselt kriitiliseks punktiks.<br \/>\nJust \u00fcleviimise ajal kukkus \u00fchendus Moskva ja Peterburi vahel. Oleme praktiliselt DNS-ist ilma j\u00e4\u00e4nud viis minutit ja taastunud siis, kui <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/\"   title=\"hoster\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1206\">hoster<\/a> vead olid k\u00f5rvaldatud.\u00a0<\/p>\n<p><b>J\u00e4reldused: <\/b><\/p>\n<p>Varem eemaldasime v\u00e4listest teguritest t\u00f6\u00f6de ettevalmistamisel, kuid n\u00fc\u00fcd on need ka valmistumise loendis. N\u00fc\u00fcd p\u00fc\u00fcdleme selle poole, et k\u00f5ik komponendid oleksid reserveeritud n-2, ning t\u00f6\u00f6de ajaks saame seda taset langetada n-1-ni.<\/p>\n<ul>\n<li>Tegevusplaani koostamise ajal m\u00e4rkige \u00fcles punktid, kus teenus v\u00f5ib kokku kukkuda, ja m\u00f5elge l\u00e4bi stsenaarium, kus k\u00f5ik l\u00e4heb \"halvemast hullemaks\".<\/li>\n<li>Jaotage sisemised DNS-serverid erinevatesse geolokatsioonidesse \/ andmekeskustesse \/ riiulitesse \/ l\u00fclititesse \/ sisenditesse.<\/li>\n<li>Igal serveril olge kohalik vahem\u00e4llu salvestav DNS-server, mis suunab p\u00e4ringud peamistele DNS-serveritele ning juhul, kui see pole saadaval, vastab vahem\u00e4lust.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Neljas koht \u2014 \"Korrastame Nginxi\"<\/h4>\n<p>\n\u00dchel p\u00e4eval otsustas meie meeskond, et \"on piisavalt talutud\" ja k\u00e4ivitus nginx konfiguratsioonide refaktoreerimise protsess. Peamine eesm\u00e4rk on tuua konfiguratsioonid intuitiivsesse struktuuri. Varem oli k\u00f5ik \"ajalooliselt kujunenud\" ja ei kandnud endas mingit loogikat. N\u00fc\u00fcd on iga server_name v\u00e4lja toodud oma nime saanud faili ning k\u00f5ik konfiguratsioonid jaotatud kaustadesse. \u00dctlematagi selge, et konfiguratsioon sisaldab 253949 rida v\u00f5i 7836520 t\u00e4hte ja h\u00f5ivab peaaegu 7 megabaiti. \u00dclemine struktuur:\u00a0<\/p>\n<p>                        <b class=\"spoiler_title\">Nginx struktuur<\/b><\/p>\n<pre><code class=\"plaintext\">\u251c\u2500\u2500 access\n\u2502 \u00a0 \u251c\u2500\u2500 allow.list\n...\n\u2502 \u00a0 \u2514\u2500\u2500 whitelist.conf\n\u251c\u2500\u2500 geobase\n\u2502 \u00a0 \u251c\u2500\u2500 exclude.conf\n...\n\u2502 \u00a0 \u2514\u2500\u2500 geo_ip_to_region_id.conf\n\u251c\u2500\u2500 geodb\n\u2502 \u00a0 \u251c\u2500\u2500 GeoIP.dat\n\u2502 \u00a0 \u251c\u2500\u2500 GeoIP2-Country.mmdb\n\u2502 \u00a0 \u2514\u2500\u2500 GeoLiteCity.dat\n\u251c\u2500\u2500 inc\n\u2502 \u00a0 \u251c\u2500\u2500 error.inc\n...\n\u2502 \u00a0 \u2514\u2500\u2500 proxy.inc\n\u251c\u2500\u2500 lists.d\n\u2502 \u00a0 \u251c\u2500\u2500 bot.conf\n...\n\u2502 \u00a0 \u251c\u2500\u2500 dynamic\n\u2502 \u00a0 \u2514\u2500\u2500 geo.conf\n\u251c\u2500\u2500 lua\n\u2502 \u00a0 \u251c\u2500\u2500 cookie.lua\n\u2502 \u00a0 \u251c\u2500\u2500 log\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 log.lua\n\u2502 \u00a0 \u251c\u2500\u2500 logics\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 include.lua\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 utils.lua\n\u2502 \u00a0 \u2514\u2500\u2500 prom\n\u2502 \u00a0 \u00a0 \u00a0 \u251c\u2500\u2500 stats.lua\n\u2502 \u00a0 \u00a0 \u00a0 \u2514\u2500\u2500 stats_prometheus.lua\n\u251c\u2500\u2500 map.d\n\u2502 \u00a0 \u251c\u2500\u2500 access.conf\n\u2502 \u00a0 \u251c\u2500\u2500 ..\u00a0\n\u2502 \u00a0 \u2514\u2500\u2500 zones.conf\n\u251c\u2500\u2500 nginx.conf\n\u251c\u2500\u2500 robots.txt\n\u251c\u2500\u2500 server.d\n\u2502 \u00a0 \u251c\u2500\u2500 cian.ru\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 cian.ru.conf\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 my.cian.ru.conf\n\u251c\u2500\u2500 service.d\n\u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2514\u2500\u2500 status.conf\n\u2514\u2500\u2500 upstream.d\n\u00a0\u00a0\u00a0\u00a0\u251c\u2500\u2500 cian-mcs.conf\n\u00a0\u00a0\u00a0\u00a0\u251c\u2500\u2500 ...\n\u00a0\u00a0\u00a0\u00a0\u2514\u2500\u2500 wafserver.conf<\/code><\/pre>\n<p>As a result of renaming and redistributing the configs, some of them had incorrect extensions and were not included in the include *.conf directive. Consequently, some hosts became unavailable and returned a 301 redirect to the main page. Because the response code was neither 5xx nor 4xx, this issue was not noticed immediately and was caught only by morning. After this, we started writing tests to verify infrastructure components.<\/p>\n<p><b>J\u00e4reldused:<\/b>\u00a0<\/p>\n<ul>\n<li>Struktureeri konfiguratsioonid \u00f5igesti (mitte ainult nginx) ja m\u00f5tle struktuuri juba projekti varases etapis. Nii muudate need meeskonnale arusaadavamaks, mis omakorda v\u00e4hendab TTM-i.<\/li>\n<li>M\u00f5nede infrastruktuuri komponentide jaoks kirjutage teste. N\u00e4iteks: kontrollige, et k\u00f5ik v\u00f5tme server_name\u2019id annavad \u00f5iged staatuse ja vastuse sisu. Piisab, kui teil on m\u00f5ned skriptid, mis kontrollivad p\u00f5hifunktsioone, et mitte keset \u00f6\u00f6d paanikas m\u00f5elda, mida veel kontrollida.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Kolmas koht \u2013 \u201eCassandra's l\u00f5ppes \u00fcht\u00e4kki ruum\u201c<\/h4>\n<p>\nAndmed kasvasid j\u00e4rk-j\u00e4rgult ja k\u00f5ik oli h\u00e4sti, kuni hetkeni, mil Cassandra klastris hakkasid suured kayspace'de repair'id kukkuma, kuna compaction ei suutnud nendega t\u00f6\u00f6tada.\u00a0<\/p>\n<p>\u00dchel tormisel p\u00e4eval muutus klaster peaaegu k\u00f5rvitsaks, nimelt:<\/p>\n<ul>\n<li>klastri kokku j\u00e4\u00e4b umbes 20% ruumi;<\/li>\n<li>node\u2019e ei saa korralikult lisada, kuna p\u00e4rast node\u2019i lisamist ei toimu cleanup\u2019i ruumipuuduse t\u00f5ttu jaotustes;<\/li>\n<li>t\u00f5husus langeb j\u00e4rk-j\u00e4rgult, kuna kompaktimine ei toimi;\u00a0<\/li>\n<li>klaster t\u00f6\u00f6tab h\u00e4daolukorras.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Tsian parimad eba\u00f5nnestumised\" src=\"\/wp-content\/uploads\/2020\/05\/1d036fbc500a49a285fa4b0014e2a70d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00e4lja minek \u2014 lisasime veel 5 s\u00f5lme ilma puhastuseta, p\u00e4rast mida hakkasime j\u00e4rk-j\u00e4rgult klastrist v\u00e4lja viima ja uuesti sisestama nagu t\u00fchjad s\u00f5lmed, millel polnud enam ruumi. Aega on kulunud palju rohkem, kui oleks soovinud. Olius osaline v\u00f5i t\u00e4ielik juurdep\u00e4\u00e4su katkemise oht.\u00a0<\/p>\n<p><b>J\u00e4reldused:<\/b><\/p>\n<ul>\n<li>K\u00f5igil cassandra serveritel peaks olema iga jaotuse peal maksimaalselt 60% ruumist kasutusel.\u00a0<\/li>\n<li>Need peaksid olema koormatud mitte rohkem kui 50% CPU-st.<\/li>\n<li>\u00c4rge j\u00e4tke t\u00e4helepanuta kapatsiteedi planeerimist ja peate seda arvestama iga komponendiga, l\u00e4htudes selle spetsifikast.<\/li>\n<li>Mida rohkem s\u00f5lmi klastris on, seda parem. Serverid, millel on v\u00e4ike andmete hulk, saavad kiiremini uuesti k\u00e4ivitada, ja sellist klastrit on lihtsam elustada.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Teine koht \u2014 \u201eAndmed kadusid consul key-value salvestusest\u201c<\/h4>\n<p>\nTeenuse avastamiseks kasutame nagu paljud teisedki konsulti. Kuid meil kasutatakse seda key-value s\u00fcsteemi ka monoliidi sinine-roheline juurutamiseks. Seal salvestatakse teave aktiivsete ja mitteaktiivsete upstreamide kohta, mis vahetavad kohti juurutamise ajal. Selle jaoks kirjutati juurutamisteenus, mis suhtles KV-ga. Mingil hetkel andmed KV-st kadusid. Taastasime need m\u00e4lu abil, kuid m\u00f5ne vea t\u00f5ttu. Tagaj\u00e4rjeks oli see, et juurutamisel jaotus koormus upstreamide vahel eba\u00fchtlaselt ja saime palju 502 vigu, kuna backendide CPU oli \u00fcle koormatud. L\u00f5puks kolisime consul KV-st postgres'i, kust andmete kustutamine pole enam nii lihtne.\u00a0\u00a0<\/p>\n<p><b>J\u00e4reldused:<br \/>\n<\/b><\/p>\n<ul>\n<li>Teenused, millel pole mingit autentimist, ei tohiks sisaldada veebisaidi t\u00f6\u00f6 jaoks kriitilisi andmeid. N\u00e4iteks, kui teil pole autentimist ES-is, oleks parem piirata p\u00e4\u00e4su v\u00f5rgu tasandil k\u00f5ikjalt, kus see pole vajalik, j\u00e4tta alles ainult vajalikud ning seadistada action.destructive_requires_name: true.<\/li>\n<li>T\u00f6\u00f6tage varundamise ja taastamise mehhanism eelnevalt v\u00e4lja. N\u00e4iteks looge eelnevalt skript (n\u00e4iteks pythonis), mis suudab varundada ja taastada.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Esimene koht \u2014 \u201eKapten mitte-ilmsus\u201c\u00a0<\/h4>\n<p>\nTeatud hetkel m\u00e4rkisime, et koormuse jaotumine nginx'i \u00fclemistele serveritele on eba\u00fchtlane, kui taustal oli 10+ serverit. Kuna round-robin suunas p\u00e4ringud alates esimesest kuni viimase \u00fclemise serverini j\u00e4rjestikku ja iga nginx'i taask\u00e4ivitamine algas otsast, j\u00f5udis esimestesse \u00fclemistesse serveritesse alati rohkem p\u00e4ringuid kui teistesse. Tulemuseks t\u00f6\u00f6tasid need aeglasemalt ja kogu sait kannatas. See muutus j\u00e4rjest m\u00e4rgatavamaks liikluse suurenemisega. Lihtsalt nginx'i uuendamine random'i aktiveerimiseks ei aidanud \u2014 pidime \u00fcmber kirjutama hulga lua koodi, mis ei t\u00f6\u00f6tanud versioonis 1.15 (sel ajal). L\u00f5puks pidime meie nginx 1.14.2 pat\u0161eerima, lisades toe random'ile. See lahendas probleemi. See bugi v\u00f5idab auhinna \u201ekapten eba\u00fcheduse eest\u201c.<\/p>\n<p><b>J\u00e4reldused:<\/b><\/p>\n<p>See oli v\u00e4ga huvitav ja p\u00f5nev uurida seda bussi).\u00a0<\/p>\n<ul>\n<li>Seadke j\u00e4lgimine \u00fcles nii, et see aitaks kiiresti leida sarnaseid fluktuatsioone. N\u00e4iteks v\u00f5ite kasutada ELK-d, et j\u00e4lgida rps-i iga taustal oleva \u00fclemise serveri jaoks, j\u00e4lgides nende vastamisaja muutusi nginx'i vaatenurgast. Sel juhul aitas see meil probleemi tuvastada.\u00a0<\/li>\n<\/ul>\n<p>\nPaljude vigade v\u00e4ltimine n\u00f5uab hoolikamat l\u00e4henemist oma t\u00f6\u00f6le. Alati tuleb meeles pidada Murphy seadust:\u00a0<i>Mis iganes v\u00f5ib valesti minna, l\u00e4hebki valesti, <\/i>ning komponendid tuleb \u00fcles ehitada selle seaduse kohaselt.\u00a0<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cian\/blog\/499542\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430!\u00a0 \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435, \u0434\u043e \u043d\u0443\u043b\u044f. \u0422\u043e, \u043e \u0447\u0435\u043c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0434\u0430\u043b\u0435\u0435, \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u043e \u043d\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0438, \u0438 \u0446\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043d\u0435 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043b\u0438\u044f\u043d\u0438\u0435.\u00a0 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80032,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435, \u0434\u043e \u043d\u0443\u043b\u044f. \u0422\u043e, \u043e \u0447\u0435\u043c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0434\u0430\u043b\u0435\u0435, \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u043e \u043d\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0438, \u0438 \u0446\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043d\u0435 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043b\u0438\u044f\u043d\u0438\u0435.\" \/>\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\/top-fakapov-czian\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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\u0422\u043e\u043f \u0444\u0430\u043a\u0430\u043f\u043e\u0432 \u0426\u0438\u0430\u043d | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435, \u0434\u043e \u043d\u0443\u043b\u044f. \u0422\u043e, \u043e \u0447\u0435\u043c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0434\u0430\u043b\u0435\u0435, \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u043e \u043d\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0438, \u0438 \u0446\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043d\u0435 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043b\u0438\u044f\u043d\u0438\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/top-fakapov-czian\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-02T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-02T11:42:49+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\udd47\u0426\u0438\u0430\u043d parimad pahandused | ProHoster","description":"Tere k\u00f5igile! Minu nimi on Nikita, olen \u0426\u0438\u0430\u043d inseneride meeskonna juht. \u00dcks minu kohustustest firmast on infrastruktuuri seonduvate s\u00fcndmuste arvu v\u00e4hendamine nullini. J\u00e4rgnevalt r\u00e4\u00e4gitav on toonud meile palju valu ning selle artikli eesm\u00e4rk on v\u00e4ltida teiste inimeste samade vigade kordamist v\u00f5i v\u00e4hemalt minimeerida nende m\u00f5ju.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/top-fakapov-czian","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\u0422\u043e\u043f \u0444\u0430\u043a\u0430\u043f\u043e\u0432 \u0426\u0438\u0430\u043d | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435, \u0434\u043e \u043d\u0443\u043b\u044f. \u0422\u043e, \u043e \u0447\u0435\u043c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0434\u0430\u043b\u0435\u0435, \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u043e \u043d\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0438, \u0438 \u0446\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043d\u0435 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043b\u0438\u044f\u043d\u0438\u0435.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/top-fakapov-czian","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-02T11:42:49+00:00","article:modified_time":"2020-05-02T11:42:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80031","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:47:44","updated":"2026-02-09 16:50:24"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/80031","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=80031"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/80031\/revisions"}],"predecessor-version":[{"id":158728,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/80031\/revisions\/158728"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/80032"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=80031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=80031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=80031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}