Upload
fabiola-fernandes
View
355
Download
0
Embed Size (px)
DESCRIPTION
Ferramentas para logs, monitoramento e estatísticas
Citation preview
CDS, 25/10/2011
Logs,
Monitoramento e
Estatísticas
Uma abordagem sobre
ferramentas
CDS, 25/10/2011
Motivação
2011: dados gerados
no mundo ultrapassou
1.8 ZB = 1.8 trilhão GB2011: dados gerados
no mundo ultrapassou
1.8 ZB = 1.8 trilhão GB
A quantidade de dados do mundo está mais que dobrando a cada dois anos!
A quantidade de dados do mundo está mais que dobrando a cada dois anos!
Fonte: Extracting Value from Chaos, 2011
Estatística cresce mais rápido que a Lei de
Moore!
Estatística cresce mais rápido que a Lei de
Moore!
CDS, 25/10/2011
Motivação
CDS, 25/10/2011
Motivação
CDS, 25/10/2011
O que é Big Data?
GrandeGrande
ComplexoComplexo
Não-estruturadoNão-estruturado
CDS, 25/10/2011
Motivação
“Empresas devem aprender rapidamente o quão
importante é lidar com big data, pois o volume de
dados gerados não dá nenhum sinal de
desaceleração.” (Oracle Big Data white paper)
“Os dados não são criados por relevância, eles se tornam relevantes!” (IBM Big Data
white paper)
CDS, 25/10/2011
Objetivo
Como lidar com grandes quantidades de LOGS?
Como lidar com grandes quantidades de LOGS?
Como MONITORAR informações?
Como MONITORAR informações?
Como obter ESTATÍSTICAS de grandes massas de dados?
Como obter ESTATÍSTICAS de grandes massas de dados?
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Hadoop: ficha técnica
2003 2004 2005 2006 2008
GFS
(Goo
gle
File
Sys
tem
)
Nut
ch (w
eb s
earc
h en
gine
– pa
rte d
o Lu
cene
) - N
DFS
Map
Red
uce
ND
FS +
Map
Red
uce
Apac
he p
roje
ct:
HAD
OO
P
CDS, 25/10/2011
NYT: menos de 24h para
converter para PDF 4TB
de arquivos scaneados
utilizando 100 máquinas de
Hadoop
Facebook possui o maior cluster de Hadoop do mundo: 30PB
Yahoo! utiliza Hadoop
para ordenar 1TB em
59s
Hadoop: ficha técnica
CDS, 25/10/2011
Hadoop powered by
CDS, 25/10/2011
Hadoop tecnicamente...
• Java
• Open Source
• Projeto top level da Apache
• Commiters: Yahoo! e Cloudera
• Plataformas com Hadoop: MapR, Hadapt, Cloudera…
CDS, 25/10/2011
O que é Hadoop?
CDS, 25/10/2011
O que é Hadoop?
O software Apache Hadoop é um framework que
permite o processamento distribuído de grande
massa de dados armazenados em clusters, utilizando
um modelo de programação simples.
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
CDS, 25/10/2011
O que é Hadoop?
= +armazenamento processamento
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
CDS, 25/10/2011
HDFSHadoop
Distributed
File
System
[fabiola-laptop ~]$ hadoop dfs –mkdir /ctbc[fabiola-laptop ~]$ hadoop dfs –copyFromLocal dados.txt /ctbc[fabiola-laptop ~]$ hadoop dfs –ls /ctbcFound 1 items-rw-r—r-- 3 fabiola fabiola 88 2012-06-27 19:12 /ctbc/dados.txt
CDS, 25/10/2011
HDFS: como funciona?
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
Sinceramente, não penso em termos individuais.
Ronaldo lamentou não ter podido fazer a sua
cobrança na disputa de pênaltis, mas enalteceu o
trabalho da seleção portuguesa na Eurocopa.
Antes de deixar a Donbass Arena em sua
última partida na Eurocopa 2012,
300 MB
Dado um arquivo…
CDS, 25/10/2011
HDFS: como funciona?
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
Sinceramente, não penso em termos individuais.
Ronaldo lamentou não ter podido fazer a sua
cobrança na disputa de pênaltis, mas enalteceu o
trabalho da seleção portuguesa na Eurocopa.
Antes de deixar a Donbass Arena em sua
última partida na Eurocopa 2012,
128 MB
HDFS divide em blocos
128 MB
44 MB
CDS, 25/10/2011
HDFS: como funciona?
HDFS manterá 3 cópias de cada bloco
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
Sinceramente, não penso em termos individuais.
Ronaldo lamentou não ter podido fazer a sua
cobrança na disputa de pênaltis, mas enalteceu o
trabalho da seleção portuguesa na Eurocopa.
Antes de deixar a Donbass Arena em sua
última partida na Eurocopa 2012,
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
Sinceramente, não penso em termos individuais.
Ronaldo lamentou não ter podido fazer a sua
cobrança na disputa de pênaltis, mas enalteceu o
trabalho da seleção portuguesa na Eurocopa.
Sinceramente, não penso em termos individuais.
Ronaldo lamentou não ter podido fazer a sua
cobrança na disputa de pênaltis, mas enalteceu o
trabalho da seleção portuguesa na Eurocopa.
Antes de deixar a Donbass Arena em sua
última partida na Eurocopa 2012,
Antes de deixar a Donbass Arena em sua
última partida na Eurocopa 2012,
x3
x3
x3
CDS, 25/10/2011
HDFS: como funciona?
HDFS armazena esses blocos em datanodes
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
A partida em Donetsk foi a última de Cristiano
Ronaldo na temporada 2011/2012. Agora, o craque sai de férias
garantindo estar feliz com o seu desempenho.
CDS, 25/10/2011
HDFS: como funciona?
HDFS distribui os blocos aos datanodes
CDS, 25/10/2011
HDFS: como funciona?
Namenode controla blocos e datanodes
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
CDS, 25/10/2011
HDFS: como funciona?
Algum dia um datanode cairá… não é um problema
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
X
CDS, 25/10/2011
HDFS: como funciona?
Namenode dirá aos DNs para copiar os blocos, voltando a 3x
DN1, DN4, DN7
DN4, DN5, DN6
DN3, DN5, DN8
Namenode
CDS, 25/10/2011
HDFS: como funciona?
Namenode• Namenode é o único ponto de falha (SPOF)
• Backupnode = manual failover
• Deve-se investir pesado no hardware do Namenode
• redundância de energia
• discos em RAID
• …
Como solucionar?Como solucionar?
CDS, 25/10/2011
Relembrando…
= +armazenamento processamento
Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
CDS, 25/10/2011
Map Reduce
CDS, 25/10/2011
Map Reduce
Pense em termos de <chave, valor>…
<byte offset, texto><user, perfil do usuário>
<timestamp, access log entry><user, lista de amigos do usuário>
CDS, 25/10/2011
Map Reduce
Para escrever um programa Map-Reduce:
1. Escreva um mapeamento que, dada uma <chave,valor>, gere zero ou mais <chaves, valores>
2. Escreva um redutor de todos os valores em uma chave, gerando zero ou mais novas <chaves, valores>
CDS, 25/10/2011
Map Reduce: como funciona?
Para escrever um programa Map-Reduce:
1. Escreva um mapeamento que, dada uma <chave,valor>, gere zero ou mais <chaves, valores>
2. Escreva um redutor de todos os valores em uma chave, gerando zero ou mais novas <chaves, valores>
CDS, 25/10/2011
Map Reduce: como funciona?
Exemplificando:
Contador de Palavras (word count)
CDS, 25/10/2011
Map Reduce: como funciona?
<0, “Four score and five years ago our fathers brought”>
words = value.split(“ “)
for( word : words )emit( word, 1 )
CDS, 25/10/2011
Tasktracker
Map Reduce: como funciona?
<0, “Four score and five years ago our fathers brought”>
words = value.split(“ “)for( word : words )
emit( word, 1 )
Datanode
CDS, 25/10/2011
Tasktracker
Map Reduce: como funciona?
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
Tasktracker
Datanode
CDS, 25/10/2011
Map Reduce: como funciona?
<Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1>, <Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our,
1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, 1 ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our, 1><fathers, ><brought, 1><Four, 1><score, 1><and, 1><five, 1><years, 1><ago, 1><our,
1><fathers, 1 ><brought, 1>
CDS, 25/10/2011
Map Reduce: como funciona?
<Four, [1, 1, 1]><and, [1, 1, 1, 1, 1]>
<fathers, [1]><score, [1]>
<is, [1, 1, 1, 1 1]>…
Embaralha
CDS, 25/10/2011
Map Reduce: como funciona?
<Four, 3><and, 5>
<fathers, 1><score, 1>
<is, 5 >…
Reduz
word = keyones = valuecount = 0
for( one : ones )count++
emit( word, count )
CDS, 25/10/2011
Hadoop pra quê?
Quando usar Quando não usar
Busca Poucos dados
Processamento de logs Transações complexas
Sistemas de recomendação Alta consistência
Manipulação de video e imagem
Estatísticas, DW
Dados não estruturados
CDS, 25/10/2011
Resumindo
Scalability Cost-effective
Flexibility
Faul tolerant
CDS, 25/10/2011
Ecossistema Hadoop et. al.
CDS, 25/10/2011
Discussão
Hadoop é um banco de dados?Hadoop é um banco de dados?
Não. Hadoop não é um SGBD. É um sistema para armazenamento e processamento de grande massa de
dados.
Não. Hadoop não é um SGBD. É um sistema para armazenamento e processamento de grande massa de
dados.
Pode ser combinado com outras ferramentas e formar um banco de dados ou mesmo um
sistema de DW. Ex.: Hadoop + Hive, Hadoop + HBase
Pode ser combinado com outras ferramentas e formar um banco de dados ou mesmo um
sistema de DW. Ex.: Hadoop + Hive, Hadoop + HBase
O que é um banco de dados? Oracle SGBDR? Storage?
O que é um banco de dados? Oracle SGBDR? Storage?
CDS, 25/10/2011
Discussão
Hadoop é um banco de dados?Hadoop é um banco de dados?
Atenção: quando utilizar um SGBDR ou Hadoop (+ outras ferramentas)?
Atenção: quando utilizar um SGBDR ou Hadoop (+ outras ferramentas)?
Analise seus requisitos!Analise seus requisitos!
CDS, 25/10/2011
Estudo de Caso
no
CDS, 25/10/2011
Estudo de Caso: Facebook
http://borthakur.com/ftp/hadoopmicrosoft.pdf
CDS, 25/10/2011
Estudo de Caso: Facebook
• Logging
• Analytics e machine learning
• 2 clusters principais
• 1100 máquinas, 8800 cores, 12PB
• 300 máquinas, 2400 cores, 3PB
• cada nó possui 8 cores, com 12TB de storage
CDS, 25/10/2011
Estudo de Caso: Facebook
CDS, 25/10/2011
Estudo de Caso
no
CDS, 25/10/2011
Estudo de Caso: Coreo
HDFS
Web DAV
Portal WS
CDS, 25/10/2011
Estudo de Caso: Coreo
• Logging
• Apenas HDFS (por enquanto…)
• 1 cluster
• 3 máquinas
• fator de replicação 3
• backup namenode
CDS, 25/10/2011
Estudo de Caso: CDS
OSS/BSS?
DW?
OCS?
V4?
Smarts?
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Big Data
CDS, 25/10/2011
Hadoop powered by
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Cassandra: o que é?
Cassandra é um sistema distribuído de
armazenamento para GERENCIAR grande quantidade
de dados estruturados, com alta disponibilidade e
sem ponto de falha.
CDS, 25/10/2011
Cassandra: o que é?
Cassandra é um sistema distribuído de
armazenamento para GERENCIAR grande quantidade
de dados estruturados, com alta disponibilidade e
sem ponto de falha.
Um BANCO DE DADOS distribuído, escalável e de alta performance.
Um BANCO DE DADOS distribuído, escalável e de alta performance.
CDS, 25/10/2011
Cassandra: o que é?
Descentralizado
Tolerante a falhas
Modelo de dados <key,value>
Durável
Escalável
Criado pelo FacebookOpen source (Apache)
CDS, 25/10/2011
Cassandra: como funciona?
Escrita
CDS, 25/10/2011
Cassandra: como funciona?
Query
Closest replica
Cassandra Cluster
Replica A
Result
Replica B Replica C
Digest QueryDigest Response Digest Response
Result
Client
Read repair if digests differRead repair if digests differ
Leitura
CDS, 25/10/2011
Cassandra: modelo de dados
CDS, 25/10/2011
Cassandra: modelo de dados
Uma única coluna
CDS, 25/10/2011
Cassandra: modelo de dados
Uma única linha
CDS, 25/10/2011
Cassandra: modelo de dados
Difícil encontrar
SW para
modelagem
CDS, 25/10/2011
Cassandra: query
no-SQL = CQL = Cassandra Query Language
API Hector
SELECT, UPDATE, DELETE, CREATE COLUMN FAMILY, …
SELECT ... WHERE KEY = keyname AND name1 = value
CDS, 25/10/2011
Cassandra: quando usar?
Big data
Muitos requests
Alta performance (memória)
Analise seu modelo de dados!
CDS, 25/10/2011
Cassandra no Coreo
AppEngine
Controle
EventHandlerScheduler
Identity Server Componente de BD
CDS, 25/10/2011
Cassandra: discussão
X
CDS, 25/10/2011
Cassandra: discussão
+
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Scribe
Servidor de agregação de streams de logs em tempo
real.
CDS, 25/10/2011
Scribe
• Criado pelo Facebook
• Escrito em C++
• ( + ) Utiliza thrift para comunicação
• ( + ) Escalável
• ( + ) Robusto
• ( + ) Integra com Hadoop
• ( - ) Pouca documentação
CDS, 25/10/2011
Scribe: como funciona?
CDS, 25/10/2011
Scribe no Coreo
Logs são divididos em categorias do tipo:
1)ESBesb1esb2
2)BAMbam1bam2
3)SCEcocreation-sce1cocreation-sce2
4)Portalportal1portal2
5)AppEngineappEngine1appEngine2
6)…
CDS, 25/10/2011
Scribe no Coreo
CDS, 25/10/2011
Scribe no Coreo
CDS, 25/10/2011
Logging no CDS
Syslog?Splunk?
CDS, 25/10/2011
Outline
CDS, 25/10/2011
WSO2 BAM
Business
Activity
Monitor
CDS, 25/10/2011
WSO2 BAM
CDS, 25/10/2011
WSO2 BAM
• Utiliza SGBDR (Oracle no Coreo)
• Monitora ESB e Application Server
• Obtém dados do tipo:
• Num. de vezes que um endpoint foi executado
• Qual mensagem SOAP trafegada numa chamada de WS
• Quantas aplicações estão “deployadas” no AS
CDS, 25/10/2011
WSO2 BAM
CDS, 25/10/2011
WSO2 BAM
• Solução corporativa
• ( - ) Pouca documentação
• ( - ) Baixo desempenho (para aplicações de Internet)
• ( + ) Interface de visualização de gadgets amigável
• ( + ) Relatórios em pdf, excel e html
CDS, 25/10/2011
WSO2 BAM no Coreo
AppEngine
Componentes
Aplicações,WS externos (broker) eProxies, Sequences e Endpoints internos
Oracle
CDS, 25/10/2011
WSO2 BAM no Coreo
Aplicações top do mês
Aplicações mais populares
Número de erros de uma aplicação
Número de execuções/erros de um componente
Alto número de requisições pelo
Portal Coreo
Não possui mecanismo de
cache
CDS, 25/10/2011
WSO2 BAM: Futuro
Cassandra
Thrift
REST
Escalabilidade horizontal
Apache Hive
Cassandra
Google Gadgets
CDS, 25/10/2011
Outline
CDS, 25/10/2011
SDRService
Detail
Record
Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
CDS, 25/10/2011
SDR
Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
CDS, 25/10/2011
SDRKaha Persistence
Server standalone
API (cocreation-log)
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Logs, Monitoramento e Estatísticas
SDRSDR
Estatísticas e MonitoramentoEstatísticas e
Monitoramento
Centralização de logs do sistema
Centralização de logs do sistema
Registros das instâncias de execução
Registros das instâncias de execução
CDS, 25/10/2011
Outline
CDS, 25/10/2011
Futuro para o Coreo...
SDRSDR
Estatísticas e MonitoramentoEstatísticas e
Monitoramento
Centralização de logs do sistema
Centralização de logs do sistema
Registros das instâncias de execução
Registros das instâncias de execução
??
CDS, 25/10/2011
Conclusão
Atenção para o que está acontecendo no mundo… :)Atenção para o que está acontecendo no mundo… :)
Analise seus requisitos. Eles determinarão a escolha da ferramenta ideal.
Analise seus requisitos. Eles determinarão a escolha da ferramenta ideal.
CDS, 25/10/2011
Dúvidas??Dúvidas??