SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Seus logs nas costas largas
da AWS
uma abordagem usando log4net, Kinesis, ElasticSearch e
Kibana
Sobre mim
● +20 anos de experiência em
desenvolvimento de software
● AWS Cloud Practitioner
● AWS Developer Associate
● AWS Solutions Architect Associate
● AWS SysOps Administrator Associate
● Microsoft Certified Professional
● Bacharel em Ciência da Computação
● Arquiteto de soluções na Hi Platform
● AWS Community Leader
Marcelo Palladino
Requisitos
● As aplicações utilizam log4net
● As aplicações devem ser “livres para escalar” (1 instância ou “N”)
● Deve ser fácil consultar os logs
● Deve ser fácil graficar os logs
● Deve ser fácil identificar logs de uma aplicação específica
Cenário
Cenário
Componentes para uma primeira abordagem
● Log4net
○ Appender do log4net para o Elasticsearch
● Aplicações .net core
○ Pacote para usar o log4net no aspnet core
● Amazon Elasticsearch
○ Kibana
Log4net no aspnet core
● Pacote
○ Microsoft.Extensions.Logging.Log4Net.AspNetCore
● Projeto
○ github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore
Demo
(logando com log4net no aspnet core)
Logs nas costas
largas da AWS v1
Elasticsearch
O Elasticsearch é uma ferramenta para buscas de código aberto (código aberto)
que tem capacidade para tratar de grandes quantidades de dados em tempo real.
Trata-se de um servidor de buscas distribuído e é baseado em Apache Lucene.
Kibana
● Plugin de visualização de dados de código aberto para o Elasticsearch.
● Fornece recursos de visualização em cima do conteúdo indexado em um
cluster de Elasticsearch.
● Permite criar gráficos de barra, pizza, linha, dispersão entre outros, com
grandes volumes de dados.
Problemas da primeira abordagem
● Sobrecarga nas aplicações
● Possibilidade de perda de logs em caso de falha no Elasticsearch (pouca
resiliente)
Kinesis Data Streams
Fonte: https://aws.amazon.com/kinesis/data-streams/faqs/
Kinesis Data Streams
O Amazon Kinesis Data Streams permite criar aplicativos personalizados que
processam ou analisam dados de streaming para necessidades específicas. É
possível adicionar continuamente vários tipos de dados como rastros de cliques,
registros de aplicativos e mídia social a um stream de dados do Amazon Kinesis de
centenas de milhares de origens. Em segundos, os dados estarão disponíveis para
seus aplicativos do Amazon Kinesis para leitura e processamento por meio do
stream.
Fonte: https://aws.amazon.com/kinesis/data-streams/faqs/
Kinesis Firehose
O Amazon Kinesis Data Firehose é a maneira mais fácil de carregar de forma
confiável dados de streaming em datastores e ferramentas de análises. O serviço
pode capturar, transformar e carregar dados de streaming no Amazon S3, no
Amazon Redshift, no Amazon Elasticsearch Service e no Splunk, possibilitando
análises praticamente em tempo real com as ferramentas e painéis de inteligência
de negócios que você já usa hoje.
Fonte: https://aws.amazon.com/pt/kinesis/data-firehose/
Componentes para uma segunda abordagem
● Log4net
○ Appender do log4net para o Kinesis
● Aplicações .net core
○ Pacote para utilizar o log4net no aspnet core
● Amazon Kinesis Data Streams
● Amazon Kinesis Firehose
● Amazon S3
● Amazon Elasticsearch
○ Kibana
Logs do Log4net no Kinesis Stream
● Pacote
○ Log4Net.KinesisAppender
● Projeto
○ https://github.com/mfpalladino/Log4Net.KinesisAppender
Demo
(logs do log4net no Kinesis Stream)
Logs nas costas
largas da AWS v2
Alguns conceitos chave do Kinesis Data Streams
● Até 1 TB por hora
● Distribui os dados em três zonas de disponibilidade
● Por padrão, os dados estão disponíveis por 24 horas, mas é possível alterar
para até 7 dias (custo adicional)
● Monitoramento disponível via Cloudwatch
Alguns conceitos chave do Kinesis Data Streams
A unidade básica de escala são os Shards.
Um único Shard garante 1000 PUTs (1MB) por segundo (entrada) e 2MB de saída
por segundo.
1 Shard = 1MB (entrada) e 2MB (saída) por segundo
10 Shards = 10MB (entrada) e 20MB (saída) por segundo
Alguns conceitos chave do Kinesis Data Streams
É possível adicionar ou remover Shards dinamicamente usando as APIs.
O nome deste processo é Resharding.
Existe um soft limit de 10 Shards por região
Alguns conceitos chave do Kinesis Firehose
● Pode escalar para GBs de streaming por segundo
● Permite processamento em lotes
● Suporta criptografia
● Suporta dados comprimidos
● Monitoramento disponível via Cloudwatch
Um crédito devido
● https://www.youtube.com/watch?v=orGRfHV6008
Obrigado!
https://www.linkedin.com/in/mfpalladino
https://www.slideshare.net/mfpalladino
https://github.com/mfpalladino

