{"id":32322,"date":"2019-10-31T21:46:21","date_gmt":"2019-10-31T18:46:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\/"},"modified":"2019-10-31T21:46:21","modified_gmt":"2019-10-31T18:46:21","slug":"kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","title":{"rendered":"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Meu nome \u00e9 Anton Baderin. Trabalho no Centro de Altas Tecnologias e sou respons\u00e1vel pela administra\u00e7\u00e3o de sistemas. H\u00e1 um m\u00eas, nossa confer\u00eancia corporativa foi conclu\u00edda, onde compartilhamos experi\u00eancias acumuladas com a comunidade de TI da nossa cidade. Falei sobre monitoramento de aplica\u00e7\u00f5es web. O material foi destinado a profissionais de n\u00edvel j\u00fanior ou m\u00e9dio, que ainda n\u00e3o implementaram esse processo do zero.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/c181509e6a10dd7562f361f328446d61.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A pedra angular de qualquer sistema de monitoramento \u00e9 resolver os problemas dos neg\u00f3cios. Monitorar apenas por monitorar n\u00e3o interessa a ningu\u00e9m. E o que o neg\u00f3cio quer? Que tudo funcione rapidamente e sem erros. O neg\u00f3cio quer proatividade, que identifiquemos problemas no funcionamento do servi\u00e7o e os solucionemos o mais r\u00e1pido poss\u00edvel. Essas s\u00e3o, na verdade, as quest\u00f5es que resolvi durante o ano passado em um projeto de um dos nossos clientes.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"o-proekte\">Sobre o projeto<\/h2>\n<p><\/p>\n<p>O projeto \u00e9 um dos maiores programas de fidelidade do pa\u00eds. Ajudamos redes de varejo a aumentar a frequ\u00eancia de vendas por meio de diversas ferramentas de marketing, como cart\u00f5es de b\u00f4nus. No total, o projeto envolve 14 aplica\u00e7\u00f5es que operam em dez servidores.<\/p>\n<p><\/p>\n<p>Durante as entrevistas, percebi repetidamente que os administradores nem sempre abordam corretamente o monitoramento de aplica\u00e7\u00f5es web: muitos ainda se limitam a m\u00e9tricas do sistema operacional, monitorando servi\u00e7os apenas ocasionalmente.<\/p>\n<p><\/p>\n<p>No meu caso, anteriormente o sistema de monitoramento do cliente era baseado no Icinga. Isso n\u00e3o resolvia as quest\u00f5es mencionadas anteriormente. Muitas vezes, o cliente nos informava sobre problemas e frequentemente n\u00e3o t\u00ednhamos dados suficientes para descobrir a causa.<\/p>\n<p><\/p>\n<p>Al\u00e9m disso, havia uma compreens\u00e3o clara da falta de perspectivas para seu desenvolvimento futuro. Acho que aqueles que conhecem o Icinga v\u00e3o entender. Assim, decidimos reestruturar completamente o sistema de monitoramento de aplica\u00e7\u00f5es web no projeto.<\/p>\n<p><\/p>\n<h2 id=\"prometheus\">Prometheus<\/h2>\n<p><\/p>\n<p>Escolhemos o Prometheus com base em tr\u00eas indicadores principais:<\/p>\n<p><\/p>\n<ol>\n<li>Um grande n\u00famero de m\u00e9tricas dispon\u00edveis. No nosso caso, s\u00e3o 60 mil. Claro, vale mencionar que a grande maioria delas n\u00e3o utilizamos (provavelmente cerca de 95%). Por outro lado, todas s\u00e3o relativamente baratas. Para n\u00f3s, esse \u00e9 outro extremo, em compara\u00e7\u00e3o com o Icinga que us\u00e1vamos anteriormente. Naquele sistema, adicionar m\u00e9tricas era especialmente dif\u00edcil: as que existiam eram caras (basta olhar o c\u00f3digo-fonte de qualquer plugin). Qualquer plugin era um script em Bash ou Python, cuja execu\u00e7\u00e3o n\u00e3o \u00e9 barata em termos de recursos consumidos.<\/li>\n<li>Este sistema consome uma quantidade relativamente pequena de recursos. Para todas as nossas m\u00e9tricas, s\u00e3o suficientes 600 MB de mem\u00f3ria RAM, 15% de um n\u00facleo e algumas dezenas de IOPS. Claro, \u00e9 necess\u00e1rio executar os exporters de m\u00e9tricas, mas todos eles s\u00e3o escritos em Go e tamb\u00e9m n\u00e3o s\u00e3o exigentes. N\u00e3o acho que isso seja um problema nas circunst\u00e2ncias atuais. <\/li>\n<li>Oferece a possibilidade de migra\u00e7\u00e3o para o Kubernetes. Considerando os planos do cliente, a escolha \u00e9 \u00f3bvia. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"elk\">ELK<\/h2>\n<p><\/p>\n<p>Anteriormente, n\u00e3o colet\u00e1vamos nem process\u00e1vamos logs. As desvantagens s\u00e3o claras para todos. Optamos pelo ELK, uma vez que j\u00e1 t\u00ednhamos experi\u00eancia com este sistema. Armazenamos apenas os logs das aplica\u00e7\u00f5es. Os principais crit\u00e9rios de escolha foram a busca em texto completo e a sua rapidez.<\/p>\n<p><\/p>\n<h2 id=\"slickhouse\">Clickhouse<\/h2>\n<p><\/p>\n<p>Inicialmente, a escolha recaiu sobre o InfluxDB. N\u00f3s perceb\u00edamos a necessidade de coletar logs do Nginx, estat\u00edsticas do pg_stat_statements e armazenar dados hist\u00f3ricos do Prometheus. N\u00e3o gostamos do Influx, pois ele ocasionalmente come\u00e7ava a consumir muita mem\u00f3ria e ca\u00eda. Al\u00e9m disso, quer\u00edamos agrupar solicita\u00e7\u00f5es por remote_addr, mas o agrupamento neste SGBD \u00e9 apenas por tags. As tags s\u00e3o caras (em termos de mem\u00f3ria), e sua quantidade \u00e9 limitadamente condicional.<\/p>\n<p><\/p>\n<p>Come\u00e7amos a busca do zero. Precis\u00e1vamos de uma base anal\u00edtica com consumo m\u00ednimo de recursos, preferencialmente com compress\u00e3o de dados no disco.<\/p>\n<p><\/p>\n<p>Clickhouse atende a todos esses crit\u00e9rios, e nunca nos arrependemos da escolha. N\u00e3o escrevemos grandes volumes de dados nele (o n\u00famero de inser\u00e7\u00f5es \u00e9 de cerca de cinco mil por minuto).<\/p>\n<p><\/p>\n<h2 id=\"newrelic\">NewRelic<\/h2>\n<p><\/p>\n<p>O NewRelic tem sido nosso parceiro historicamente, pois foi a escolha do cliente. Aqui, \u00e9 usado como APM.<\/p>\n<p><\/p>\n<h2 id=\"zabbix\">Zabbix<\/h2>\n<p><\/p>\n<p>Usamos o Zabbix exclusivamente para monitorar a Black Box de v\u00e1rias APIs.<\/p>\n<p><\/p>\n<h2 id=\"opredelenie-podhoda-k-monitoringu\">Definindo a abordagem de monitoramento<\/h2>\n<p><\/p>\n<p>Quer\u00edamos decompor a tarefa e, assim, sistematizar a abordagem ao monitoramento.<\/p>\n<p><\/p>\n<p>Dividi nossa sistema nos seguintes n\u00edveis:<\/p>\n<p><\/p>\n<ul>\n<li>hardware e VMS;<\/li>\n<li>sistema operacional;<\/li>\n<li>servi\u00e7os do sistema, stack de software;<\/li>\n<li>aplicativo;<\/li>\n<li>l\u00f3gica de neg\u00f3cios.<\/li>\n<\/ul>\n<p><\/p>\n<p>As vantagens dessa abordagem:<\/p>\n<p><\/p>\n<ul>\n<li>sabemos quem \u00e9 respons\u00e1vel pelo funcionamento de cada n\u00edvel e, a partir disso, podemos enviar alertas;<\/li>\n<li>podemos usar a estrutura ao suprimir alertas \u2014 seria estranho enviar um alerta de indisponibilidade de banco de dados quando a m\u00e1quina virtual inteira est\u00e1 indispon\u00edvel.<\/li>\n<\/ul>\n<p><\/p>\n<p>Como nossa tarefa \u00e9 identificar falhas no funcionamento do sistema, precisamos destacar em cada n\u00edvel um conjunto de m\u00e9tricas que devemos observar ao escrever regras de alerta. Vamos passar pelos n\u00edveis \"VMS\", \"Sistema Operacional\" e \"Servi\u00e7os do Sistema, stack de software\".<\/p>\n<p><\/p>\n<h2 id=\"virtualnye-mashiny\">M\u00e1quinas virtuais<\/h2>\n<p><\/p>\n<p><a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/\"   title=\"Alojamento\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2329\">Alojamento<\/a> nos fornece processador, disco, mem\u00f3ria e rede. E tivemos problemas com os dois primeiros. Portanto, m\u00e9tricas:<\/p>\n<p><\/p>\n<p>Tempo de CPU roubado \u2014 ao comprar uma m\u00e1quina virtual na Amazon (t2.micro, por exemplo), \u00e9 necess\u00e1rio entender que voc\u00ea n\u00e3o recebe um n\u00facleo de processador inteiro, mas apenas uma cota de seu tempo. E quando voc\u00ea a esgotar, eles come\u00e7ar\u00e3o a roubar sua CPU.<\/p>\n<p><\/p>\n<p>Essa m\u00e9trica permite monitorar esses momentos e tomar decis\u00f5es. Por exemplo, se \u00e9 necess\u00e1rio optar por um plano mais robusto ou separar o processamento de tarefas em segundo plano e solicita\u00e7\u00f5es de API. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-los-angeles\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3493\">servidor<\/a>.<\/p>\n<p><\/p>\n<p>IOPS + Tempo de espera de CPU \u2014 por algum motivo, muitos provedores de hospedagem em nuvem falham em fornecer IOPS suficientes. Al\u00e9m disso, um gr\u00e1fico com baixos \u00edndices de IOPS n\u00e3o \u00e9 um argumento para eles. Portanto, \u00e9 importante coletar tamb\u00e9m o tempo de espera da CPU. Com esse par de gr\u00e1ficos \u2014 IOPS baixos e alta espera de I\/O \u2014 j\u00e1 \u00e9 poss\u00edvel dialogar com o provedor e resolver o problema.<\/p>\n<p><\/p>\n<h2 id=\"operacionnaya-sistema\">Sistema operacional<\/h2>\n<p><\/p>\n<p>M\u00e9tricas do sistema operacional:<\/p>\n<p><\/p>\n<ul>\n<li>quantidade de mem\u00f3ria dispon\u00edvel em %;<\/li>\n<li>atividade de uso de swap: vmstat swapin, swapout;<\/li>\n<li>quantidade de inodes dispon\u00edveis e espa\u00e7o livre no sistema de arquivos em %<\/li>\n<li>carga m\u00e9dia;<\/li>\n<li>n\u00famero de conex\u00f5es em estado tw;<\/li>\n<li>preenchimento da tabela conntrack;<\/li>\n<li>a qualidade do trabalho da rede pode ser monitorada com a ferramenta ss, pacote iproute2 \u2014 recebendo dela a m\u00e9trica RTT das conex\u00f5es e agrupando por porta de destino.<\/li>\n<\/ul>\n<p><\/p>\n<p>Al\u00e9m disso, no n\u00edvel do sistema operacional, temos a entidade processos. \u00c9 importante destacar no sistema um conjunto de processos que desempenham um papel crucial em sua opera\u00e7\u00e3o. Se, por exemplo, voc\u00ea tem v\u00e1rios pgpool, deve coletar informa\u00e7\u00f5es sobre cada um deles.<\/p>\n<p><\/p>\n<p>O conjunto de m\u00e9tricas \u00e9 o seguinte:<\/p>\n<p><\/p>\n<ul>\n<li>CPU;<\/li>\n<li>A mem\u00f3ria \u00e9, em primeiro lugar, residente;<\/li>\n<li>IO \u2014 preferencialmente em IOPS;<\/li>\n<li>FileFd \u2014 abertos e limite;<\/li>\n<li>Falhas significativas na p\u00e1gina \u2014 assim voc\u00ea pode entender qual processo est\u00e1 sendo trocado.<\/li>\n<\/ul>\n<p><\/p>\n<p>Todo o monitoramento \u00e9 feito em Docker, usamos o Cadvisor para coletar dados de m\u00e9tricas. Em outras m\u00e1quinas, aplicamos o process-exporter.<\/p>\n<p><\/p>\n<h2 id=\"sistemnye-servisy-stek-po\">Servi\u00e7os de sistema, stack de software<\/h2>\n<p><\/p>\n<p>Cada aplicativo tem suas pr\u00f3prias especificidades, e \u00e9 dif\u00edcil destacar um conjunto espec\u00edfico de m\u00e9tricas.<\/p>\n<p><\/p>\n<p>O conjunto universal \u00e9:<\/p>\n<p><\/p>\n<ul>\n<li>taxa de requisi\u00e7\u00f5es;<\/li>\n<li>n\u00famero de erros;<\/li>\n<li>lat\u00eancia;<\/li>\n<li>satura\u00e7\u00e3o.<\/li>\n<\/ul>\n<p><\/p>\n<p>Os exemplos mais marcantes de monitoramento deste n\u00edvel em nosso sistema s\u00e3o \u2014 Nginx e PostgreSQL.<\/p>\n<p><\/p>\n<p>O servi\u00e7o mais sobrecarregado em nosso sistema \u00e9 o banco de dados. Antes, t\u00ednhamos problemas frequentes para descobrir o que o banco de dados estava fazendo.<\/p>\n<p><\/p>\n<p>Vimos alta carga nos discos, mas os slowlogs n\u00e3o mostravam muita coisa. Resolvemos esse problema com o pg_stat_statements, uma vis\u00e3o que coleta estat\u00edsticas de consultas.<\/p>\n<p><\/p>\n<p>Isso \u00e9 tudo que o administrador precisa.<\/p>\n<p><\/p>\n<p>Constru\u00edmos gr\u00e1ficos de atividade de requisi\u00e7\u00f5es de leitura e escrita:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/f838b7759221b284c06941291fa186df.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/ea8684ea81f21c8d762a606aeb8342a3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00c9 simples e claro, cada requisi\u00e7\u00e3o tem sua pr\u00f3pria cor.<\/p>\n<p><\/p>\n<p>Um exemplo igualmente not\u00e1vel s\u00e3o os logs do Nginx. N\u00e3o \u00e9 surpreendente que poucos os analisem ou os citem na lista de obrigat\u00f3rios. O formato padr\u00e3o n\u00e3o \u00e9 muito informativo e precisa ser estendido.<\/p>\n<p><\/p>\n<p>Pessoalmente, adicionei request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Constru\u00edmos gr\u00e1ficos de tempo de resposta e n\u00famero de erros:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/e517f15303f8fa780d40b7f7e30eb9ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/9a07ffda75300ec939edff24532fc294.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Constru\u00edmos gr\u00e1ficos de tempo de resposta e n\u00famero de erros. Lembre-se? Eu falei sobre as tarefas de neg\u00f3cios? Para serem r\u00e1pidas e sem erros? J\u00e1 resolvemos essas quest\u00f5es com dois gr\u00e1ficos. E com eles, j\u00e1 \u00e9 poss\u00edvel contatar os administradores de plant\u00e3o.<\/p>\n<p><\/p>\n<p>Mas ainda resta um problema \u2014 garantir a r\u00e1pida resolu\u00e7\u00e3o das causas do incidente.<\/p>\n<p><\/p>\n<h2 id=\"ustranenie-incidentov\">Resolu\u00e7\u00e3o de incidentes<\/h2>\n<p><\/p>\n<p>Todo o processo desde a identifica\u00e7\u00e3o at\u00e9 a resolu\u00e7\u00e3o do problema pode ser dividido em v\u00e1rias etapas:<\/p>\n<p><\/p>\n<ul>\n<li>identifica\u00e7\u00e3o do problema;<\/li>\n<li>notifica\u00e7\u00e3o do administrador de plant\u00e3o;<\/li>\n<li>rea\u00e7\u00e3o ao incidente;<\/li>\n<li>elimina\u00e7\u00e3o das causas.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c9 importante que fa\u00e7amos isso o mais r\u00e1pido poss\u00edvel. E se nas etapas de identifica\u00e7\u00e3o do problema e envio da notifica\u00e7\u00e3o n\u00e3o conseguimos economizar muito tempo \u2014 dois minutos ser\u00e3o necess\u00e1rios de qualquer forma, as etapas seguintes s\u00e3o um campo inexplorado para melhorias.<\/p>\n<p><\/p>\n<p>Vamos imaginar que o telefone do atendente tocou. O que ele vai fazer? Procurar respostas para perguntas \u2014 o que quebrou, onde quebrou, como reagir? \u00c9 assim que respondemos a essas perguntas:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Como constru\u00edmos a monitora\u00e7\u00e3o com Prometheus, Clickhouse e ELK\" src=\"\/wp-content\/uploads\/2019\/04\/7f33172922e646a24bb83733350b24f5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>N\u00f3s simplesmente inclu\u00edmos todas essas informa\u00e7\u00f5es no texto da notifica\u00e7\u00e3o, fornecendo um link para a p\u00e1gina da wiki que descreve como reagir a esse problema, como resolv\u00ea-lo e escal\u00e1-lo.<\/p>\n<p><\/p>\n<p>Ainda n\u00e3o mencionei o n\u00edvel de aplica\u00e7\u00e3o e l\u00f3gica de neg\u00f3cios. Infelizmente, nossos aplicativos ainda n\u00e3o implementaram a coleta de m\u00e9tricas. A \u00fanica fonte de alguma informa\u00e7\u00e3o nesses n\u00edveis s\u00e3o os logs.<\/p>\n<p><\/p>\n<p>Alguns pontos importantes.<\/p>\n<p><\/p>\n<p>Primeiro, escreva logs estruturados. N\u00e3o inclua o contexto no texto da mensagem. Isso dificulta sua agrupamento e an\u00e1lise. O Logstash leva muito tempo para normalizar tudo isso.<\/p>\n<p><\/p>\n<p>Em segundo lugar, use corretamente os n\u00edveis de severidade. Cada linguagem tem seu pr\u00f3prio padr\u00e3o. Pessoalmente, destaco quatro n\u00edveis:<\/p>\n<p><\/p>\n<ol>\n<li>n\u00e3o existem erros;<\/li>\n<li>erro do lado do cliente;<\/li>\n<li>erro do nosso lado, sem perda de dinheiro e sem riscos;<\/li>\n<li>erro do nosso lado, com perda de dinheiro.<\/li>\n<\/ol>\n<p><\/p>\n<p>Resumindo. Precisamos tentar construir o monitoramento a partir da l\u00f3gica de neg\u00f3cios. Devemos nos esfor\u00e7ar para monitorar o pr\u00f3prio aplicativo e operar com m\u00e9tricas como n\u00famero de vendas, n\u00famero de novos registros de usu\u00e1rios, n\u00famero de usu\u00e1rios ativos no momento e assim por diante.<\/p>\n<p><\/p>\n<p>Se todo o seu neg\u00f3cio \u00e9 apenas um bot\u00e3o no navegador, \u00e9 necess\u00e1rio monitorar se ele est\u00e1 sendo clicado e se est\u00e1 funcionando corretamente. Tudo o mais n\u00e3o importa.<\/p>\n<p><\/p>\n<p>Se voc\u00ea n\u00e3o tem isso, pode tentar compensar nos logs do aplicativo, logs do Nginx e assim por diante, como fizemos. Voc\u00ea deve estar o mais pr\u00f3ximo poss\u00edvel do aplicativo.<\/p>\n<p><\/p>\n<p>As m\u00e9tricas do sistema operacional s\u00e3o, claro, importantes, mas n\u00e3o interessam ao neg\u00f3cio, n\u00f3s n\u00e3o somos pagos por elas.<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449352\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \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. \u041c\u0435\u0441\u044f\u0446 \u043d\u0430\u0437\u0430\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0430\u0441\u044c \u043d\u0430\u0448\u0430 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f, \u0433\u0434\u0435 \u043c\u044b \u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0441 IT-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0433\u043e\u0440\u043e\u0434\u0430. \u042f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043f\u0440\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0443\u0440\u043e\u0432\u043d\u044f junior \u0438\u043b\u0438 middle, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0438 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441 \u043d\u0443\u043b\u044f. \u041a\u0440\u0430\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u043c\u0435\u043d\u044c, \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u044e\u0431\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32322","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \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.\" \/>\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-stroili-monitoring-na-prometheus-clickhouse-i-elk\" \/>\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 \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 Prometheus, Clickhouse \u0438 ELK | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:46:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:21+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 constru\u00edmos o monitoramento com Prometheus, Clickhouse e ELK | ProHoster","description":"Meu nome \u00e9 Anton Baderin. Eu trabalho no Centro de Altas Tecnologias e sou especialista em administra\u00e7\u00e3o de sistemas.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","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 \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043d\u0430 Prometheus, Clickhouse \u0438 ELK | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0442\u043e\u043d \u0411\u0430\u0434\u0435\u0440\u0438\u043d. \u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u0412\u044b\u0441\u043e\u043a\u0438\u0445 \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \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.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-stroili-monitoring-na-prometheus-clickhouse-i-elk","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:46:21+00:00","article:modified_time":"2019-10-31T18:46:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32322","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-22 15:34:41","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:00:23","updated":"2026-02-22 15:34:41","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\/32322","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=32322"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/32322\/revisions"}],"predecessor-version":[{"id":162019,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/32322\/revisions\/162019"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/24139"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=32322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=32322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=32322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}