SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Proyecto Final Master Felix Rodriguez Araujo
Master Experto en Cloud Computing U-TAD
Log -Analytics
con
Apache-Flume
Elasticsearch
HDFS
Kibana
DESCRIPCIÓN GLOBAL DEL PROYECTO
TECNOLOGÍAS USADAS
WORKFLOW DEL DATO A ALTO NIVEL
BIBLIOGRAFÍA
1
2
3
4
Con el crecimiento de los volúmenes de datos que estamos experimentando en los últimos años, nos hemos visto
obligados a buscar soluciones para poder tratar dicha información de manera ágil y eficiente.
E.T.L. está siendo una estrategia claramente en alza en los últimos tiempos,el cómo extraer los datos de múltiples
orígenes y sistemas, cargarlos en tablas de datos para luego,posteriormente tratarlos y poder sacar un provecho de
ellos.
En el ejemplo que quiero tratar con este proyecto, es la gestión de logs generados por los diferentes webservers que
tenemos por las diferentes regiones configuradas en AWS,para posteriormente visualizarlos de una manera eficiente y
práctica.
Transform
Extract
Load
Flume permite diseñar y ejecutar workflows ETL con un gran rendimiento, confiabilidad y una puesta en marcha rápida (sin necesidad
de programación)
Apache Flume es un sistema para la recolección agregación y transporte de cantidades masivas de información. Distribuido, confiable y
flexible.
Su capacidad de adaptación permite trabajar con fuentes de datos heterogéneas y con destinos variados.
Los datos se pueden transformar, parsear, enriquecer o normalizar al vuelo.
También pueden crearse topologías de despliegue sofisticadas, para resolver casos de uso más complejos.
Hadoop es un sistema que permite almacenar y procesar grandes datos en un entorno distribuido en clústeres de ordenadores
utilizando modelos de programación simple. Está diseñado para aumentar la escala de servidores individuales de miles de máquinas,
cada uno de ellos ofrece computación y almacenamiento local.
Características de los HDFS
● Es adecuado para el almacenamiento y procesamiento distribuido.
● Hadoop proporciona una interfaz de comandos para interactuar con HDFS.
● Los servidores de namenode datanode y ayudar a los usuarios a comprobar fácilmente el estado del clúster.
● Streaming el acceso a los datos del sistema de ficheros.
● HDFS proporciona permisos de archivo y la autenticación.
Hive es almacén de datos creado específicamente para Hadoop que nos facilita la tarea de sumarizar los datos pre-existentes en HDFS.
La idea principal de Hive es la de funcionar como capa externa a Hadoop a modo de envoltorio, donde vamos a poder realizar
consultas sobre el sistema de archivos que serán tratadas como MapReduces en modo nativo en HDFS.
Para poder realizar estas operaciones, fue creado un lenguaje de consultas a "base de datos" (recordemos que HDFS es un sistema de
ficheros) muy similar a SQL, que denominaron HiveQL o HQL (dependiendo de en que libro lo leas lo verás de una manera u otra).
ElasticSearch indexa cualquier documento que le envíes y escala horizontalmente con mucha facilidad.
ElasticSearch es un servidor de indexación y búsqueda schema-less con grandes capacidades de escalabilidad horizontal.
Schema-less significa que el esquema se puede actualizar sobre la marcha, en función de los documentos indexados.
ElasticSearch puede indexar cada campo de los documentos (full-text search) y genera agregaciones y agrupaciones automáticamente.
Registrar un nodo nuevo en el cluster es muy sencillo, con una gestión automática del reparto de los datos y peticiones.
Kibana permite sacar provecho de los datos indexados, diseñando dashboards en cuestión de minutos.
Kibana es el motor de visualización y análisis de ElasticSearch, que permite una integración nativa con los datos indexados.
Los dashboards de Kibana son fáciles de crear y permiten una exploración de los datos en tiempo real, pero también de históricos.
Su interfaz es muy flexible y potente, con capacidades de análisis que abarcan desde la visualización de widgets hasta el raw data, con
drill-down y estadísticas al vuelo de cada dato indexado.
Http requests and responses
Apache HTTP server
Flume Agent
Flume Messaging TCP PORT 4545
HDFS
Hive
Flume Agent
Loading to Elasticsearch
with Hive
Visualising the data
El primer paso, lógicamente será
recibir peticiones a nuestros
servidores web Apache.
Dicho tráfico configuraremos
para que loguee donde
consideremos oportuno. Http requests and responses
Apache HTTP server
Flume Agent
En cada web-server configuraremos
el agente flume, para que envie los
logs al HDFS.
El archivo de conf básica del flume en el web-server
Ruta de los logs a analizar
Ip HDFS +Puerto
PARA LEVANTAR EL AGENTE
/usr/lib/flume/bin/flume-ng agent -c conf -f conf/flume-src-agent.conf -n source_agent
Apache HTTP server
Flume Agent
Flume Messaging TCP PORT 4545
HDFS
Hive
Flume Agent
Una vez levantado el agente Flume en el servidor
origen,procederá a enviar al “collector” (servidor
destino) los logs que hemos configurado
previamente.
Path del HDFS donde guardamos
los logs enviados desde el source
START Agent: flume-ng agent -c conf -f /flume-ng/conf/flume-trg-agent.conf -n
collector
Una vez lanzados los agentes flumes tanto en el server target como source…..
Vemos como, efectivamente nuestro HDFS está recibiendo datos
Podemos ver de una manera mucho más gráfica los logs importados por flume en HDFS, usaremos la G.U.I. de
Hadoop, HUE.
Para poder conseguir nuestro objetivo final, debemos de empezar a tratar los logs con HIVE, para ello
vamos a “importar” los logs en tablas, para ello lo haremos desde HUE o también desde la consola
hive de un terminal SSH, con la siguiente query.
A continuación vamos a “inyectar” datos en ElasticSearch,ya que es un requisito fundamental para finalmente poder
verlo en Kibana.
Lo primero que debemos hacer es agregar el jar elasticsearch-hadoop a la query
Las queries necesarias para ello son las siguientes:
CREATE TABLE logs (type STRING, time STRING, ext STRING, ip STRING, req STRING, res INT, bytes INT,
phpmem INT, agent STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY 't';
LOAD DATA INPATH '/pro/data/logs/apache_access_combined/150724' OVERWRITE INTO TABLE logs;
CREATE EXTERNAL TABLE felix_logses (time STRING, extension STRING, clientip STRING, request STRING,
response INT, agent STRING)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.resource' = 'demo/hive',
'es.mapping.names' = 'time:@timestamp',
'es.nodes' = 'your_es_cluster_hostname');
INSERT OVERWRITE TABLE felix_logses SELECT s.time, s.ext, s.ip, s.req, s.res, s.agent FROM logs s;
Si todo ha ido bien, ya podemos empezar a tratar datos con Elasticsearch.
Para verlo no hay más que ejecutar esta sencilla query…...
Y ...Voila...vemos los datos correctamente
importados…….
El último paso de nuestro proyecto, es ofrecer una visualización de los logs que vamos y hemos importado.
Como dijimos antes, usaremos Kibana.
Lo primero que deberemos hacer es agregar el index creado en la tabla anteriormente en hive.
En este caso, el index creado se denomina felix, vemos que importa las tablas con sus campos y datos.
El último paso de nuestro proyecto, es ofrecer una visualización de los logs que vamos y hemos importado.
Como dijimos antes, usaremos Kibana.
Lo primero que deberemos hacer es agregar el index creado en la tabla anteriormente en hive.
En este caso, el index creado se denomina felix, vemos que importa las tablas con sus campos y datos.
Los siguientes pasos en Kibana, para no entrar mucho en detalle, es básicamente que debes personalizar tus
búsquedas en tus logs para que, posteriormente con los datos importados por Elasticsearch, te muestre los
gráficos deseados.
http://www.rittmanmead.com/2014/05/trickle-feeding-webserver-log-files-to-hdfs-using-apache-flume/
https://www.elastic.co/guide/en/elasticsearch/reference/1.6/cluster-nodes-info.html
https://github.com/hortonworks/hadoop-tutorials/blob/master/Community/T07_Elasticsearch_Hadoop_Integration.md
http://www.johnandcailin.com/blog/cailin/exploring-apache-log-files-using-hive-and-hadoop
https://www.elastic.co/downloads
http://ryrobes.com/systems/connecting-tableau-to-elasticsearch-read-how-to-query-elasticsearch-with-hive-sql-and-
hadoop/comment-page-1/
https://github.com/lmenezes/elasticsearch-kopf
https://www.digitalocean.com/community/tutorials/how-to-use-kibana-dashboards-and-visualizations
hortonworks.com/products/hortonworks-sandbox/#tuts-admins
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana

