{"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\/pt\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov","title":{"rendered":"Como n\u00f3s, no CIAN, controlamos terabytes de logs","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/4efc58ba81fcaa7c8481bbeaa6bb083e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOl\u00e1 a todos, meu nome \u00e9 Alexandre, trabalho na CIAN como engenheiro e sou respons\u00e1vel pela administra\u00e7\u00e3o de sistemas e automa\u00e7\u00e3o de processos de infraestrutura. Nos coment\u00e1rios de um dos artigos anteriores, fomos solicitados a explicar de onde obtemos 4 TB de logs por dia e o que fazemos com eles. Sim, temos muitos logs, e para process\u00e1-los, criamos um cluster de infraestrutura separado que nos permite resolver problemas de forma r\u00e1pida. Neste artigo, contarei como, ao longo de um ano, adaptamos esse cluster para lidar com o fluxo de dados em constante crescimento.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Como come\u00e7amos<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/9b0919df70114d4ebb559c93ec012a4d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNos \u00faltimos anos, a carga no cian.ru cresceu muito rapidamente, e no terceiro trimestre de 2018, o site alcan\u00e7ou 11,2 milh\u00f5es de usu\u00e1rios \u00fanicos por m\u00eas. Naquela \u00e9poca, em momentos cr\u00edticos, perd\u00edamos at\u00e9 40% dos logs, o que impedia nossa capacidade de responder rapidamente a incidentes, fazendo com que gast\u00e1ssemos muito tempo e esfor\u00e7o para resolv\u00ea-los. Al\u00e9m disso, muitas vezes n\u00e3o consegu\u00edamos encontrar a causa do problema, e ele se repetia ap\u00f3s algum tempo. Foi um verdadeiro inferno que precisava ser resolvido.<\/p>\n<p>Naquela \u00e9poca, para armazenar os logs, utiliz\u00e1vamos um cluster de 10 data nodes com ElasticSearch vers\u00e3o 5.5.2 e configura\u00e7\u00f5es de \u00edndice padr\u00e3o. Ele foi implementado h\u00e1 mais de um ano como uma solu\u00e7\u00e3o popular e acess\u00edvel: naquela \u00e9poca, o fluxo de logs n\u00e3o era t\u00e3o grande, e n\u00e3o havia sentido em criar configura\u00e7\u00f5es n\u00e3o convencionais.\u00a0<\/p>\n<p>O processamento dos logs de entrada era realizado pelo Logstash em diferentes portas em cinco coordenadores do ElasticSearch. Um \u00edndice, independentemente do tamanho, consistia em cinco shards. Havia rota\u00e7\u00e3o hor\u00e1ria e di\u00e1ria, resultando na cria\u00e7\u00e3o de cerca de 100 novos shards a cada hora. Enquanto os logs n\u00e3o eram muito numerosos, o cluster conseguia lidar e ningu\u00e9m prestava aten\u00e7\u00e3o nas suas configura\u00e7\u00f5es.\u00a0<\/p>\n<h3>Problemas de crescimento r\u00e1pido<\/h3>\n<p>\nO volume de logs gerados cresceu muito rapidamente, pois dois processos se sobrepuseram. Por um lado, o n\u00famero de usu\u00e1rios do servi\u00e7o estava aumentando. Por outro lado, come\u00e7amos a transitar ativamente para uma arquitetura de microservi\u00e7os, dividindo nossos antigos mon\u00f3litos em C# e Python. V\u00e1rios novos microservi\u00e7os, que substitu\u00edam partes do mon\u00f3lito, geravam significativamente mais logs para o cluster de infraestrutura.\u00a0<\/p>\n<p>A escalabilidade nos levou a um ponto onde o cluster se tornou praticamente incontrol\u00e1vel. Quando os logs come\u00e7aram a chegar a uma taxa de 20 mil mensagens por segundo, a rota\u00e7\u00e3o frequente e in\u00fatil aumentou o n\u00famero de shards para 6 mil, e cada n\u00f3 estava lidando com mais de 600 shards.\u00a0<\/p>\n<p>Isso causava problemas de aloca\u00e7\u00e3o de mem\u00f3ria, e quando um n\u00f3 falhava, todos os shards se deslocavam simultaneamente, multiplicando o tr\u00e1fego e sobrecarregando os outros n\u00f3s, tornando quase imposs\u00edvel gravar dados no cluster. E durante esse per\u00edodo, ficamos sem logs. E quando havia um problema com <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-prohoster\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2986\">servidor<\/a> perd\u00edamos 1\/10 do cluster no geral. A grande quantidade de \u00edndices pequenos tornava as coisas ainda mais complicadas.<\/p>\n<p>Sem logs, n\u00e3o entend\u00edamos as causas do incidente e pod\u00edamos, cedo ou tarde, cometer os mesmos erros novamente, o que era inaceit\u00e1vel para a nossa equipe, j\u00e1 que todos os mecanismos de trabalho estavam exatamente voltados para o oposto \u2014 nunca repetir os mesmos problemas. Para isso, precis\u00e1vamos de um volume completo de logs e a entrega deles praticamente em tempo real, uma vez que a equipe de engenheiros de plant\u00e3o monitorava alertas n\u00e3o apenas de m\u00e9tricas, mas tamb\u00e9m de logs. Para entender a magnitude do problema \u2014 na \u00e9poca, o volume total de logs era de cerca de 2 TB por dia.\u00a0<\/p>\n<p>Estabelecemos a meta de eliminar completamente a perda de logs e reduzir o tempo de entrega no cluster ELK para no m\u00e1ximo 15 minutos durante situa\u00e7\u00f5es de emerg\u00eancia (esse n\u00famero se tornou um KPI interno).<\/p>\n<h3>Um novo mecanismo de rota\u00e7\u00e3o e n\u00f3s hot-warm<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/aca8d792d8b2f002475554d05e8d5451.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIniciamos a transforma\u00e7\u00e3o do cluster com a atualiza\u00e7\u00e3o da vers\u00e3o do ElasticSearch de 5.5.2 para 6.4.3. Mais uma vez, o cluster da vers\u00e3o 5 caiu, e decidimos deslig\u00e1-lo e atualiz\u00e1-lo completamente \u2014 afinal, n\u00e3o havia logs. Portanto, essa transi\u00e7\u00e3o foi feita em apenas algumas horas.<\/p>\n<p>A transforma\u00e7\u00e3o mais significativa nesta fase foi a implementa\u00e7\u00e3o em tr\u00eas n\u00f3s com um coordenador atuando como um buffer intermedi\u00e1rio do Apache Kafka. O broker de mensagens nos livrou da perda de logs durante problemas com o ElasticSearch. Ao mesmo tempo, adicionamos 2 n\u00f3s ao cluster e migramos para uma arquitetura hot-warm com tr\u00eas n\u00f3s \"quentes\", distribu\u00eddos em diferentes racks no data center. Neles, redirecionamos os logs que n\u00e3o podiam ser perdidos de jeito nenhum \u2014 nginx, al\u00e9m dos logs de erros das aplica\u00e7\u00f5es. Os outros n\u00f3s receberam logs menores \u2014 debug, warning, etc., e ap\u00f3s 24 horas, os \"logs importantes\" foram transferidos dos n\u00f3s \"quentes\".<\/p>\n<p>Para n\u00e3o aumentar a quantidade de \u00edndices pequenos, passamos da rota\u00e7\u00e3o por tempo para o mecanismo de rollover. Havia muitas informa\u00e7\u00f5es em f\u00f3runs sobre a confiabilidade insatisfat\u00f3ria da rota\u00e7\u00e3o por tamanho do \u00edndice, por isso decidimos usar a rota\u00e7\u00e3o pelo n\u00famero de documentos no \u00edndice. Analisamos cada \u00edndice e registramos a quantidade de documentos ap\u00f3s a qual a rota\u00e7\u00e3o deve ser acionada. Assim, conseguimos um tamanho de shard otimizado \u2014 n\u00e3o mais que 50 GB.\u00a0<\/p>\n<h3>Otimiza\u00e7\u00e3o do cluster<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/89503fc8aa92060e750bdc9cdd63a7e3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo entanto, n\u00e3o nos livramos completamente dos problemas. Infelizmente, ainda surgiam pequenos \u00edndices: eles n\u00e3o atingiam o tamanho necess\u00e1rio, n\u00e3o eram rotacionados e eram removidos pela limpeza global dos \u00edndices mais antigos que tr\u00eas dias, pois eliminamos a rota\u00e7\u00e3o por data. Isso resultou na perda de dados, pois o \u00edndice desaparecia completamente do cluster, e a tentativa de grava\u00e7\u00e3o em um \u00edndice inexistente quebrava a l\u00f3gica do curator que utiliz\u00e1vamos para gerenciamento. O alias para grava\u00e7\u00e3o era transformado em \u00edndice e quebrava a l\u00f3gica do rollover, causando um crescimento descontrolado de alguns \u00edndices at\u00e9 600 GB.\u00a0<\/p>\n<p>Por exemplo, para a configura\u00e7\u00e3o de rota\u00e7\u00e3o:<\/p>\n<pre><code class=\"plaintext\">curator-elk-rollover.yaml\n\n---\nactions:\n\u00a0\u00a01:\n\u00a0\u00a0\u00a0\u00a0action: rollover\n\u00a0\u00a0\u00a0\u00a0options:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0name: \"nginx_write\"\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0conditions:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0max_docs: 100000000\n\u00a0\u00a02:\n\u00a0\u00a0\u00a0\u00a0action: rollover\n\u00a0\u00a0\u00a0\u00a0options:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0name: \"python_error_write\"\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0conditions:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0max_docs: 10000000\n<\/code><\/pre>\n<p>Na aus\u00eancia do rollover alias, ocorreu um erro:<\/p>\n<pre><code class=\"plaintext\">ERROR \u00a0 \u00a0 alias \"nginx_write\" not found.\nERROR \u00a0 \u00a0 Failed to complete action: rollover.\u00a0 : Unable to perform index rollover with alias \"nginx_write\".\n<\/code><\/pre>\n<p>N\u00f3s deixamos a solu\u00e7\u00e3o desse problema para a pr\u00f3xima itera\u00e7\u00e3o e nos concentramos em outra quest\u00e3o: mudamos para a l\u00f3gica de trabalho pull do Logstash, que lida com o processamento dos logs de entrada (remo\u00e7\u00e3o de informa\u00e7\u00f5es desnecess\u00e1rias e enriquecimento). Colocamos-no em um docker, que iniciamos atrav\u00e9s do docker-compose, e tamb\u00e9m hospedamos o logstash-exporter, que fornece m\u00e9tricas ao Prometheus para monitoramento em tempo real do fluxo de logs. Assim, permitimos a n\u00f3s mesmos mudar suavemente o n\u00famero de inst\u00e2ncias do logstash respons\u00e1veis pelo processamento de cada tipo de log.<\/p>\n<p>Enquanto aprimor\u00e1vamos o cluster, o tr\u00e1fego do cian.ru cresceu para 12,8 milh\u00f5es de usu\u00e1rios \u00fanicos por m\u00eas. Como resultado, nossas transforma\u00e7\u00f5es acabaram n\u00e3o acompanhando as mudan\u00e7as no ambiente de produ\u00e7\u00e3o, e enfrentamos o problema de que os n\u00f3s 'quentes' n\u00e3o conseguiam lidar com a carga e estavam atrasando toda a entrega dos logs. Receb\u00edamos os dados 'quentes' sem falhas, mas a entrega dos demais exigia interven\u00e7\u00e3o manual para fazer o rollover e distribuir os \u00edndices de forma equilibrada.\u00a0<\/p>\n<p>Com isso, a escalabilidade e a altera\u00e7\u00e3o das configura\u00e7\u00f5es das inst\u00e2ncias do logstash no cluster tornavam-se complicadas, pois era um docker-compose local, e todas as a\u00e7\u00f5es eram realizadas manualmente (para adicionar novos endpoints, era necess\u00e1rio acessar manualmente todos os servidores e executar docker-compose up -d em cada um deles).<\/p>\n<h3>Redistribui\u00e7\u00e3o dos logs<\/h3>\n<p>\nEm setembro deste ano, ainda continu\u00e1vamos a desmembrar o mon\u00f3lito, a carga no cluster aumentava, e o fluxo de logs se aproximava de 30 mil mensagens por segundo.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/00f00af4ad5fa0080a19f36d0ac4b19e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome\u00e7amos a pr\u00f3xima itera\u00e7\u00e3o com uma atualiza\u00e7\u00e3o de hardware. Passamos de cinco coordenadores para tr\u00eas, trocamos os n\u00f3s de dados e ganhamos em custo e armazenamento. Para os n\u00f3s, usamos duas configura\u00e7\u00f5es:\u00a0<\/p>\n<ul>\n<li>Para os n\u00f3s 'quentes': E3-1270 v6 \/ 960Gb SSD \/ 32 Gb x 3 x 2 (3 para Hot1 e 3 para Hot2).\n<\/li>\n<li>Para os n\u00f3s 'quentes': E3-1230 v6 \/ 4Tb SSD \/ 32 Gb x 4.\n<\/li>\n<\/ul>\n<p>\nNesta itera\u00e7\u00e3o, movemos o \u00edndice com os logs de acesso dos microservi\u00e7os, que ocupa tanto espa\u00e7o quanto os logs dos frontais nginx, para o segundo grupo de tr\u00eas n\u00f3s 'quentes'. Agora, armazenamos os dados nos n\u00f3s 'quentes' por 20 horas, e depois os transferimos para os 'quentes' junto com os outros logs.\u00a0<\/p>\n<p>Resolvemos o problema do desaparecimento dos pequenos \u00edndices ajustando a rota\u00e7\u00e3o deles. Agora, os \u00edndices s\u00e3o rotacionados a cada 23 horas, mesmo que haja poucos dados. Isso aumentou ligeiramente o n\u00famero de shards (agora s\u00e3o cerca de 800), mas do ponto de vista de desempenho do cluster, isso \u00e9 aceit\u00e1vel.\u00a0<\/p>\n<p>Como resultado, o cluster ficou com seis n\u00f3s 'quentes' e apenas quatro 'frios'. Isso causa um pequeno atraso nas consultas em grandes intervalos de tempo, mas um aumento no n\u00famero de n\u00f3s no futuro resolver\u00e1 esse problema.<\/p>\n<p>Nesta itera\u00e7\u00e3o, tamb\u00e9m corrigimos o problema da falta de escalonamento semi-autom\u00e1tico. Para isso, implantamos um cluster de infraestrutura Nomad \u2014 semelhante ao que j\u00e1 temos em produ\u00e7\u00e3o. Por enquanto, o n\u00famero de Logstash n\u00e3o \u00e9 ajustado automaticamente de acordo com a carga, mas chegaremos l\u00e1.<\/p>\n<p><img decoding=\"async\" alt=\"Como n\u00f3s, no CIAN, controlamos terabytes de logs\" src=\"\/wp-content\/uploads\/2019\/12\/c06905f266238990d989bf2d7c84be3d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Planos futuros<\/h3>\n<p>\nA configura\u00e7\u00e3o implementada escala muito bem, e atualmente armazenamos 13,3 TB de dados \u2014 todos os logs de 4 dias, necess\u00e1rios para a an\u00e1lise r\u00e1pida de alertas. Parte dos logs estamos convertendo em m\u00e9tricas, que armazenamos no Graphite. Para facilitar o trabalho dos engenheiros, temos m\u00e9tricas para o cluster de infraestrutura e scripts para a corre\u00e7\u00e3o semi-autom\u00e1tica de problemas t\u00edpicos. Ap\u00f3s o aumento do n\u00famero de n\u00f3s de dados, planejado para o pr\u00f3ximo ano, mudaremos o armazenamento de dados de 4 para 7 dias. Isso ser\u00e1 suficiente para o trabalho operacional, pois sempre tentamos investigar incidentes o mais r\u00e1pido poss\u00edvel, enquanto os dados de telemetria servem para investiga\u00e7\u00f5es de longo prazo.\u00a0<\/p>\n<p>Em outubro de 2019, a visita\u00e7\u00e3o do cian.ru cresceu para 15,3 milh\u00f5es de usu\u00e1rios \u00fanicos por m\u00eas. Isso foi um teste s\u00e9rio para a solu\u00e7\u00e3o arquitet\u00f4nica de entrega de logs.\u00a0<\/p>\n<p>Atualmente, estamos nos preparando para atualizar o ElasticSearch para a vers\u00e3o 7. No entanto, para isso, teremos que atualizar o mapeamento de muitos \u00edndices no ElasticSearch, pois eles foram migrados da vers\u00e3o 5.5 e foram declarados obsoletos na vers\u00e3o 6 (na vers\u00e3o 7, eles simplesmente n\u00e3o existem). E isso significa que, durante o processo de atualiza\u00e7\u00e3o, certamente haver\u00e1 algum imprevisto que nos deixar\u00e1 sem logs temporariamente. Da vers\u00e3o 7, aguardamos com mais expectativa o Kibana, com uma interface aprimorada e novos filtros.\u00a0<\/p>\n<p>Alcan\u00e7amos nosso objetivo principal: deixamos de perder logs e reduzimos o tempo de inatividade do cluster de infraestrutura de 2-3 falhas por semana para algumas horas de manuten\u00e7\u00e3o por m\u00eas. Todo esse trabalho em produ\u00e7\u00e3o \u00e9 quase impercept\u00edvel. No entanto, agora podemos identificar com precis\u00e3o o que est\u00e1 acontecendo com nosso servi\u00e7o, podemos fazer isso rapidamente em um modo tranquilo e n\u00e3o precisamos nos preocupar com a perda de logs. No geral, estamos satisfeitos, felizes e nos preparando para novos feitos, sobre os quais contaremos mais tarde.<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Como n\u00f3s da CIAN domamos terabytes de logs | ProHoster","description":"Oi pessoal, meu nome \u00e9 Alexandre, eu trabalho na CIAN.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-v-tsian-ukroshhali-terabajty-logov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/53590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=53590"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53590\/revisions"}],"predecessor-version":[{"id":160267,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/53590\/revisions\/160267"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=53590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=53590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=53590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}