Logs, Monitoramento e Estatísticas - Uma Abordagem sobre Ferramentas

1.284 visualizações

Publicada em

Ferramentas para logs, monitoramento e estatísticas

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.284
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Logs, Monitoramento e Estatísticas - Uma Abordagem sobre Ferramentas

  1. 1. CDS, 25/10/2011 Logs, Monitoramento e Estatísticas Uma abordagem sobre ferramentas
  2. 2. CDS, 25/10/2011 Motivação 2011: dados gerados no mundo ultrapassou 1.8 ZB = 1.8 trilhão GB 2011: dados gerados no mundo ultrapassou 1.8 ZB = 1.8 trilhão GB A quantidade de dadosdo mundo está maisque dobrando a cadadois anos! A quantidade de dadosdo mundo está maisque dobrando a cadadois 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!
  3. 3. CDS, 25/10/2011 Motivação
  4. 4. CDS, 25/10/2011 Motivação
  5. 5. CDS, 25/10/2011 O que é Big Data? GrandeGrande ComplexoComplexo Não-estruturadoNão-estruturado
  6. 6. 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)
  7. 7. 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?
  8. 8. CDS, 25/10/2011 Outline
  9. 9. CDS, 25/10/2011 Hadoop: ficha técnica 2003 2004 2005 2006 2008 GFS(GoogleFile System) Nutch(websearchengine –partedoLucene)-NDFS MapReduce NDFS +MapReduce Apacheproject: HADOOP
  10. 10. CDS, 25/10/2011 NYT: menos de 24h para converter para PDF 4TB de arquivos scaneados utilizando 100 máquinas de Hadoop Facebook possui omaior cluster deHadoop do mundo:30PB Yahoo! utiliza Hadoop para ordenar 1TB em 59s Hadoop: ficha técnica
  11. 11. CDS, 25/10/2011 Hadoop powered by
  12. 12. CDS, 25/10/2011 Hadoop tecnicamente... • Java • Open Source • Projeto top level da Apache • Commiters: Yahoo! e Cloudera • Plataformas com Hadoop: MapR, Hadapt, Cloudera…
  13. 13. CDS, 25/10/2011 O que é Hadoop?
  14. 14. 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
  15. 15. CDS, 25/10/2011 O que é Hadoop? = + armazenamento processamento Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
  16. 16. CDS, 25/10/2011 HDFS Hadoop Distributed File System [fabiola-laptop ~]$ hadoop dfs –mkdir /ctbc [fabiola-laptop ~]$ hadoop dfs –copyFromLocal dados.txt /ctbc [fabiola-laptop ~]$ hadoop dfs –ls /ctbc Found 1 items -rw-r—r-- 3 fabiola fabiola 88 2012-06-27 19:12 /ctbc/dados.txt
  17. 17. 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…
  18. 18. 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
  19. 19. 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
  20. 20. 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.
  21. 21. CDS, 25/10/2011 HDFS: como funciona? HDFS distribui os blocos aos datanodes
  22. 22. CDS, 25/10/2011 HDFS: como funciona? Namenode controla blocos e datanodes DN1, DN4, DN7 DN4, DN5, DN6 DN3, DN5, DN8 Namenode
  23. 23. 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
  24. 24. 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
  25. 25. 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?
  26. 26. CDS, 25/10/2011 Relembrando… = + armazenamento processamento Um sistema de ARMAZENAMENTO e PROCESSAMENTO de dadosUm sistema de ARMAZENAMENTO e PROCESSAMENTO de dados
  27. 27. CDS, 25/10/2011 Map Reduce
  28. 28. 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>
  29. 29. 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>
  30. 30. 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>
  31. 31. CDS, 25/10/2011 Map Reduce: como funciona? Exemplificando: Contador de Palavras (word count)
  32. 32. 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 )
  33. 33. 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
  34. 34. CDS, 25/10/2011 Tasktracker Map Reduce: como funciona? Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode Tasktracker Datanode
  35. 35. 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>
  36. 36. 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
  37. 37. CDS, 25/10/2011 Map Reduce: como funciona? <Four, 3> <and, 5> <fathers, 1> <score, 1> <is, 5 > … Reduz word = key ones = value count = 0 for( one : ones ) count++ emit( word, count )
  38. 38. 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
  39. 39. CDS, 25/10/2011 Resumindo Scalability Cost-effective Flexibility Faul tolerant
  40. 40. CDS, 25/10/2011 Ecossistema Hadoop et. al.
  41. 41. 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?
  42. 42. 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!
  43. 43. CDS, 25/10/2011 Estudo de Caso no
  44. 44. CDS, 25/10/2011 Estudo de Caso: Facebook http://borthakur.com/ftp/hadoopmicrosoft.pdf
  45. 45. 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
  46. 46. CDS, 25/10/2011 Estudo de Caso: Facebook
  47. 47. CDS, 25/10/2011 Estudo de Caso no
  48. 48. CDS, 25/10/2011 Estudo de Caso: Coreo HDFS Web DAV Portal WS
  49. 49. 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
  50. 50. CDS, 25/10/2011 Estudo de Caso: CDS OSS/BSS? DW? OCS? V4? Smarts?
  51. 51. CDS, 25/10/2011 Big Data
  52. 52. CDS, 25/10/2011 Big Data
  53. 53. CDS, 25/10/2011 Big Data
  54. 54. CDS, 25/10/2011 Hadoop powered by
  55. 55. CDS, 25/10/2011 Outline
  56. 56. 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.
  57. 57. 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.
  58. 58. CDS, 25/10/2011 Cassandra: o que é? Descentralizado Tolerante a falhas Modelo de dados <key,value> Durável Escalável Criado pelo Facebook Open source (Apache)
  59. 59. CDS, 25/10/2011 Cassandra: como funciona? Escrita
  60. 60. CDS, 25/10/2011 Cassandra: como funciona? Query Closest replica Cassandra Cluster Replica A Result Replica B Replica C Digest Query Digest Response Digest Response Result Client Read repair if digests differ Read repair if digests differ Leitura
  61. 61. CDS, 25/10/2011 Cassandra: modelo de dados
  62. 62. CDS, 25/10/2011 Cassandra: modelo de dados Uma única coluna
  63. 63. CDS, 25/10/2011 Cassandra: modelo de dados Uma única linha
  64. 64. CDS, 25/10/2011 Cassandra: modelo de dados Difícil encontrar SW para modelagem
  65. 65. 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
  66. 66. CDS, 25/10/2011 Cassandra: quando usar? Big data Muitos requests Alta performance (memória) Analise seu modelo de dados!
  67. 67. CDS, 25/10/2011 Cassandra no Coreo AppEngine Controle EventHandler Scheduler Identity Server Componente de BD
  68. 68. CDS, 25/10/2011 Cassandra: discussão X
  69. 69. CDS, 25/10/2011 Cassandra: discussão +
  70. 70. CDS, 25/10/2011 Outline
  71. 71. CDS, 25/10/2011 Scribe Servidor de agregação de streams de logs em tempo real.
  72. 72. 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
  73. 73. CDS, 25/10/2011 Scribe: como funciona?
  74. 74. CDS, 25/10/2011 Scribe no Coreo Logs são divididos em categorias do tipo: 1)ESB esb1 esb2 1)BAM bam1 bam2 1)SCE cocreation-sce1 cocreation-sce2 1)Portal portal1 portal2 1)AppEngine appEngine1 appEngine2 1)…
  75. 75. CDS, 25/10/2011 Scribe no Coreo
  76. 76. CDS, 25/10/2011 Scribe no Coreo
  77. 77. CDS, 25/10/2011 Logging no CDS Syslog? Splunk?
  78. 78. CDS, 25/10/2011 Outline
  79. 79. CDS, 25/10/2011 WSO2 BAM Business Activity Monitor
  80. 80. CDS, 25/10/2011 WSO2 BAM
  81. 81. 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
  82. 82. CDS, 25/10/2011 WSO2 BAM
  83. 83. 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
  84. 84. CDS, 25/10/2011 WSO2 BAM no Coreo AppEngine Componentes Aplicações, WS externos (broker) e Proxies, Sequences e Endpoints internos Oracle
  85. 85. 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
  86. 86. CDS, 25/10/2011 WSO2 BAM: Futuro Cassandra Thrift REST Escalabilidade horizontal Apache Hive Cassandra Google Gadgets
  87. 87. CDS, 25/10/2011 Outline
  88. 88. CDS, 25/10/2011 SDR Service Detail Record Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
  89. 89. CDS, 25/10/2011 SDR Registro da execução de um componente ou aplicaçãoRegistro da execução de um componente ou aplicação
  90. 90. CDS, 25/10/2011 SDR Kaha Persistence Server standalone API (cocreation- log)
  91. 91. CDS, 25/10/2011 Outline
  92. 92. CDS, 25/10/2011 Logs, Monitoramento e Estatísticas SDRSDR Estatísticas e Monitoramento Estatí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
  93. 93. CDS, 25/10/2011 Outline
  94. 94. CDS, 25/10/2011 Futuro para o Coreo... SDRSDR Estatísticas e Monitoramento Estatí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 ??
  95. 95. 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.
  96. 96. CDS, 25/10/2011 Dúvidas??Dúvidas??

×