{"id":53590,"date":"2019-12-05T00:00:00","date_gmt":"2019-12-04T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kak-my-v-tsian-ukroshhali-terabajty-logov"},"modified":"2020-02-18T14:01:30","modified_gmt":"2020-02-18T11:01:30","slug":"kak-my-v-tsian-ukroshhali-terabajty-logov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov","title":{"rendered":"Kako smo u CIAN-u ukrotili terabajte logova","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/4efc58ba81fcaa7c8481bbeaa6bb083e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBok svima, ja sam Aleksandar, radim kao in\u017eenjer u CIAN-u i bavim se sistemskim administriranjem i automatizacijom infrastrukturnih procesa. U komentarima na jedan od pro\u0161lih \u010dlanaka zamolili su nas da objasnimo odakle uzimamo 4 TB logova dnevno i \u0161to radimo s njima. Da, imamo puno logova, a za njihovu obradu stvoren je poseban infrastrukturni klaster koji nam omogu\u0107ava brzo rje\u0161avanje problema. U ovom \u010dlanku \u0107u objasniti kako smo u godinu dana prilagodili ovaj sustav za rad s kontinuirano rastu\u0107im tokom podataka.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Od \u010dega smo po\u010deli<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/9b0919df70114d4ebb559c93ec012a4d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPosljednjih nekoliko godina optere\u0107enje na cian.ru brzo je raslo, a do tre\u0107eg kvartala 2018. godine posje\u0107enost resursa dostigla je 11.2 milijuna jedinstvenih korisnika mjese\u010dno. U to vrijeme, u kriti\u010dnim trenucima smo gubili do 40% logova, zbog \u010dega nismo mogli brzo reagirati na incidente i tro\u0161ili smo puno vremena i truda na njihovo rje\u0161avanje. Tako\u0111er smo \u010desto nismo mogli prona\u0107i uzrok problema, \u0161to je rezultiralo ponavljanjem istih nakon nekog vremena. To je bila katastrofa kojoj se trebalo posvetiti.<\/p>\n<p>Tada smo koristili klaster od 10 data-nodova s ElasticSearch verzije 5.5.2 s standardnim postavkama indeksa za pohranu logova. Uveden je vi\u0161e od godinu dana kao popularno i pristupa\u010dno rje\u0161enje: tada tok logova nije bio tako velik, pa nije bilo smisla smi\u0161ljati nestandardne konfiguracije.\u00a0<\/p>\n<p>Obradu dolaznih logova osiguravao je Logstash na razli\u010ditim portovima na pet koordinatora ElasticSearch. Jedan indeks, neovisno o veli\u010dini, sastojao se od pet shardova. Organizirana je rotacija na satnoj i dnevnoj bazi, te je rezultat bio da je svaki sat u klasteru dolazilo otprilike 100 novih shardova. Dok logova nije bilo previ\u0161e, klaster je dobro funkcionirao i nitko se nije usredoto\u010dio na njegove postavke.\u00a0<\/p>\n<h3>Problemi brzi rast<\/h3>\n<p>\nObujam generiranih logova brzo je rastao, jer su se dva procesa preklapala. S jedne strane, broj korisnika usluge je rastao. S druge strane, po\u010deli smo aktivno prelaziti na mikroservisnu arhitekturu, razdvajaju\u0107i na\u0161e stare monolite napisane u C# i Pythonu. Nekoliko desetaka novih mikroservisa, koji su zamijenili dijelove monolita, generiralo je znatno vi\u0161e logova za infrastrukturni klaster.\u00a0<\/p>\n<p>Skaliranje je upravo dovelo do toga da je klaster postao gotovo neurediv. Kada su logovi po\u010deli pristizati brzinom od 20 tisu\u0107a poruka u sekundi, \u010desta beskorisna rotacija pove\u0107ala je broj shardova na 6 tisu\u0107a, a na jednu nodu je dolazilo vi\u0161e od 600 shardova.\u00a0<\/p>\n<p>To je dovodilo do problema s alokacijom radne memorije, a kada bi do\u0161lo do pada node, po\u010dinjao je simultani oporavak svih shardova, pove\u0107avaju\u0107i promet i optere\u0107uju\u0107i ostale node, \u0161to je gotovo onemogu\u0107ilo zapis podataka u klaster. U to vrijeme ostali smo bez logova. A pri problemu s <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hr\/server\/dts-prohoster\/\"   title=\"serverom\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2986\">serverom<\/a> gubili bismo 1\/10 klastera u su\u0161tini. Veliki broj malih indeksa dodatno je ote\u017eao situaciju.<\/p>\n<p>Bez logova nismo razumjeli uzroke incidenta i mogli smo na kraju ponovno naletjeti na iste probleme, a u ideologiji na\u0161e ekipe to je bilo neprihvatljivo, jer su svi na\u0161i radni mehanizmi usmjereni upravo na suprotno \u2014 nikada ne ponavljati iste probleme. Za to su nam bili potrebni puni logovi i dostava gotovo u stvarnom vremenu, jer je tim in\u017eenjera na du\u017enosti pratio alerte ne samo od metrika, nego i od logova. Da bismo razumjeli opseg problema \u2014 u to vrijeme ukupna koli\u010dina logova iznosila je oko 2 TB dnevno.\u00a0<\/p>\n<p>Postavili smo cilj \u2014 potpuno isklju\u010diti gubitak logova i skratiti vrijeme njihove dostave u ELK klaster na maksimalno 15 minuta tijekom izvanrednih situacija (na ovu brojku smo se kasnije oslanjali kao na unutarnji KPI).<\/p>\n<h3>Novi mehanizam rotacije i hot-warm node<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/aca8d792d8b2f002475554d05e8d5451.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTransformaciju klastera zapo\u010deli smo a\u017euriranjem verzije ElasticSearch s 5.5.2 na 6.4.3. Ponovno nam je klaster pete verzije pao, odlu\u010dili smo ga gasiti i potpuno a\u017eurirati \u2014 logova ionako nema. Tako smo ovaj prijelaz izvr\u0161ili za tek nekoliko sati.<\/p>\n<p>Najve\u0107a transformacija u ovoj fazi bilo je implementiranje na tri \u010dvora s koordinatorom kao me\u0111uspremnikom za Apache Kafka. Poslani\u010dka platforma oslobodila nas je od gubitka logova tijekom problema s ElasticSearch. Istovremeno smo dodali 2 \u010dvora u klaster i pre\u0161li na hot-warm arhitekturu s tri \u201evru\u0107a\u201c \u010dvora raspore\u0111ena u razli\u010ditim ormarima u podatkovnom centru. Na njih smo preusmjerili logove koje ne smijemo gubiti pod nikakvim uvjetima \u2014 nginx, kao i logove gre\u0161aka aplikacija. Na ostale \u010dvorove su odlazili manji logovi \u2014 debug, warning itd., a tako\u0111er su nakon 24 sata prelazili \u201eva\u017eni\u201c logovi s \u201evru\u0107ih\u201c \u010dvorova.<\/p>\n<p>Kako bismo izbjegli pove\u0107anje broja malih indeksa, pre\u0161li smo s rotacije prema vremenu na mehanizam rollover. Na forumima je bilo mnogo informacija da je rotacija prema veli\u010dini indeksa vrlo nepouzdana, pa smo odlu\u010dili koristiti rotaciju prema broju dokumenata u indeksu. Analizirali smo svaki indeks i zabilje\u017eili broj dokumenata nakon kojeg bi trebala uslijediti rotacija. Na taj na\u010din smo postigli optimalnu veli\u010dinu shard-a \u2014 ne vi\u0161e od 50 GB.\u00a0<\/p>\n<h3>Optimizacija klastera<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/89503fc8aa92060e750bdc9cdd63a7e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMe\u0111utim, potpuno se nismo oslobodili problema. Na\u017ealost, i dalje su se pojavljivali mali indeksi: nisu dostizali zadani volumen, nisu se rotirali i brisani su globalnim \u010di\u0161\u0107enjem indeksa starijih od tri dana, budu\u0107i da smo uklonili rotaciju prema datumu. To je dovodilo do gubitka podataka jer je indeks potpuno nestajao iz klastera, a poku\u0161aj pisanja u nepostoje\u0107i indeks lomio je logiku curator-a, koji smo koristili za upravljanje. Alias za pisanje pretvarao se u indeks i lomio logiku rollover-a, uzrokuju\u0107i nekontrolirani rast nekih indeksa do 600 GB.\u00a0<\/p>\n<p>Na primjer, za konfiguraciju rotacije:<\/p>\n<pre><code class=\"plaintext\">curator-elk-rollover.yaml\n\n---\nactions:\n  1:\n    action: rollover\n    options:\n      name: \"nginx_write\"\n      conditions:\n        max_docs: 100000000\n  2:\n    action: rollover\n    options:\n      name: \"python_error_write\"\n      conditions:\n        max_docs: 10000000\n<\/code><\/pre>\n<p>U nedostatku rollover aliasa pojavila se gre\u0161ka:<\/p>\n<pre><code class=\"plaintext\">ERROR     alias \"nginx_write\" not found.\nERROR     Failed to complete action: rollover.  : Unable to perform index rollover with alias \"nginx_write\".\n<\/code><\/pre>\n<p>Rje\u0161enje ovog problema ostavili smo za sljede\u0107u iteraciju i pre\u0161li na drugo pitanje: primijenili smo pull logiku rada Logstasha, koji se bavi obradom dolaznih logova (uklanjanjem suvi\u0161nih informacija i oboga\u0107ivanjem). Smjestili smo ga u docker, koji pokre\u0107emo putem docker-compose, a tamo smo tako\u0111er postavili logstash-exporter, koji \u0161alje metrike u Prometheus za operativno pra\u0107enje protoka logova. Tako smo si omogu\u0107ili da postepeno mijenjamo broj instanci logstasha, koji su odgovarali za obradu svake vrste logova.<\/p>\n<p>Dok smo usavr\u0161avali klaster, posje\u0107enost cian.ru porasla je na 12,8 milijuna jedinstvenih korisnika mjese\u010dno. Kao rezultat, na\u0161i procesi transformacije malo su kasnili za promjenama na produkciji, i suo\u010dili smo se s tim da \"topli\" \u010dvorovi nisu izdr\u017eavali optere\u0107enje i usporavali su cijelu isporuku logova. \"Vru\u0107i\" podaci dolazili su bez gre\u0161aka, ali u isporuku ostalih morali smo intervenirati i napraviti ru\u010dni rollover kako bismo ravnomjerno rasporedili indekse.\u00a0<\/p>\n<p>Pri tome je skaliranje i promjena postavki instanci logstasha u klasteru bila ote\u017eana time \u0161to je to bio lokalni docker-compose, a sve radnje obavljale su se ru\u010dno (za dodavanje novih krajnjih to\u010daka bilo je potrebno ru\u010dno pro\u0107i kroz sve servere i svugdje izvr\u0161iti docker-compose up -d).<\/p>\n<h3>Preusmjeravanje logova<\/h3>\n<p>\nU rujnu ove godine jo\u0161 uvijek smo nastavljali razdvajati monolit, optere\u0107enje na klasteru je raslo, a protok logova pribli\u017eavao se 30 tisu\u0107a poruka u sekundi.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/00f00af4ad5fa0080a19f36d0ac4b19e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSljede\u0107u iteraciju zapo\u010deli smo s a\u017euriranjem hardvera. Od pet koordinatora pre\u0161li smo na tri, zamijenili smo data-nodove i ostvarili u\u0161tede i u novcu i u volumenu pohrane. Za nodove koristimo dvije konfiguracije:\u00a0<\/p>\n<ul>\n<li>Za \"vru\u0107e\" nodove: E3-1270 v6 \/ 960Gb SSD \/ 32 Gb x 3 x 2 (3 za Hot1 i 3 za Hot2).\n<\/li>\n<li>Za \"tople\" nodove: E3-1230 v6 \/ 4Tb SSD \/ 32 Gb x 4.\n<\/li>\n<\/ul>\n<p>\nNa ovoj iteraciji izdvojili smo indeks s access-logovima mikroservisa, koji zauzima isto toliko prostora koliko i logovi frontovnog nginx-a, u drugu grupu od tri \"vru\u0107a\" nodova. Podatke na \"vru\u0107im\" nodovima sada \u010duvamo 20 sati, a zatim ih premje\u0161tamo na \"tople\" s ostalim logovima.\u00a0<\/p>\n<p>Problem o nestanku malih indeksa rije\u0161en je prilagodbom njihove rotacije. Sada se indeksi rotiraju svakih 23 sata, \u010dak i ako ima malo podataka. To je malo pove\u0107alo broj shardova (sada ih je otprilike 800), ali s obzirom na performanse klastera, to je podno\u0161ljivo.\u00a0<\/p>\n<p>Kao rezultat toga, u klasteru imamo \u0161est 'vru\u0107ih' i samo \u010detiri 'topla' node. To uzrokuje lagano ka\u0161njenje u upitima tokom dugih vremenskih intervala, ali pove\u0107anje broja nodova u budu\u0107nosti \u0107e rije\u0161iti ovaj problem.<\/p>\n<p>U ovoj iteraciji ispravili smo i problem s nedostatkom poluautomatskog skaliranja. Za to smo implementirali infrastrukturalni Nomad klaster - sli\u010dan onom koji ve\u0107 imamo na produkciji. Trenutno se broj Logstash-a ne mijenja automatski prema optere\u0107enju, ali i do toga \u0107emo do\u0107i.<\/p>\n<p><img decoding=\"async\" alt=\"Kako smo u CIAN-u ukrotili terabajte logova\" src=\"\/wp-content\/uploads\/2019\/12\/c06905f266238990d989bf2d7c84be3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Planovi za budu\u0107nost<\/h3>\n<p>\nImplementirana konfiguracija se odli\u010dno skalira, a sada \u010duvamo 13,3 TB podataka \u2014 sve logove za 4 dana, \u0161to je potrebno za hitno razmatranje alertova. Dio logova pretvaramo u metrike koje pohranjujemo u Graphite. Kako bismo olak\u0161ali rad in\u017eenjera, imamo metrike za infrastrukturalni klaster i skripte za poluautomatsko ispravljanje tipi\u010dnih problema. Nakon pove\u0107anja broja data nodova, \u0161to je planirano za sljede\u0107u godinu, prelazimo na \u010duvanje podataka sa 4 na 7 dana. To \u0107e biti dovoljno za operativni rad, jer uvijek nastojimo istra\u017eiti incidente \u0161to je br\u017ee mogu\u0107e, a za dugoro\u010dna istra\u017eivanja imamo podatke telemetrije.\u00a0<\/p>\n<p>U listopadu 2019. godine, promet cian.ru porastao je na 15,3 milijuna jedinstvenih korisnika mjese\u010dno. To je bilo ozbiljno ispitivanje arhitektonskog rje\u0161enja za dostavu logova.\u00a0<\/p>\n<p>Trenutno se pripremamo za nadogradnju ElasticSearch-a na verziju 7. No, za to \u0107e biti potrebno a\u017eurirati mapping mnogih indeksa u ElasticSearch-u, budu\u0107i da su pre\u0161li s verzije 5.5 i progla\u0161eni su deprecated u verziji 6 (u verziji 7 ih jednostavno nema). To zna\u010di da \u0107e tijekom nadogradnje sigurno do\u0107i do nekih nepredvi\u0111enih okolnosti koje \u0107e nas na vrijeme ostaviti bez logova. Iz verzije 7 najvi\u0161e o\u010dekujemo Kibanu s pobolj\u0161anim su\u010deljem i novim filtrima.\u00a0<\/p>\n<p>Glavni cilj smo postigli: prestali smo gubiti logove i smanjili vrijeme zastoja infrastrukturalnog klastera s 2-3 pada tjedno na nekoliko sati servisnih radova mjese\u010dno. Sav taj rad u produkciji gotovo je neprimjetan. Me\u0111utim, sada mo\u017eemo to\u010dno odrediti \u0161to se doga\u0111a s na\u0161om uslugom, mo\u017eemo brzo to raditi u mirnom re\u017eimu i ne brinuti se da \u0107e logovi biti izgubljeni. U cjelini, zadovoljni smo, sretni i pripremamo se za nove podvige, o kojima \u0107emo pri\u010dati kasnije.<br \/>\n<br \/>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cian\/blog\/478564\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0418\u0410\u041d \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u043d\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043e\u0442\u043a\u0443\u0434\u0430 \u043c\u044b \u0431\u0435\u0440\u0435\u043c 4 \u0422\u0411 \u043b\u043e\u0433\u043e\u0432 \u0432 \u0434\u0435\u043d\u044c \u0438 \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0435\u043c. \u0414\u0430, \u043b\u043e\u0433\u043e\u0432 \u0443 \u043d\u0430\u0441 \u043c\u043d\u043e\u0433\u043e, \u0438 \u0434\u043b\u044f \u0438\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53590","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0418\u0410\u041d.\" \/>\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\/hr\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\u041a\u0430\u043a \u043c\u044b \u0432 \u0426\u0418\u0410\u041d \u0443\u043a\u0440\u043e\u0449\u0430\u043b\u0438 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u044b \u043b\u043e\u0433\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0418\u0410\u041d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov\" \/>\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-12-04T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:30+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\udd47Kako smo u CIAN-u ukrotili terabajte logova | ProHoster","description":"Pozdrav svima, zovem se Aleksandar, radim u CIAN-u.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\u041a\u0430\u043a \u043c\u044b \u0432 \u0426\u0418\u0410\u041d \u0443\u043a\u0440\u043e\u0449\u0430\u043b\u0438 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u044b \u043b\u043e\u0433\u043e\u0432 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0418\u0410\u041d.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov","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-12-04T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53590","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 22:17:34","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:22:49","updated":"2026-02-09 22:17:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/53590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=53590"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/53590\/revisions"}],"predecessor-version":[{"id":160267,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/53590\/revisions\/160267"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=53590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=53590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=53590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}