Uno de los usos más prácticos que se le pueden dar a nuestra Raspberry, es utlizarlo como un servidor central para monitorizar los diferentes equipos de nuestra casa.
Una forma sencilla, muy potente y con uso de consumos mínimo, muy utilizado en entornos productivos, es:
- Telegraf – es el «cliente» que recolecta los datos en su host, y los envía una una Base de Datos centralizada. Es ampliamente customizable mediante plugins.
- InfluxDB – Es la BBDD que recibe los datos de Telegraf. Está diseñado para trabajar de forma muy eficiente con series de datos temporales.
- Grafana – Es el frontend donde visualizaremos los diferentes gráficos y medidores. Recolecta datos de muchísimas otras fuentes por lo que es muy elastico de cara a futuro.
Todos estos productos son Open Source y gratuitos, y activamente desarrollados.
Un diagrama básico podría ser el siguiente:
En mi caso lo voy a instalar todo en una raspberryPi 2B corriendo Raspbian Buster. Más adelante veremos como añadimos más nodos.
Antes de nada necesitamos tener clara la versión y codigo de nuestro S.O., en nuestro caso buster
|
|
Instalación de InfluxDB y Telegraf
Añadimos los repositorios de influx, son el mismo para ambos productos.
|
|
Instalamos Telegraf y InfluxDB
|
|
Configurar Telegraf
Antes de nada, debemos de configurar Telegraf para indicarle qué información debe recoger, y dónde debe enviarla. Para ello modificamos el fichero de configuración
|
|
En la sección [[outputs.influxdb]] descomentamos la url correspondiente a http.
|
|
el nombre del database a utilizar
|
|
y le indicamos que no cree la BBDD, ya que la vamos a crear manualmente nosotros más delante
|
|
También dentro de este apartado, vamos a añadir autentificación para tener más controlado el entorno, y no dejar los datos expuestos a cualquier ataque. Se pueden añadir medidas adicionales, pero como primer paso nos puede servir con esto.
|
|
Reinicamos el servicio para que coja los cambios realizados:
|
|
y lo activamos como servicio para que levante automáticamente
|
|
InfluxDB
Los puertos que utiiliza InfluxDB por defecto son:
Puerto | Descripcion |
---|---|
8086 | API http a la que se conectará Telegraf |
8088 | Servicio de backup y restore |
Vamos a configurar la autentificación, al igual que hicimos con Telegraf. Para ello modificamos el fichero de configuracion de InfluxDB:
|
|
Y modificamos lo siguiente dentro del apartado [http]
|
|
Tras esto, guardamos y reiniciamos el servicio
|
|
Y lo activamos como servicio para que levante automáticamente:
|
|
Chronograf
Los puertos que utiiliza Cronograf por defecto son:
Puerto | Descripcion |
---|---|
8088 | API http a la consola de administración |
Para poder ver, o gestionar influxdb de forma gráfica, podemos instalar Chronograf
|
|
Creamos también el usuario admin
de nuestro InfluxDB
|
|
Ahora ya podemos acceder a la GUI o consola de administración. Lo podemos hacer en local (http://localhost:8888) o remotamente accediendo a la IP de nuestra raspberryPI (http://192.168.0.X:8888)
Una vez abierto, iniciamos una conexión añadiendo los datos de nuestro InfluxDB, y el usuario admin que acabamos de crear
Una vez creado, nos vamos a «InfluxDB Admin»
Creamos una nueva BBDD:
y un usuario telegraf
con todos los permisos
Con esto debería estar todo listo. Hacemos un reboot para comprobar que todo arranca bien, y Telegraf empieza a meter datos en la BBDD
Lo podemos ver en Chronograf, en la opcion «Explore»
Con esto ya podemos ver de forma sencilla los datos reportados por Telegraf. En el siguiente capítulo veremos como ver esto de una manera más avanzada utilizando Grafana.