Mais conteúdo relacionado

Mais procurados

Processamento de dados com Node.js, AWS Lambda e Kinesis Streams
Processamento de dados com Node.js, AWS Lambda e Kinesis StreamsProcessamento de dados com Node.js, AWS Lambda e Kinesis Streams
Processamento de dados com Node.js, AWS Lambda e Kinesis StreamsDaniel Baptista Dias
 
TDC - Processamento de dados em alta escala com Node.js e AWS Lambda
TDC - Processamento de dados em alta escala com Node.js e AWS LambdaTDC - Processamento de dados em alta escala com Node.js e AWS Lambda
TDC - Processamento de dados em alta escala com Node.js e AWS LambdaDaniel Baptista Dias
 
Jornal java por dentro da nuvem
Jornal java por dentro da nuvemJornal java por dentro da nuvem
Jornal java por dentro da nuvemjornaljava
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSLeandro Freitas
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo realAmazon Web Services LATAM
 

Mais procurados (7)

Processamento de dados com Node.js, AWS Lambda e Kinesis Streams
Processamento de dados com Node.js, AWS Lambda e Kinesis StreamsProcessamento de dados com Node.js, AWS Lambda e Kinesis Streams
Processamento de dados com Node.js, AWS Lambda e Kinesis Streams
 
TDC - Processamento de dados em alta escala com Node.js e AWS Lambda
TDC - Processamento de dados em alta escala com Node.js e AWS LambdaTDC - Processamento de dados em alta escala com Node.js e AWS Lambda
TDC - Processamento de dados em alta escala com Node.js e AWS Lambda
 
Log aggregation solution - EKK
Log aggregation solution - EKKLog aggregation solution - EKK
Log aggregation solution - EKK
 
Jornal java por dentro da nuvem
Jornal java por dentro da nuvemJornal java por dentro da nuvem
Jornal java por dentro da nuvem
 
Terraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWSTerraform + Kops + Kubernetes na AWS
Terraform + Kops + Kubernetes na AWS
 
Copa do mundo no brasil interagindo com os torcedores em tempo real
Copa do mundo no brasil   interagindo com os torcedores em tempo realCopa do mundo no brasil   interagindo com os torcedores em tempo real
Copa do mundo no brasil interagindo com os torcedores em tempo real
 
Big Data e seu fiel companheiro Spark
Big Data e seu fiel companheiro SparkBig Data e seu fiel companheiro Spark
Big Data e seu fiel companheiro Spark
 

Semelhante a Seus logs nas costas largas da AWS

Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSAmazon Web Services LATAM
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na NuvemConstruindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na NuvemAmazon Web Services LATAM
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Amazon Web Services
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Amazon Web Services LATAM
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Affinitas GmbH
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemJose Papo, MSc
 
Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB Amazon Web Services LATAM
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoAmazon Web Services LATAM
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Amazon Web Services
 

Semelhante a Seus logs nas costas largas da AWS (20)

Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWS
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na NuvemConstruindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
 
Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Rodando SAP na AWS
Rodando SAP na AWSRodando SAP na AWS
Rodando SAP na AWS
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de Trabalho
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
 