Más contenido relacionado

La actualidad más candente

Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataSmash Tech
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaDavid Albela Pérez
 
Tutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeSocialmetrix
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache SparkGustavo Arjones
 
Aprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosAprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosGonzalo Chacaltana
 
ElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden GoogleElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden GoogleMariano Iglesias
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache SparkSocialmetrix
 
Taller Redis
Taller RedisTaller Redis
Taller Redisbetabeers
 
Symfony2 and ElasticSearch
Symfony2 and ElasticSearchSymfony2 and ElasticSearch
Symfony2 and ElasticSearchsymfony_bcn
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorAlberto Gimeno
 
Federacion Repositorios Objetos de Aprendizaje
Federacion Repositorios Objetos de AprendizajeFederacion Repositorios Objetos de Aprendizaje
Federacion Repositorios Objetos de AprendizajeXavier Ochoa
 

La actualidad más candente (20)

Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open Data
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
 
Spark meetup barcelona
Spark meetup barcelonaSpark meetup barcelona
Spark meetup barcelona
 
Tutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtimeTutorial en Apache Spark - Clasificando tweets en realtime
Tutorial en Apache Spark - Clasificando tweets en realtime
 
Spark
SparkSpark
Spark
 
Hydra
HydraHydra
Hydra
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache Spark
 
Aprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutosAprendiendo REDIS en 20 minutos
Aprendiendo REDIS en 20 minutos
 
ElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden GoogleElasticSearch: la tenés atroden Google
ElasticSearch: la tenés atroden Google
 
Introducción a Apache Spark
Introducción a Apache SparkIntroducción a Apache Spark
Introducción a Apache Spark
 
Hadoop
HadoopHadoop
Hadoop
 
Taller Redis
Taller RedisTaller Redis
Taller Redis
 
Conferencia 5: Extendiendo Solr
Conferencia 5: Extendiendo SolrConferencia 5: Extendiendo Solr
Conferencia 5: Extendiendo Solr
 
Symfony2 and ElasticSearch
Symfony2 and ElasticSearchSymfony2 and ElasticSearch
Symfony2 and ElasticSearch
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valor
 
Formación apache Solr
Formación apache SolrFormación apache Solr
Formación apache Solr
 
Federacion Repositorios Objetos de Aprendizaje
Federacion Repositorios Objetos de AprendizajeFederacion Repositorios Objetos de Aprendizaje
Federacion Repositorios Objetos de Aprendizaje
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
NASL
NASLNASL
NASL
 
Seminario Apache Solr
Seminario Apache SolrSeminario Apache Solr
Seminario Apache Solr
 

Similar a Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana

On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, KibanaOn-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, KibanaStratio
 
OpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics Spain
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL ServerEduardo Castro
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Miguel Pastor
 
Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Victor Martinez
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISGonzalo Chacaltana
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementaciónDiego Krauthamer
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataSpanishPASSVC
 

Similar a Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana (20)

On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, KibanaOn-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
 
Best hadoop bigdata architecture resume
Best hadoop bigdata architecture resume Best hadoop bigdata architecture resume
Best hadoop bigdata architecture resume
 
Guia LAPP
Guia LAPPGuia LAPP
Guia LAPP
 
Open analytics. data analytics con hadoop
Open analytics. data analytics con hadoopOpen analytics. data analytics con hadoop
Open analytics. data analytics con hadoop
 
OpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con Hadoop
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL Server
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Tipos servidores
Tipos  servidoresTipos  servidores
Tipos servidores
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Actividad n 5.3 http ftp
Actividad n 5.3 http ftpActividad n 5.3 http ftp
Actividad n 5.3 http ftp
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 
Big Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data LakeBig Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data Lake
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 

Último (14)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana

  • 1. Proyecto Final Master Felix Rodriguez Araujo Master Experto en Cloud Computing U-TAD Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
  • 2. DESCRIPCIÓN GLOBAL DEL PROYECTO TECNOLOGÍAS USADAS WORKFLOW DEL DATO A ALTO NIVEL BIBLIOGRAFÍA 1 2 3 4
  • 3.
  • 4. Con el crecimiento de los volúmenes de datos que estamos experimentando en los últimos años, nos hemos visto obligados a buscar soluciones para poder tratar dicha información de manera ágil y eficiente. E.T.L. está siendo una estrategia claramente en alza en los últimos tiempos,el cómo extraer los datos de múltiples orígenes y sistemas, cargarlos en tablas de datos para luego,posteriormente tratarlos y poder sacar un provecho de ellos. En el ejemplo que quiero tratar con este proyecto, es la gestión de logs generados por los diferentes webservers que tenemos por las diferentes regiones configuradas en AWS,para posteriormente visualizarlos de una manera eficiente y práctica. Transform Extract Load
  • 5.
  • 6. Flume permite diseñar y ejecutar workflows ETL con un gran rendimiento, confiabilidad y una puesta en marcha rápida (sin necesidad de programación) Apache Flume es un sistema para la recolección agregación y transporte de cantidades masivas de información. Distribuido, confiable y flexible. Su capacidad de adaptación permite trabajar con fuentes de datos heterogéneas y con destinos variados. Los datos se pueden transformar, parsear, enriquecer o normalizar al vuelo. También pueden crearse topologías de despliegue sofisticadas, para resolver casos de uso más complejos.
  • 7. Hadoop es un sistema que permite almacenar y procesar grandes datos en un entorno distribuido en clústeres de ordenadores utilizando modelos de programación simple. Está diseñado para aumentar la escala de servidores individuales de miles de máquinas, cada uno de ellos ofrece computación y almacenamiento local. Características de los HDFS ● Es adecuado para el almacenamiento y procesamiento distribuido. ● Hadoop proporciona una interfaz de comandos para interactuar con HDFS. ● Los servidores de namenode datanode y ayudar a los usuarios a comprobar fácilmente el estado del clúster. ● Streaming el acceso a los datos del sistema de ficheros. ● HDFS proporciona permisos de archivo y la autenticación.
  • 8. Hive es almacén de datos creado específicamente para Hadoop que nos facilita la tarea de sumarizar los datos pre-existentes en HDFS. La idea principal de Hive es la de funcionar como capa externa a Hadoop a modo de envoltorio, donde vamos a poder realizar consultas sobre el sistema de archivos que serán tratadas como MapReduces en modo nativo en HDFS. Para poder realizar estas operaciones, fue creado un lenguaje de consultas a "base de datos" (recordemos que HDFS es un sistema de ficheros) muy similar a SQL, que denominaron HiveQL o HQL (dependiendo de en que libro lo leas lo verás de una manera u otra).
  • 9. ElasticSearch indexa cualquier documento que le envíes y escala horizontalmente con mucha facilidad. ElasticSearch es un servidor de indexación y búsqueda schema-less con grandes capacidades de escalabilidad horizontal. Schema-less significa que el esquema se puede actualizar sobre la marcha, en función de los documentos indexados. ElasticSearch puede indexar cada campo de los documentos (full-text search) y genera agregaciones y agrupaciones automáticamente. Registrar un nodo nuevo en el cluster es muy sencillo, con una gestión automática del reparto de los datos y peticiones.
  • 10. Kibana permite sacar provecho de los datos indexados, diseñando dashboards en cuestión de minutos. Kibana es el motor de visualización y análisis de ElasticSearch, que permite una integración nativa con los datos indexados. Los dashboards de Kibana son fáciles de crear y permiten una exploración de los datos en tiempo real, pero también de históricos. Su interfaz es muy flexible y potente, con capacidades de análisis que abarcan desde la visualización de widgets hasta el raw data, con drill-down y estadísticas al vuelo de cada dato indexado.
  • 11.
  • 12. Http requests and responses Apache HTTP server Flume Agent Flume Messaging TCP PORT 4545 HDFS Hive Flume Agent Loading to Elasticsearch with Hive Visualising the data
  • 13. El primer paso, lógicamente será recibir peticiones a nuestros servidores web Apache. Dicho tráfico configuraremos para que loguee donde consideremos oportuno. Http requests and responses Apache HTTP server Flume Agent En cada web-server configuraremos el agente flume, para que envie los logs al HDFS. El archivo de conf básica del flume en el web-server Ruta de los logs a analizar Ip HDFS +Puerto PARA LEVANTAR EL AGENTE /usr/lib/flume/bin/flume-ng agent -c conf -f conf/flume-src-agent.conf -n source_agent
  • 14. Apache HTTP server Flume Agent Flume Messaging TCP PORT 4545 HDFS Hive Flume Agent Una vez levantado el agente Flume en el servidor origen,procederá a enviar al “collector” (servidor destino) los logs que hemos configurado previamente. Path del HDFS donde guardamos los logs enviados desde el source START Agent: flume-ng agent -c conf -f /flume-ng/conf/flume-trg-agent.conf -n collector
  • 15. Una vez lanzados los agentes flumes tanto en el server target como source….. Vemos como, efectivamente nuestro HDFS está recibiendo datos
  • 16. Podemos ver de una manera mucho más gráfica los logs importados por flume en HDFS, usaremos la G.U.I. de Hadoop, HUE.
  • 17. Para poder conseguir nuestro objetivo final, debemos de empezar a tratar los logs con HIVE, para ello vamos a “importar” los logs en tablas, para ello lo haremos desde HUE o también desde la consola hive de un terminal SSH, con la siguiente query.
  • 18. A continuación vamos a “inyectar” datos en ElasticSearch,ya que es un requisito fundamental para finalmente poder verlo en Kibana. Lo primero que debemos hacer es agregar el jar elasticsearch-hadoop a la query Las queries necesarias para ello son las siguientes: CREATE TABLE logs (type STRING, time STRING, ext STRING, ip STRING, req STRING, res INT, bytes INT, phpmem INT, agent STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't'; LOAD DATA INPATH '/pro/data/logs/apache_access_combined/150724' OVERWRITE INTO TABLE logs; CREATE EXTERNAL TABLE felix_logses (time STRING, extension STRING, clientip STRING, request STRING, response INT, agent STRING) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'demo/hive', 'es.mapping.names' = 'time:@timestamp', 'es.nodes' = 'your_es_cluster_hostname'); INSERT OVERWRITE TABLE felix_logses SELECT s.time, s.ext, s.ip, s.req, s.res, s.agent FROM logs s;
  • 19. Si todo ha ido bien, ya podemos empezar a tratar datos con Elasticsearch. Para verlo no hay más que ejecutar esta sencilla query…... Y ...Voila...vemos los datos correctamente importados…….
  • 20. El último paso de nuestro proyecto, es ofrecer una visualización de los logs que vamos y hemos importado. Como dijimos antes, usaremos Kibana. Lo primero que deberemos hacer es agregar el index creado en la tabla anteriormente en hive. En este caso, el index creado se denomina felix, vemos que importa las tablas con sus campos y datos.
  • 21. El último paso de nuestro proyecto, es ofrecer una visualización de los logs que vamos y hemos importado. Como dijimos antes, usaremos Kibana. Lo primero que deberemos hacer es agregar el index creado en la tabla anteriormente en hive. En este caso, el index creado se denomina felix, vemos que importa las tablas con sus campos y datos.
  • 22. Los siguientes pasos en Kibana, para no entrar mucho en detalle, es básicamente que debes personalizar tus búsquedas en tus logs para que, posteriormente con los datos importados por Elasticsearch, te muestre los gráficos deseados.
  • 23.