Archivos de la categoría ioT

bigdata

Analizar Big Data de IoT con open source. MQTT y ElasticSearch – Tutorial

¿Por qué ElasticSearch?

  • open source
  • altamente escalable
  • Ideal para datos que varian durante el tiempo

Forma parte del  elasticsearch stack que puede proporcionar las funcionalidades siguientes:

  • Gráficos (Kibana)
  • Analytics (Kibana)
  • Alarmas (Logstash)

Lo que explicamos en este artículo

Vamos a configurar un nodo único elasticsearch en un servidor Linux Ubuntu 16.04 y lo vamos a usar para recopilar datos publicados en un servidor de MQTT Mosquitto.  (Se supone que ya tienes tu servidor MQTT instalado).

Instalar ElasticSearch

Crear un nuevo directorio  myElasticSearch

mkdir myElasticSearch
cd myElasticSearch

Download el tar Elasticsearch:

curl -L -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.1/elasticsearch-2.4.1.tar.gz

A continuación extraerlo como sigue:

tar -xvf elasticsearch-2.4.1.tar.gz

Luego creará un montón de archivos y carpetas en el directorio actual. Luego entramos en el directorio bin :

CD elasticsearch-2.4.1/bin

Y ahora estamos listos para comenzar nuestro nodo :

. / elasticsearch

Para almacenar los datos podemos utilizar el comando

curl -XPOST 'localhost:9200/customer/external?pretty' -d '
{
"name": "Jane Doe"
}'

Para leer los mismos datos , podemos utilizar

curl -XGET 'localhost:9200/customer/external/1?pretty'

Si ves los datos que creó, entonces elasticSearch ya está en marcha!

Instalar al cliente de Python para elasticsearch

Instalar al cliente de mqtt de PAHO y elasticsearch en el servidor

pip install elasticsearch
pip install paho-mqtt

Crear un script de cliente Python MQTT para incorporar los datos publicados en MQTT en elasticSearch

Use el script mqttToElasticSearch.py que utiliza los libraries MQTT PAHO y ElasticSearch  de python.  Tendrás que modificar las líneas en la parte superior dependiendo del puerto y dirección IP de la instalación de MQTT.

Se puede descargar el fichero desde

https://github.com/mattfield11/MQTT-elasticSearch

O si tienes GIT instalado:

git clone https://github.com/mattfield11/mqtt-elasticSearch.git

El script debería ser instalado en un directorio en el mismo servidor que tengas ElasticSearch funcionando.

Editar el script mqttToElasticSearch para incluir la dirección de tu servidor MQTT y el puerto.

Ejecutar al cliente de Python MQTT que acaba de descargar

Python mqttToElasticSearch.py

Para ver los datos que acabamos de crear en elasticsearch

curl 'localhost:9200/my-index/_search?q=*&pretty'

¡Ahora los datos publicados en MQTT se guardan  en elasticsearch ( en función de los topicos que tenemos configurado en el fichero)!
En los próximos días explicamos cómo ver datos MQTT en Kibana donde se puede hacer gráficos y análisis de los datos MQTT.

Para obtener más información

ElasticSearch

https://www.elastic.co/

https://www.elastic.co/Guide/en/elasticsearch/Reference/Current/Setup-Service.html#Using-systemd

Python ElasticSearch cliente

https://www.elastic.co/Guide/en/elasticsearch/Client/Python-API/Current/index.html