Get it on Google Play
02-09-2018
 

Formacion ElasticSearch: Procesos de ETL con Logstash

En este vídeo hemos visto lo potente que es Logstash para hacer procesos ETL(Extract, Transform and Load). Aquí os dejo los principales pasos del vídeo(Que os recomiendo mucho que os lo miréis hasta el final y lo comentéis):

Instalación de Logstash

Lo primero ha sido ir a la página web de elastic.co y en la parte superior derecha teneis el enlace para descargar todos los componentes del stack de ElasticSearch.

Seleccionamos Logstash y seleccionamos descargar como ‘Zip’ o ‘Tar.gz’. El paquete sirve para todos los sistemas operativos, solo requiere tener instalado Java.

Una vez descargado simplemente lo descomprimimos en cualquier carpeta.

Instalación del plugin logstash-output-jdbc

Como queremos cargar los datos del fichero de log en una base de datos MySql(Y en la inmensa lista de plugins de salida out-of-the-box de Logstash no contiene ninguno para cargar en Mysql) tenemos que instalar el plugin de la comunidad que nos permite conectar con bases de datos JDBC.

Esto lo hemos hecho situándonos en la carpeta ‘bin’ de logstash y ejecutando:

./logstash-plugin install logstash-output-jdbc	

Fichero de configuración ‘pipeline.conf’

Ahora ya solo nos queda crear nuestro fichero de configuración, en el vídeo ya detallo que hace cada cosa, con lo que solamente os dejo el contenido aquí:

input {
	    file {
		path => "#PATH_FICHERO_A CARGAR#"
		start_position => beginning
	    	}
	}


filter {
	}

output {
   		stdout {}

		jdbc { 
			driver_class => "com.mysql.jdbc.Driver" 
			driver_jar_path => "#PATH_LIBRERIA_JAR_DRIVER_MYSQL#"
			connection_string => "jdbc:mysql://#HOST_BBDD#/#BBDD#?user=#USER#&password=#PASSWORD#" 
			statement => [ 
				"INSERT INTO log (timestamp, message) VALUES( ?, ?)", 
				"@timestamp", 
				"message" ] 
			}

	}

Arrancar Logstash

Ahora ya podemos arrancar logstash simplemente con:

logstash -f /home/albert/pipeline.conf

Añadir contenido al fichero

Para añadir contenido al fichero lo hemos hecho de la siguiente manera:

echo 'Mi línea en mi fichero\n' >> out.log

Como vemos logstash es una auténtica navaja suiza para lo que es la extracción, transformación y cargado de datos. Sus principales características son simplicidad de configuración y gran cantidad de plugins.

ETL con Logstash y MySql

ETL con Logstash y MySql

Si te ha servido, por favor comparte
 

Leave a Reply