{"id":35274,"date":"2019-10-31T22:03:22","date_gmt":"2019-10-31T19:03:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk\/"},"modified":"2019-10-31T22:03:22","modified_gmt":"2019-10-31T19:03:22","slug":"razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","title":{"rendered":"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/8fe88b798a64e2ed8e77dbbc89558827.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLembre-se de que a base do Elastic Stack \u00e9 um banco de dados n\u00e3o relacional, o Elasticsearch, a interface web Kibana e coletores-processadores de dados (o mais conhecido \u00e9 o Logstash, diversos Beats, APM e outros). Uma das adi\u00e7\u00f5es agrad\u00e1veis de todo esse conjunto de produtos \u00e9 a an\u00e1lise de dados com algoritmos de machine learning. Neste artigo, vamos entender o que esses algoritmos representam. Por favor, continue lendo.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nO machine learning \u00e9 uma fun\u00e7\u00e3o paga do Elastic Stack, que \u00e9 condicionalmente gratuito e faz parte do pacote X-Pack. Para come\u00e7ar a us\u00e1-lo, basta ativar o per\u00edodo de teste de 30 dias ap\u00f3s a instala\u00e7\u00e3o. Ap\u00f3s o t\u00e9rmino do per\u00edodo de teste, \u00e9 poss\u00edvel solicitar suporte para prorroga\u00e7\u00e3o ou adquirir uma assinatura. O custo da assinatura \u00e9 calculado com base no n\u00famero de n\u00f3s utilizados, n\u00e3o no volume de dados. \u00c9 claro que o volume de dados influencia a quantidade de n\u00f3s necess\u00e1rios, mas essa abordagem de licenciamento \u00e9 mais amig\u00e1vel em rela\u00e7\u00e3o ao or\u00e7amento da empresa. Se n\u00e3o houver necessidade de alta performance, \u00e9 poss\u00edvel economizar.<\/p>\n<p>O ML no Elastic Stack \u00e9 escrito em C++ e opera fora da JVM, onde o Elasticsearch roda. Ou seja, o processo (que, ali\u00e1s, \u00e9 chamado de autodetect) consome tudo o que a JVM n\u00e3o processa. Em um ambiente de demonstra\u00e7\u00e3o isso n\u00e3o \u00e9 t\u00e3o cr\u00edtico, mas em um ambiente produtivo \u00e9 importante dedicar n\u00f3s separados para tarefas de ML.<\/p>\n<p>Os algoritmos de machine learning se dividem em duas categorias \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC\">com supervis\u00e3o<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D1%8F\">sem supervis\u00e3o<\/a><\/noindex>. No Elastic Stack, o algoritmo se encaixa na categoria \"sem supervis\u00e3o\". Por <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ijmlc.org\/papers\/398-LC018.pdf\">este link<\/a><\/noindex> voc\u00ea pode conferir a fundamenta\u00e7\u00e3o matem\u00e1tica dos algoritmos de machine learning.<\/p>\n<p>Para realizar a an\u00e1lise, o algoritmo de machine learning utiliza os dados armazenados nos \u00edndices do Elasticsearch. As tarefas de an\u00e1lise podem ser criadas tanto na interface do Kibana quanto via API. Se voc\u00ea fizer isso pelo Kibana, n\u00e3o precisa saber algumas coisas. Por exemplo, \u00edndices adicionais que o algoritmo usa durante a opera\u00e7\u00e3o. <\/p>\n<p><b class=\"spoiler_title\">\u00cdndices adicionais utilizados durante a an\u00e1lise<\/b>.ml-state \u2014 informa\u00e7\u00f5es sobre modelos estat\u00edsticos (configura\u00e7\u00f5es da an\u00e1lise);<br \/>\n.ml-anomalies-* \u2014 resultados das opera\u00e7\u00f5es dos algoritmos de ML;<br \/>\n.ml-notifications \u2014 configura\u00e7\u00f5es de notifica\u00e7\u00f5es sobre os resultados da an\u00e1lise.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/a6a67b0c05c6650a158d99010c2872f1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA estrutura de dados no banco Elasticsearch consiste em \u00edndices e nos documentos armazenados neles. Comparando com um banco de dados relacional, um \u00edndice pode ser comparado a um esquema de banco de dados, enquanto um documento \u00e9 como um registro em uma tabela. Essa compara\u00e7\u00e3o \u00e9 condicional e serve para simplificar a compreens\u00e3o do material subsequente para aqueles que apenas ouviram falar sobre Elasticsearch.<\/p>\n<p>Atrav\u00e9s da API, est\u00e1 dispon\u00edvel a mesma funcionalidade que pelo interface web, por isso, para melhor visualiza\u00e7\u00e3o e entendimento dos conceitos, mostraremos como configurar atrav\u00e9s do Kibana. No menu \u00e0 esquerda, h\u00e1 uma se\u00e7\u00e3o chamada Machine Learning, onde voc\u00ea pode criar uma nova tarefa (Job). Na interface do Kibana, isso aparece como na imagem abaixo. Agora vamos analisar cada tipo de tarefa e mostrar os tipos de an\u00e1lise que podem ser constru\u00eddos aqui.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/c0c0bede29fbe38a72270d2128926122.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSingle Metric \u2014 an\u00e1lise de uma \u00fanica m\u00e9trica, Multi Metric \u2014 an\u00e1lise de duas ou mais m\u00e9tricas. Em ambos os casos, cada m\u00e9trica \u00e9 analisada em um ambiente isolado, ou seja, o algoritmo n\u00e3o leva em conta o comportamento das m\u00e9tricas sendo analisadas em paralelo, como poderia parecer no caso da Multi Metric. Para realizar c\u00e1lculos considerando a correla\u00e7\u00e3o entre diferentes m\u00e9tricas, pode-se aplicar a an\u00e1lise Population. E o Advanced \u2014 trata-se do ajuste fino dos algoritmos com op\u00e7\u00f5es adicionais para tarefas espec\u00edficas. <\/p>\n<h2>Single Metric<\/h2>\n<p>\nA an\u00e1lise de mudan\u00e7as em uma \u00fanica m\u00e9trica \u00e9 a coisa mais simples que se pode fazer aqui. Ap\u00f3s clicar em Create Job, o algoritmo buscar\u00e1 anomalias.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/d84d29539c3b97be7a15aac8708bc3be.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo campo <i>Aggregation<\/i> \u00e9 poss\u00edvel escolher a abordagem para a busca de anomalias. Por exemplo, com <i>Min<\/i> valores abaixo do t\u00edpico ser\u00e3o considerados an\u00f4malos. Existem tamb\u00e9m <i>Max, High Mean, Low, Mean, Distinct<\/i> e outros. A descri\u00e7\u00e3o de todas as fun\u00e7\u00f5es pode ser consultada <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/current\/ml-functions.html\">no link<\/a><\/noindex>.<\/p>\n<p>No campo <i>Field<\/i> indica o campo num\u00e9rico no documento que ser\u00e1 analisado.<\/p>\n<p>No campo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/explaining-the-bucket-span-in-machine-learning-for-elasticsearch\"><i>Bucket span<\/i><\/a><\/noindex> \u00e9 a granularidade dos intervalos na linha do tempo usada para a an\u00e1lise. Voc\u00ea pode confiar na automa\u00e7\u00e3o ou escolher manualmente. Na imagem abaixo, um exemplo de granularidade muito baixa \u2014 voc\u00ea pode perder uma anomalia. Com esta configura\u00e7\u00e3o, \u00e9 poss\u00edvel alterar a sensibilidade do algoritmo para anomalias.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/a2808c0b451703a50d74f7737332ea8b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA dura\u00e7\u00e3o dos dados coletados \u00e9 um aspecto chave que influencia a efic\u00e1cia da an\u00e1lise. Na an\u00e1lise, o algoritmo identifica intervalos repetidos, calcula o intervalo de confian\u00e7a (linhas de base) e detecta anomalias \u2014 desvios at\u00edpicos do comportamento normal da m\u00e9trica. Apenas como um exemplo:<\/p>\n<p>Linhas b\u00e1sicas para um pequeno intervalo de dados:<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/2a3cbeaa8cf08a2a5dec87071be27db8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando o algoritmo tem algo para aprender \u2014 as linhas b\u00e1sicas aparecem assim:<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/13d636ab405a85d89e2ae4ebfe8bb6bd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAp\u00f3s a execu\u00e7\u00e3o da tarefa, o algoritmo identifica desvios an\u00f4malos da norma e os classifica por probabilidade de anomalia (a cor correspondente \u00e0 etiqueta est\u00e1 entre par\u00eanteses):<\/p>\n<p>Warning (azul): menos de 25<br \/>\nMinor (amarelo): 25-50<br \/>\nMajor (laranja): 50-75<br \/>\nCritical (vermelho): 75-100<\/p>\n<p>No gr\u00e1fico abaixo, um exemplo com as anomalias encontradas.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/ed87198f99f0cc93ffc16ce458054a9f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAqui vemos o n\u00famero 94, que indica a probabilidade de anomalia. \u00c9 claro que, como o valor est\u00e1 pr\u00f3ximo de 100, temos uma anomalia. Na coluna abaixo do gr\u00e1fico, h\u00e1 uma probabilidade desprez\u00edvel de 0.000063634% de aparecer esse valor m\u00e9trico.<\/p>\n<p>Al\u00e9m de buscar anomalias no Kibana, \u00e9 poss\u00edvel iniciar previs\u00f5es. Isso \u00e9 feito de uma maneira simples e a partir da mesma visualiza\u00e7\u00e3o com anomalias \u2014 bot\u00e3o <i>Forecast<\/i> no canto superior direito.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/73429a947befb8834972ebbfe48c2d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA previs\u00e3o \u00e9 feita no m\u00e1ximo para 8 semanas \u00e0 frente. Mesmo que se queira muito \u2014 n\u00e3o \u00e9 permitido por design.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/7622608e4b952be741be486f89d1bc43.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEm algumas situa\u00e7\u00f5es, a previs\u00e3o ser\u00e1 muito \u00fatil, por exemplo, ao monitorar a carga do usu\u00e1rio na infraestrutura.<\/p>\n<h2>Multi Metric<\/h2>\n<p>\nPassamos \u00e0 pr\u00f3xima capacidade do ML no Elastic Stack \u2014 a an\u00e1lise de v\u00e1rias m\u00e9tricas em um \u00fanico pacote. Por\u00e9m, isso n\u00e3o significa que a depend\u00eancia de uma m\u00e9trica em rela\u00e7\u00e3o a outra ser\u00e1 analisada. \u00c9 o mesmo que a Single Metric, apenas com m\u00faltiplas m\u00e9tricas na mesma tela para facilitar a compara\u00e7\u00e3o do impacto de uma sobre a outra. A an\u00e1lise da depend\u00eancia de uma m\u00e9trica em rela\u00e7\u00e3o a outra ser\u00e1 abordada na parte Population.<\/p>\n<p>Ap\u00f3s clicar no quadrado com Multi Metric, uma janela com configura\u00e7\u00f5es aparecer\u00e1. Vamos nos aprofundar nelas.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/eaa06c8b24b393209ef1fb5ba9cfbd62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara come\u00e7ar, \u00e9 preciso escolher os campos para an\u00e1lise e a agrega\u00e7\u00e3o de dados sobre eles. As op\u00e7\u00f5es de agrega\u00e7\u00e3o aqui s\u00e3o as mesmas que para a Single Metric (<i>Max, High Mean, Low, Mean, Distinct<\/i> e outros). Em seguida, se desejar, os dados s\u00e3o divididos por um dos campos (campo <i>Split Data<\/i>). No exemplo, fizemos isso com o campo <i>OriginAirportID<\/i>. Note que agora o gr\u00e1fico de m\u00e9tricas \u00e0 direita \u00e9 apresentado como m\u00faltiplos gr\u00e1ficos.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/746a91b28a010a037c66a569fcf47a1b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCampo <i>Key Fields (Influencers)<\/i> influencia diretamente as anomalias encontradas. Por padr\u00e3o, haver\u00e1 sempre pelo menos um valor aqui, e voc\u00ea pode adicionar valores adicionais. O algoritmo considerar\u00e1 a influ\u00eancia desses campos durante a an\u00e1lise e mostrar\u00e1 os valores mais \"influentes\".<\/p>\n<p>Ap\u00f3s a execu\u00e7\u00e3o, a interface do Kibana exibir\u00e1 aproximadamente esta imagem.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/c6efd8f4815ad150b046c82780c36574.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsta \u00e9 uma chamada de mapa de calor de anomalias para cada valor do campo. <i>OriginAirportID<\/i>, que especificamos em <i>Split Data<\/i>. Assim como no caso do Single Metric, a cor indica o n\u00edvel de desvio an\u00f4malo. Uma an\u00e1lise semelhante pode ser convenientemente feita, por exemplo, nas esta\u00e7\u00f5es de trabalho para monitorar aquelas com um n\u00famero suspeitamente alto de autoriza\u00e7\u00f5es, etc. J\u00e1 discutimos <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/galssoftware\/blog\/447522\/\">sobre eventos suspeitos no EventLog do Windows<\/a><\/noindex>, que tamb\u00e9m podem ser coletados e analisados aqui.<\/p>\n<p>Abaixo do mapa de calor est\u00e1 a lista de anomalias, onde cada uma pode ser acessada para visualiza\u00e7\u00e3o do Single Metric para uma an\u00e1lise detalhada.<\/p>\n<h2>Population<\/h2>\n<p>\nPara buscar anomalias entre correla\u00e7\u00f5es entre diferentes m\u00e9tricas no Elastic Stack, existe uma an\u00e1lise especializada chamada Population. \u00c9 atrav\u00e9s dela que podemos procurar valores an\u00f4malos no desempenho de um servidor em compara\u00e7\u00e3o com os outros, por exemplo, durante um aumento no n\u00famero de requisi\u00e7\u00f5es ao sistema alvo.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/00542d57f2a937d424b2db5e692a6289.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNesta ilustra\u00e7\u00e3o, o campo Population indica o valor ao qual as m\u00e9tricas analisadas ser\u00e3o relacionadas. Neste caso, \u00e9 o nome do processo. Como resultado, veremos como a carga da CPU de cada um dos processos influenciou uns aos outros.<\/p>\n<p>Observe que o gr\u00e1fico dos dados analisados \u00e9 diferente dos casos com Single Metric e Multi Metric. Isso foi feito no Kibana por design para uma melhor percep\u00e7\u00e3o da distribui\u00e7\u00e3o dos valores dos dados analisados.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/4af704044bf544ca6cd221404288e6c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPelo gr\u00e1fico, fica claro que o processo se comportou de forma an\u00f4mala <i>stress<\/i> (ali\u00e1s, gerado por uma utilidade especial) no servidor <i>poipu<\/i>, que influenciou (ou se tornou um influenciador) no surgimento desta anomalia.<\/p>\n<h2>Avan\u00e7ado<\/h2>\n<p>\nAn\u00e1lise com ajuste fino. Na an\u00e1lise avan\u00e7ada no Kibana, aparecem configura\u00e7\u00f5es adicionais. Ap\u00f3s clicar no menu de cria\u00e7\u00e3o na tile Avan\u00e7ado, aparece uma janela assim com abas. A aba <i>Job Details<\/i> foi intencionalmente ignorada, pois cont\u00e9m configura\u00e7\u00f5es b\u00e1sicas n\u00e3o relacionadas diretamente ao ajuste da an\u00e1lise.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/abe7941ad56acf3ee7ab992fa5fe7b94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEm <i>summary_count_field_name<\/i> pode-se opcionalmente indicar o nome do campo nos documentos que cont\u00e9m os valores agregados. Neste exemplo \u2014 o n\u00famero de eventos por minuto. Em <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/current\/ml-configuring-categories.html\"><i>categorization_field_name<\/i><\/a><\/noindex> \u00e9 indicado o nome do campo no documento que cont\u00e9m um valor vari\u00e1vel. Com base nesse campo, os dados analisados podem ser divididos em subconjuntos. Preste aten\u00e7\u00e3o no bot\u00e3o <i>Add detector<\/i> na ilustra\u00e7\u00e3o anterior. Abaixo est\u00e1 o resultado ao clicar neste bot\u00e3o.<\/p>\n<p><img decoding=\"async\" alt=\"Compreendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/cce9a6401d6baa72c68b8e0c3c6ab209.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEste \u00e9 um bloco adicional de configura\u00e7\u00f5es para ajustar o detector de anomalias para uma tarefa espec\u00edfica. Casos de uso espec\u00edficos (especialmente em seguran\u00e7a) ser\u00e3o discutidos em artigos futuros. Por exemplo, <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.elastic.co\/t\/dec-4th-2018-en-ml-rarity-analysis-with-machine-learning\/158979\">veja<\/a><\/noindex> um dos casos analisados. Ele est\u00e1 relacionado \u00e0 busca de valores raramente aparecendo e \u00e9 implementado <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-rare-functions.html\">pela fun\u00e7\u00e3o rare<\/a><\/noindex>.<\/p>\n<p>No campo <i>function<\/i> voc\u00ea pode escolher uma fun\u00e7\u00e3o espec\u00edfica para a busca de anomalias. Al\u00e9m de <i>rare<\/i>, h\u00e1 mais algumas fun\u00e7\u00f5es interessantes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-time-functions.html\"><i>time_of_day<\/i> e <i>time_of_week<\/i><\/a><\/noindex>. Elas identificam anomalias no comportamento das m\u00e9tricas ao longo do dia ou da semana, respectivamente. Outras fun\u00e7\u00f5es de an\u00e1lise <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-functions.html\">est\u00e3o na documenta\u00e7\u00e3o<\/a><\/noindex>.<\/p>\n<p>Em <i>field_name<\/i> especifica o campo do documento que ser\u00e1 analisado. <i>By_field_name<\/i> pode ser usado para dividir os resultados da an\u00e1lise por cada valor individual especificado aqui. Se preencher <i>over_field_name<\/i> voc\u00ea obter\u00e1 uma an\u00e1lise de popula\u00e7\u00e3o, que discutimos acima. Se um valor for especificado em <i>partition_field_name<\/i>, ent\u00e3o para esse campo do documento ser\u00e3o calculadas linhas de base separadas para cada valor (o valor pode ser, por exemplo, o nome do servidor ou do processo no servidor). Em <i>exclude_frequent<\/i> pode ser selecionado <i>all<\/i> ou <i>none<\/i>, o que significar\u00e1 a exclus\u00e3o (ou inclus\u00e3o) de valores frequentemente encontrados nos campos dos documentos.<\/p>\n<p>Neste artigo, tentamos apresentar de forma resumida as possibilidades de aprendizado de m\u00e1quina no Elastic Stack, ainda h\u00e1 muitos detalhes que ficaram de fora. Compartilhe nos coment\u00e1rios quais casos voc\u00ea conseguiu resolver com o Elastic Stack e para quais tarefas voc\u00ea o utiliza. Para entrar em contato conosco, voc\u00ea pode usar mensagens diretas no Habr ou <noindex><a rel=\"nofollow\" href=\"https:\/\/gals.software\/solutions\/elasticstack\">o formul\u00e1rio de feedback no site<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/galssoftware\/blog\/455387\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 Elastic Stack \u043b\u0435\u0436\u0430\u0442 \u043d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Elasticsearch, \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Kibana \u0438 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u0430\u043c\u044b\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 Logstash, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 Beats, APM \u0438 \u0434\u0440\u0443\u0433\u0438\u0435). \u041e\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432\u0441\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u2014 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0447\u0442\u043e \u0438\u0437 \u0441\u0435\u0431\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u044d\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b. \u041f\u0440\u043e\u0441\u0438\u043c \u043f\u043e\u0434 \u043a\u0430\u0442. \u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35274","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=\"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\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\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-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\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 Machine Learning \u0432 Elastic Stack (\u043e\u043d \u0436\u0435 Elasticsearch, \u043e\u043d \u0436\u0435 ELK) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-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-31T19:03:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:03:22+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\udd47Entendendo o Machine Learning no Elastic Stack (tamb\u00e9m conhecido como Elasticsearch, tamb\u00e9m conhecido como ELK) | ProHoster","description":"N\u00f3s lembramos.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-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\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 Machine Learning \u0432 Elastic Stack (\u043e\u043d \u0436\u0435 Elasticsearch, \u043e\u043d \u0436\u0435 ELK) | ProHoster","og:description":"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-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-31T19:03:22+00:00","article:modified_time":"2019-10-31T19:03:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35274","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-01-21 22:37:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:07:28","updated":"2026-01-21 22:37:19","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\/35274","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=35274"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35274\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/26487"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}