Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elasticsearch e Python para monitorar e corrigir falhas na sua aplicação

rafegal
September 25, 2018

Elasticsearch e Python para monitorar e corrigir falhas na sua aplicação

rafegal

September 25, 2018
Tweet

More Decks by rafegal

Other Decks in Programming

Transcript

  1. • Sou natural de Araraquara • Trabalho há 10 anos

    com TI • Sou líder técnico na Global Hitss • Sou Pythonista • Mantenho um canal de tecnologia no youtube • Youtube.com/rafegal (Rafael Galleani) Um pouco sobre mim
  2. • O que é ELK e Beats • Como subir

    o ELK • Como criar um monitoramento • Configurando um Filebeat • Utilizando Python + Elasticsearch para correção de problemas e geração de alertas O que vamos ver hoje
  3. • Criado por Shay Banon em 2004 com o nome

    de Compass • Na segunda versão já foi renomeado para Elasticsearch • Shay Banon criou o Elasticsearch para ajudar sua esposa a organizar sua lista de receitas culinárias Elasticsearch – Como surgiu
  4. • É uma ferramenta que tem capacidade para tratar grandes

    volumes de dados quase em tempo real (near real-time indexing) • É baseado no Apache Lucene (motor de busca full-text de alto desempenho) e desenvolvido em Java • Trabalha com conceito de Shardind, ou seja, tem a capacidade de particionar seus dados entres vários servidores (nodes) • Utiliza interface JSON sobre APIs HTTP • É escalável • É Open Source Mas afinal, o que é Elasticsearch?
  5. Como podemos utilizar Elasticsearch? • Pode ser utilizado para armazenar

    dados de diferentes fontes • Esses dados podem ser estruturados e não estruturados • Pode-se armazenar dados estruturados de banco relacional e não estruturados como logs de aplicação e navegação, página da web (scrapping e crawler) e de APIs • Dados armazenados no Elastcisearch podem ser utilizado para busca por texto, busca por parâmetro e para gerar métricas que irão auxiliar em tomadas de decisões
  6. • É um pipeline de processamento de dados • Coleta

    dados de vários fontes diferentes, podendo ser dados de logs, banco, apis, etc... • O Logstash coleta esses dados, transforma-os e envia para o Elasticsearch Logstash
  7. • O Kibana permite que visualizemos os dados do Elasticsearch

    • No Kibana podemos realizar buscas e criar dashboards • Os dashboards transformam os dados do Elasticsearch para um formato que permita visões que nos auxiliem em análises e tomadas de decisão Kibana
  8. • Plataforma para injeção de dados no Elasticsearch ou no

    Logstash • São agentes muito leves e de fácil configuração Beats
  9. • Realiza coleta de informações em arquivos de logs •

    Essa informação pode ser enviada para o Logstash ou diretamente para o Elasticsearch • Toda nova informação no arquivo de log é enviada para o Elasticsearch quase em tempo real Filebeat
  10. • Coleta de informações de banco de dados relacional •

    Consulta no Elasticsearch em substituição a consulta em banco relacional pra obter ganho de performance • Desenvolvimento de dashboards a partir dos dados coletados de banco de dados relacional • Cruzamento de informações de várias fontes diferente para identificar problema de forma mais rápida Outras soluções que tenho implementadas