{"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":"Topsite fopaad Cianis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Topsite fopaad Cianis\" src=\"\/wp-content\/uploads\/2020\/05\/61cf8d25f1f3e858a3b9541cb026cf3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTere k\u00f5igile!\u00a0<\/p>\n<p>Minu nimi on Nikita, olen \u0426\u0438\u0430\u043d'i insenerimeeskonna tiimijuht. \u00dcks minu \u00fclesannetest firmas on v\u00e4hendada produtseerimise infrastruktuuriga seotud intsidente nullini.<br \/>\nK\u00e4esolevas artiklis k\u00e4sitletav teema on meile palju valu toonud, ja eesm\u00e4rk on v\u00e4ltida, et teised inimesed kordaks meie vigu v\u00f5i v\u00e4hemalt minimeeriks nende m\u00f5ju.\u00a0<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Eesliide<\/h3>\n<p>\nKauges minevikus, kui \u0426\u0438\u0430\u043d koosnes monoliitidest ja mikroteenustest polnud veel j\u00e4lgegi, m\u00f5\u00f5tsime ressursi k\u00e4ttesaadavust kontrollides 3\u20135 lehte.\u00a0<\/p>\n<p>Kui nad vastavad \u2014 on k\u00f5ik h\u00e4sti, kui nad ei vasta pikka aega \u2014 on h\u00e4ire. Kui kaua nad peavad mitte t\u00f6\u00f6tama, et seda loetaks intsidendiks, m\u00e4\u00e4rati koosolekutel. Insenerimeeskond osales alati intsidendi uurimises. Kui uurimine oli l\u00f5petatud, kirjutati post mortem \u2014 omamoodi aruanne e-posti formaadis: mis juhtus, kui kaua see kestis, mida tehti hetkel, mida teeme tulevikus.\u00a0<\/p>\n<h3>Peamised veebisaidi lehed v\u00f5i kuidas me m\u00f5istame, et oleme p\u00f5hja tabanud<\/h3>\n<p>\u00a0<br \/>\nKuna me p\u00fc\u00fcame m\u00f5ista vea prioriteeti, oleme v\u00e4lja toonud k\u00f5ige kriitilisemad veebisaidi lehed \u00e4ritegevuse funktsionaalsuse jaoks. Nende p\u00f5hjal loeme edukaid\/eba\u00f5nnestunud p\u00e4ringute ja ajakulu arvu. Nii m\u00f5\u00f5dame uptime'i.\u00a0<\/p>\n<p>Oletame, et oleme tuvastanud, et on olemas rida superolulisi veebisaidi sektsioone, mis vastutavad p\u00f5hiteenuse \u2014 otsingu ja kuulutuste esitamise \u2014 eest. Kui veaga l\u00f5ppenud p\u00e4ringute arv \u00fcletab 1%, on see kriitiline intsident. Kui tipptunnil 15 minuti jooksul veaprotsent \u00fcletab 0,1%, loetakse seda samuti kriitiliseks intsidendiks. Need kriteeriumid katab suurema osa intsidendidest, teised j\u00e4\u00e4vad artikli raamesse.<\/p>\n<p><img decoding=\"async\" alt=\"Topsite fopaad Cianis\" src=\"\/wp-content\/uploads\/2020\/05\/f5d76b1784c9a52ae1dc4728f1509ccc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>\u0426\u0438\u0430\u043d'i parimate intsidentide edetabel<\/h3>\n<p>\nNii et me oleme kindlasti \u00f5ppinud tuvastama, et intsident on juhtunud.\u00a0<\/p>\n<p>N\u00fc\u00fcd on iga intsident detailselt kirjeldatud ja kajastatud Jira epic'is. Muide: selleks k\u00e4ivitasime eraldi projekti, mille nimeks sai FAIL \u2014 seal saab luua ainult epikuid.\u00a0<\/p>\n<p>Kui koguda kokku k\u00f5ik eba\u00f5nnestumised viimase paari aasta jooksul, siis valitsevad:\u00a0<\/p>\n<ul>\n<li>intsidendid, mis on seotud mssql-iga;<\/li>\n<li>intsidendid, mis on tingitud v\u00e4listest teguritest;<\/li>\n<li>admini vead.<\/li>\n<\/ul>\n<p>\nHaarame p\u00f5hjalikumalt kinni adminide vigadest ja m\u00f5nest muust huvitavast eba\u00f5nnestumisest.<\/p>\n<h4>Viies koht \u2014 'Teeme korda DNS'i'<\/h4>\n<p>\nSee oli sombune teisip\u00e4ev. Otsustasime DNS-klastri korrastada.\u00a0<\/p>\n<p>Soovisime \u00fcmber seadistada sise dns-serverid bindilt powerdns-ile, eraldades selleks t\u00e4ielikult eraldi serverid, kus peale dns-i midagi ei ole.\u00a0<\/p>\n<p>Paigutasime igasse meie andmekeskuse asukohta \u00fche dns-serveri ja saabus hetk, mil tegime tsoonide \u00fcleviimise bindilt powerdns-ile ning l\u00fclitasime infrastruktuuri uutele serveritele.\u00a0<\/p>\n<p>\u00dcleviimise k\u00f5ige tihedamal perioodil j\u00e4i meil alles vaid \u00fcks dns-server, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1484\">serverid<\/a>, mis oli kohalikes vahem\u00e4lu bind-ides k\u00f5igil serveritel, oli Peterburi andmekeskuses. See andmekeskus oli algselt deklareeritud meie jaoks mitte kriitiliseks, kuid muutus \u00e4kitselt \u00fchekordseks rikke kohaks.<br \/>\nJust selle \u00fclemineku ajal kukkus kanal Moskva ja Peterburi vahel. Me olime tegelikult viie minuti jooksul DNS-ita ja saime uuesti t\u00f6\u00f6le, kui <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/\"   title=\"hostija\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1206\">hostija<\/a> vead likvideeriti.\u00a0<\/p>\n<p><b>Kokkuv\u00f5tted: <\/b><\/p>\n<p>Kui varem olime me v\u00e4listest teguritest t\u00f6\u00f6de ettevalmistamisel m\u00f6\u00f6da vaadanud, siis n\u00fc\u00fcd oleme need ka ettevalmistuse nimekirja lisanud. Ja n\u00fc\u00fcd p\u00fc\u00fcame tagada, et k\u00f5ik komponendid on reserveeritud n-2, ja t\u00f6\u00f6de ajaks saame selle taseme langetada n-1.<\/p>\n<ul>\n<li>Tegevusplaani koostamisel m\u00e4rkige \u00fcles punktid, kus teenus v\u00f5ib kokku kukkuda, ja m\u00f5elge l\u00e4bi stsenaarium, kus k\u00f5ik l\u00e4heb halvasti, ette.<\/li>\n<li>Jaotage sise dns-serverid erinevatesse geolokatsioonidesse\/andmekeskustesse\/rakendustesse\/l\u00fclititesse\/sisenditesse.<\/li>\n<li>Iga serveri jaoks seadke \u00fcles lokaalset vahem\u00e4lu dns-serverit, mis suunab p\u00e4ringud peamistele dns-serveritele ning juhul, kui see ei ole saadaval, vastab vahem\u00e4lust.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Neljas koht - \"Korrastame Nginx'i\"<\/h4>\n<p>\n\u00dchel kenal p\u00e4eval otsustas meie meeskond, et \u201epiisab sellest talumisest\u201c, ja algas nginx-i konfiguratsioonide refaktoreerimise protsess. Peamine eesm\u00e4rk on tuua konfiguratsioonid intuitiivselt arusaadavasse struktuuri. Varem oli k\u00f5ik olnud \u201eajaloo t\u00f5ttu\u201d ja loogikat ei olnud. N\u00fc\u00fcd on iga server_name viidatud sama nimega faili ja k\u00f5ik konfiguratsioonid on jaotatud kaustadesse. Muide - konfiguratsioon sisaldab 253949 rida v\u00f5i 7836520 m\u00e4rki ja on peaaegu 7 megabaiti suur. \u00dclemise taseme 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>On parem, kuid konfigureerimise \u00fcmbernimetamise ja jagamise k\u00e4igus oli mitmel neist vale laiend ja nad ei sattunud direktiivi include *.conf. Selle tulemusena olid m\u00f5ned hostid k\u00e4ttesaamatud ja suunati 301 p\u00f5hilehe poole. Kuna vastuskood ei olnud 5xx\/4xx, m\u00e4rkasime seda alles hommikul. P\u00e4rast seda hakkasime kirjutama teste infrastruktuuri komponentide kontrollimiseks.<\/p>\n<p><b>Kokkuv\u00f5tted:<\/b>\u00a0<\/p>\n<ul>\n<li>Struktureerige konfigureerimine \u00f5igesti (mitte ainult nginx) ja m\u00f5elge struktuuri varajases projekti etapis. Nii teete need meeskonnale arusaadavamaks, mis omakorda v\u00e4hendab TTM-i.<\/li>\n<li>Kirjutage m\u00f5ne infrastruktuuri komponendi jaoks teste. N\u00e4iteks: kontrollige, et k\u00f5ik olulised server_name tagastavad \u00f5ige staatuse ja vastuse keha. Piisab, kui teil on lihtsalt paar skripti, mis kontrollivad komponendi p\u00f5hifunktsioone, et mitte 3 \u00f6\u00f6sel p\u00f5hjalikult m\u00f5elda, mida veel kontrollida.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Kolmas koht \u2014 \"\u00dcht\u00e4kki l\u00f5ppes koht Cassandra's\"<\/h4>\n<p>\nAndmed kasvasid j\u00e4rk-j\u00e4rgult ja k\u00f5ik oli h\u00e4sti, kuni Cassandra klastris hakkasid kukkuma repair suurtel keyspace'idel, kuna compaction ei saanud t\u00f6\u00f6tada.\u00a0<\/p>\n<p>\u00dchel sombusel p\u00e4eval muutus klaster peaaegu k\u00f5rvitsaks, nimelt:<\/p>\n<ul>\n<li>koha j\u00e4i klastrisse umbes 20%;<\/li>\n<li>t\u00e4ielikult node'e lisada ei saa, kuna node'i lisamise j\u00e4rel ei toimu cleanup-i ruumi puudumise t\u00f5ttu partitsioonides;<\/li>\n<li>tootlikkus langeb tasapisi, kuna compaction ei toimi;\u00a0<\/li>\n<li>klaster t\u00f6\u00f6tab avariire\u017eiimis.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Topsite fopaad Cianis\" src=\"\/wp-content\/uploads\/2020\/05\/1d036fbc500a49a285fa4b0014e2a70d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u00e4ljund \u2014 lisasime veel 5 s\u00f5lme ilma puhastuseta, p\u00e4rast mida hakkasime j\u00e4rk-j\u00e4rgult klastrist eemaldama ja uuesti lisama, nagu t\u00fchjad s\u00f5lmed, millel ruum l\u00f5ppes. Aega on kulutatud oluliselt rohkem, kui oleks soovinud. Oli oht osalise v\u00f5i t\u00e4ieliku klastrite k\u00e4ttesaamatuse osas.\u00a0<\/p>\n<p><b>Kokkuv\u00f5tted:<\/b><\/p>\n<ul>\n<li>K\u00f5ikidel cassandra serveritel ei tohi iga jaotuse peal olla rohkem kui 60% ruumi kasutuses.\u00a0<\/li>\n<li>Need ei tohi olla laaditud rohkem kui 50% CPU-st.<\/li>\n<li>\u00c4rge unustage mahtude planeerimist ja seda tuleks m\u00f5elda iga kompoondi suhtes, l\u00e4htudes tema spetsiifikast.<\/li>\n<li>Mida rohkem s\u00f5lmi klastris, seda parem. Serverid, mis sisaldavad v\u00e4ikest andmemahu, laaditakse kiiremini ja sellist klastrit on lihtsam taastada.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Teine koht \u2014 \u201eAndmed kadusid consul key-value salvestusest\u201c<\/h4>\n<p>\nTeenuste avastamiseks kasutame nagu paljud teisedki consul. Kuid meil kasutatakse tema key-value veel ka monoliidi blue-green v\u00e4lja laskmiseks. Seal hoitakse teavet aktiivsete ja mitteaktiivsete upstreamide kohta, mis vahetavad kohti juurutamise ajal. Selleks kirjutati juurutamise teenus, mis suhtles KV-ga. \u00dchel hetkel kadusid andmed KV-st. Taastasime m\u00e4lust, kuid mitmete vigadega. Tagaj\u00e4rjena jaotati koormus upstreamidele eba\u00fchtlaselt ja saime palju 502 vigu, kuna backendide CPU oli \u00fcle koormatud. L\u00f5ppkokkuv\u00f5ttes kolisime consul KV-lt postgres'i, kust nende eemaldamine ei ole enam nii lihtne.\u00a0\u00a0<\/p>\n<p><b>Kokkuv\u00f5tted:<br \/>\n<\/b><\/p>\n<ul>\n<li>Teenused, millel ei ole mingit autoriseerimist, ei tohi sisaldada veebisaidi toimimiseks kriitilisi andmeid. N\u00e4iteks, kui teil ei ole autoriseerimist ES-is \u2014 oleks parem keelata juurdep\u00e4\u00e4s v\u00f5rgu tasemel k\u00f5ikjal, kus see ei ole vajalik, j\u00e4tta alles ainult vajalikud, ning seada action.destructive_requires_name: true.<\/li>\n<li>Harjutage varukoopiate ja taastamise mehhanismi eelnevalt. N\u00e4iteks kirjutage ette skript (n\u00e4iteks pythonis), mis oskab nii varundada kui ka taastada.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Esimene koht \u2014 \u201eKapten ebaselgus\u201c\u00a0<\/h4>\n<p>\nMingil hetkel m\u00e4rkamisime, et nginx'i \u00fclesvoolude koormus oli eba\u00fchtlaselt jaotunud, kui tagaplaanil oli rohkem kui 10 serverit. Kuna round-robin suunas p\u00e4ringud esimesest kuni viimase \u00fclesvooluni j\u00e4rjestikku ja iga nginx'i uuendamine algas algusest, said esimesed \u00fclesvoolud alati rohkem p\u00e4ringuid kui teised. Selle tulemusena t\u00f6\u00f6tasid nad aeglasemalt ja kogu veebisait kannatas. See muutus \u00fcha silmatorkavamaks, kui liiklus suurenes. Lihtne nginx'i v\u00e4rskendamine random'i toeks ei piisand \u2014 pidime \u00fcmber tegema hulga lua koodi, mis versioonil 1.15 ei t\u00f6\u00f6tanud (selles hetkes). Me pidime pat\u0161ima meie nginx 1.14.2, lisades sellele random'i toe. See lahendas probleemi. See bugi v\u00f5idab \u201ckapteni ebaselgus\u201d auhinna.<\/p>\n<p><b>Kokkuv\u00f5tted:<\/b><\/p>\n<p>See oli v\u00e4ga huvitav ja kaasahaarav uurida seda viga).\u00a0<\/p>\n<ul>\n<li>Seadke j\u00e4lgimine \u00fcles nii, et see aitaks kiiresti leida sarnaseid fluctuaatsioone. N\u00e4iteks v\u00f5ib kasutada ELK-d, et j\u00e4lgida rps-i iga tagaplaani jaoks iga \u00fclesvoolu puhul ning j\u00e4lgida nende vastusaega nginx'i kontekstis. Sel juhul aitas see meil probleemi tuvastada.\u00a0<\/li>\n<\/ul>\n<p>\nSuurema osa eba\u00f5nnestumisi oleks saanud v\u00e4ltida, kui oleksime l\u00e4henenud asjadele p\u00f5hjalikumalt. Peame alati meeles pidama Murphy seadust:\u00a0<i>Anything that can go wrong will go wrong, <\/i>ja ehitama komponente, l\u00e4htudes sellest.\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 5.0.1.1 - 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.\" \/>\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) 5.0.1.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\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.\" \/>\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\udd47Ciani top t\u00fclitused | ProHoster","description":"Tere k\u00f5igile! Minu nimi on Nikita, ma olen Ciani inseneride meeskonna juht.","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.","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","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\/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}]}}