Instalando Grafana en Raspberry Pi

Objetivos

 

  • Vamos a instalar Grafana en la Raspberry.
  • Cambiaremos el password al administrador.
  • Probaremos el explorer de datos.[/three-fourth] [clear/]
  •  

    Material requerido.

     

     Vista mayor  Una servidor MQTT
     Un ESP32

     

    Programa de Graficas

     

    ¿Qué es Grafana y porque lo instalamos? Bueno, una vez que ya hemos diseñado un sistema automático (Con el ESP32) que publica las lecturas de CO2, Temperatura y Humedad en el Broker MQTT, y que estos pasan a Influx DB mediante Telegraf, podemos ahora usar un programa Open Source como Grafana, cuya función es extraer esos datos, y generar gráficos informáticos de acuerdo a los parámetros que deseemos.

    Grafana es un programa que extrae datos de múltiples fuentes y que genera gráficos dinámicos en un servidor Web al que podemos acceder para estudiarlos de una forma practica.

    En un mundo como el actual, en el que los flujos continuos de datos son omnipresentes y van a mas porque todo movimiento o lectura es registrado y archivado por múltiples sensores, las herramientas graficas como Grafana estan pensadas para hacernos la vida un poco mas fácil y poder supervisar toda esa información de un modo mas o menos intuitivo, mediante gráficos de todo tipo que nos permiten comprobar los flujos de un modo fácil y razonablemente eficaz, para no perdernos en un mar de números de muy poco sentido.

     

    Instalando Grafana

     

    Vamos a ir viendo como instalar Grafana en nuestra Raspberri Pi. Como siempre empezamos asegurándonos de que nuestra Raspi está al día en lo que se refiere al software instalado con:

    sudo apt update
    sudo apt upgrade

    Ahora nos toca instalar el repositorio de Grafana (Para instalar la versión mas reciente) y para que no sea demasiado fácil, necesitamos la clave APT para validar los paquetes que descarguemos y para conseguir la clave segura tenemos que dar este comando:

    curl https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyrings.gpg >/dev/null

    instalando el repositorio de grafana

    Una vez seguros de que los paquetes a instalar no están manipulados, podemos usar esta orden para añadir el repositorio de Grafana a la lista de nuestra Raspi:

    echo "deb [signed-by=/usr/share/keyrings/grafana-archive-keyrings.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

    Y al hacer cambios en la lista de repositorios nos conviene volver a hacer

    sudo apt-get update

    Y ya por fin podemos invocar al  instalador de Grafana con:

    sudo apt install grafana

    Ya solo nos queda, instalar Grafana como un servicio que arranque en automático:

    sudo systemctl enable grafana-server
    sudo systemctl start grafana-server

    Vamos a comprobar que Grafana es accesible desde el navegador web y para eso necesitas la IP de tu Raspberry (La mía es 192.168.1.52) y entrar en el puerto 3000:

    192.168.1.52:3000
    Localhost:3000

    Primer acceso a grafana

    Cuando arrancas Grafana por primera vez, el usuario y la contraseña son admin, así que haz la prueba, Te permitirá entrar e inmediatamente te pedirá la nueva contraseña de administrador que te recomiendo que sea un poco más complicada por razones de seguridad y una vez que se la des llegaras a la pantalla inicial de Grafana.

    Grafana en navegador web

    Grafana es un programa de generación de gráficos, pero no una base de datos. Eso significa que nuestra información debe sacarse de algún sitio y de acuerdo con los tutoriales previos de esta serie del servidor IOT, la base de datos que estamos usando es Influx DB, que es a donde van a parar las medidas de CO2, temperatura y humedad que recogemos con nuestro ESP32 del sensor Sensirion SCD41.

  • Me gustaría pensar, que después de todo el rato que llevamos con esto, algunas ideas hayan ido cuajando. EL esp32 lee el sensor SCD41 y publica en el Broker MQTT los valores correspondientes. Telegraf está suscrito al Broker MQTT y recibe los valores que publica el ESP32 y con un pequeño proceso los inserta como medidas en la BD Test de Influx. Grafana obtendrá esos valores desde Influx DB y generará los gráficos en una página web a partir de ellos.  
  • Si no tienes claro todo lo anterior (Al menos a nivel conceptual, que los detalles los carga el demonio), puedes saltar al índice de nuestro Servidor IOT donde se van desarrollando paso a paso todos estos temas.
  • Me parece buen momento para decir que Grafana no está vinculado de ningún modo a Influx Db, y que puede conseguir datos de múltiples BDs como Influx DB, Prometheus, MySQL, Microsoft SQL Server, Mongo DB, Postgress SQL y un largo etcétera.
  •  

    Para que Grafana pueda generar gráficos a partir de una base de datos, necesitamos definir una fuente externa de esos datos que apunte a esa fuente, Influx, en nuestro caso:

    Configuracion\Data Sources\Add Data Source

    Menu de configuracion grafana

    Lo que nos llevará a:

    fuente de datos externa

    Pulsa en añadir data Source (En Azul Add data Source) y veras una lista de las BDs que puede aceptar (Puedes moverte arriba y abajo antes de elegir):

    Selecionar fuente externa influx

    Tenemos ahora que seleccionar la información de nuestra BD Influx. Lo primero será la dirección y puerto del servidor y el tipo de BD:

    Configuracion de la fuente externa

    En URL esta la dirección IP del server Grafana, y la autentificación he elegido Basic “Auth, with credentials”, porque fijamos nombre de usuario y contraseña para acceder, que es los nombres que figuran abajo en “Basic Auth details”. Esto nos permite definir las características del acceso al servidor Influx BD. Pero para acceder a la BD tenemos que rellenar la información que esta mas abajo. Ahí, fijaremos el nombre de la Base de datos a la que queremos acceder y de nuevo el usuario / contraseña con derecho a leer (Porque pueden ser distintos del acceso al servidor) y eso es todo:

    configuracion de BD y usuario

    Pulsa en el botón de la esquina inferior derecha “Save & Test” y si todo va bien (¿Por qué no iba a ir bien?) verás el botoncito verde indicando que la conexión ha tenido éxito:

    detalle de la configuracion de usuario

    Una vez que ya podemos acceder a los datos de Influx DB, y podemos usar la opción de explorar incluida en Grafana para comprobar que podemos acceder a la información almacenada en “Test. Para ello pincha en el menú lateral Explore”

    Entrando al explorador de grafana

    Llegarás a una página especial desde donde podemos acceder a la información de la BD de forma manual y gráfica, una vez que configuremos la información de la consulta, rellenando los datos adecuados. Lo primero es elegir la versión de la BD Influx en el primer desplegable: Selecciona Influx DB-2:

    Seleccionando la BD

    Si ahora pinchas debajo en “select measurement”, verás que nos muestra las medidas disponibles, CO2, Humed, TEMP:

    Opciones de medidas

    Yo voy a seleccionar CO2 por ejemplo, (Pero a nivel de ejemplo puedes elegir lo que quieras). Si Despliegas ahora el selector “Where”  puedes elegir “Station”

    Filtrando datos

    Y a la derecha, selecciona el tag “ID004”, que, si recuerdas, era el ID desde el que enviábamos los datos en el ESP32 para indicar su localización, y de inmediato veras que se muestra una gráfica de líneas de las ultimas lecturas de CO2 en mi caso:

    Seleccionando tags

    Voy a seleccionar CO2, por ejemplo, pero puedes elegir lo que quieras. Si Despliegas ahora el selector “Where” podrás elegir “Station” y seleccionar el tag “ID004”, que si recuerdas era el ID desde el que enviábamos los datos en el ESP32 para indicar su localización, y de inmediato veras que se muestra una gráfica de líneas de las ultimas lecturas de CO2 en mi caso:

    Graficos en el explarador

    Si tuvieras varios sensores enviando datos podrías seleccionar cual es el que interesa ver. Y esto es todo por hoy. En la próxima sesión haremos una introducción practica a la forma de generar esos gráficos mediante paneles.IMAGEN DE MARCA