Seus logs nas costas largas da AWS

  • 1. Seus logs nas costas largas da AWS uma abordagem usando log4net, Kinesis, ElasticSearch e Kibana
  • 2. Sobre mim ● +20 anos de experiência em desenvolvimento de software ● AWS Cloud Practitioner ● AWS Developer Associate ● AWS Solutions Architect Associate ● AWS SysOps Administrator Associate ● Microsoft Certified Professional ● Bacharel em Ciência da Computação ● Arquiteto de soluções na Hi Platform ● AWS Community Leader Marcelo Palladino
  • 3. Requisitos ● As aplicações utilizam log4net ● As aplicações devem ser “livres para escalar” (1 instância ou “N”) ● Deve ser fácil consultar os logs ● Deve ser fácil graficar os logs ● Deve ser fácil identificar logs de uma aplicação específica
  • 6. Componentes para uma primeira abordagem ● Log4net ○ Appender do log4net para o Elasticsearch ● Aplicações .net core ○ Pacote para usar o log4net no aspnet core ● Amazon Elasticsearch ○ Kibana
  • 7. Log4net no aspnet core ● Pacote ○ Microsoft.Extensions.Logging.Log4Net.AspNetCore ● Projeto ○ github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore
  • 8. Demo (logando com log4net no aspnet core)
  • 10. Elasticsearch O Elasticsearch é uma ferramenta para buscas de código aberto (código aberto) que tem capacidade para tratar de grandes quantidades de dados em tempo real. Trata-se de um servidor de buscas distribuído e é baseado em Apache Lucene.
  • 11. Kibana ● Plugin de visualização de dados de código aberto para o Elasticsearch. ● Fornece recursos de visualização em cima do conteúdo indexado em um cluster de Elasticsearch. ● Permite criar gráficos de barra, pizza, linha, dispersão entre outros, com grandes volumes de dados.
  • 12. Problemas da primeira abordagem ● Sobrecarga nas aplicações ● Possibilidade de perda de logs em caso de falha no Elasticsearch (pouca resiliente)
  • 13. Kinesis Data Streams Fonte: https://aws.amazon.com/kinesis/data-streams/faqs/
  • 14. Kinesis Data Streams O Amazon Kinesis Data Streams permite criar aplicativos personalizados que processam ou analisam dados de streaming para necessidades específicas. É possível adicionar continuamente vários tipos de dados como rastros de cliques, registros de aplicativos e mídia social a um stream de dados do Amazon Kinesis de centenas de milhares de origens. Em segundos, os dados estarão disponíveis para seus aplicativos do Amazon Kinesis para leitura e processamento por meio do stream. Fonte: https://aws.amazon.com/kinesis/data-streams/faqs/
  • 15. Kinesis Firehose O Amazon Kinesis Data Firehose é a maneira mais fácil de carregar de forma confiável dados de streaming em datastores e ferramentas de análises. O serviço pode capturar, transformar e carregar dados de streaming no Amazon S3, no Amazon Redshift, no Amazon Elasticsearch Service e no Splunk, possibilitando análises praticamente em tempo real com as ferramentas e painéis de inteligência de negócios que você já usa hoje. Fonte: https://aws.amazon.com/pt/kinesis/data-firehose/
  • 16. Componentes para uma segunda abordagem ● Log4net ○ Appender do log4net para o Kinesis ● Aplicações .net core ○ Pacote para utilizar o log4net no aspnet core ● Amazon Kinesis Data Streams ● Amazon Kinesis Firehose ● Amazon S3 ● Amazon Elasticsearch ○ Kibana
  • 17. Logs do Log4net no Kinesis Stream ● Pacote ○ Log4Net.KinesisAppender ● Projeto ○ https://github.com/mfpalladino/Log4Net.KinesisAppender
  • 18. Demo (logs do log4net no Kinesis Stream)
  • 20. Alguns conceitos chave do Kinesis Data Streams ● Até 1 TB por hora ● Distribui os dados em três zonas de disponibilidade ● Por padrão, os dados estão disponíveis por 24 horas, mas é possível alterar para até 7 dias (custo adicional) ● Monitoramento disponível via Cloudwatch
  • 21. Alguns conceitos chave do Kinesis Data Streams A unidade básica de escala são os Shards. Um único Shard garante 1000 PUTs (1MB) por segundo (entrada) e 2MB de saída por segundo. 1 Shard = 1MB (entrada) e 2MB (saída) por segundo 10 Shards = 10MB (entrada) e 20MB (saída) por segundo
  • 22. Alguns conceitos chave do Kinesis Data Streams É possível adicionar ou remover Shards dinamicamente usando as APIs. O nome deste processo é Resharding. Existe um soft limit de 10 Shards por região
  • 23. Alguns conceitos chave do Kinesis Firehose ● Pode escalar para GBs de streaming por segundo ● Permite processamento em lotes ● Suporta criptografia ● Suporta dados comprimidos ● Monitoramento disponível via Cloudwatch
  • 24. Um crédito devido ● https://www.youtube.com/watch?v=orGRfHV6008