Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

• 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

Slide 3

Slide 3 text

• 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

Slide 4

Slide 4 text

• 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

Slide 5

Slide 5 text

• É 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?

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Quem usa Elasticsearch?

Slide 8

Slide 8 text

Elastic Stack Interface de usuário Armazenar e indexar Ingestão e transformação de dados

Slide 9

Slide 9 text

• É 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

Slide 10

Slide 10 text

• 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

Slide 11

Slide 11 text

Kibana

Slide 12

Slide 12 text

• Plataforma para injeção de dados no Elasticsearch ou no Logstash • São agentes muito leves e de fácil configuração Beats

Slide 13

Slide 13 text

• 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

Slide 14

Slide 14 text

Desenho da solução da demonstração

Slide 15

Slide 15 text

Com o Elastic Stack é possível monitorarmos...

Slide 16

Slide 16 text

Quantidade de acessos

Slide 17

Slide 17 text

Módulos mais acessados

Slide 18

Slide 18 text

Funções com maior tempo de resposta

Slide 19

Slide 19 text

Funções com maior tempo de resposta

Slide 20

Slide 20 text

Funções com maior tempo de resposta

Slide 21

Slide 21 text

• 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

Slide 22

Slide 22 text

No content