Saludos amigos, la nueva Raspberry Pi 4B 8GB es el modelo perfecto para ejecutar nuestras aplicaciones más pesadas, un claro ejemplo es InfluxDB, Telegraf, y Grafana, que juntos se comen los 8GB, algo menos, sin ningún problema. Con lo que si como yo, estabais ejecutando TIG (Telegraf, InfluxDB, Grafana) en una VM, darle una pensada a esta nueva RPi.
En esta interesante entrada vamos a ver cómo instalar todos los componentes en Raspberry Pi 4B 8GB, además de migrar todo lo que tengamos de la VM a esta nueva ubicación.
Instalación de InfluxDB sobre Raspberry Pi 4B 8GB
El primer paso será instalar InfluxDB sobre nuestra nueva y flamante Raspberry Pi 4B 8GB, para ello comenzaremos con el típico comando para actualizar todos los paquetes que vienen de serie:
sudo apt update sudo apt upgrade
Ahora para instalar InfluxDB, supongo que estáis usando la última versión de Raspbian, con lo que haremos lo siguiente, añadir la key del repositorio de InfluxDB:
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Comprobar que versión tenemos, por si acaso:
cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Y finalmente añadir el repositorio que corresponde a nuestra versión de Sistema Operativo:
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Vamos ya a actualizar paquetes e instalar InfluxDB:
sudo apt update sudo apt install influxdb
Procederemos a realizar lo siguiente para habilitar el servicio al arranque de la Pi:
sudo systemctl unmask influxdb sudo systemctl enable influxdb
Por último, comprobaremos en qué estado se encuentra el servicio:
sudo systemctl status influxdb — influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-05-30 19:39:58 BST; 7s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 4988 (influxd) Tasks: 14 (limit: 4915) Memory: 7.4M CGroup: /system.slice/influxdb.service └─4988 /usr/bin/influxd -config /etc/influxdb/influxdb.conf May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946494Z lvl=info msg="Starting precreation service" log_id=0N5izJTW000 service=shard-precreation check_interval=10m May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946551Z lvl=info msg="Starting snapshot service" log_id=0N5izJTW000 service=snapshot May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946584Z lvl=info msg="Starting continuous query service" log_id=0N5izJTW000 service=continuous_querier May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946608Z lvl=info msg="Starting HTTP service" log_id=0N5izJTW000 service=httpd authentication=false May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946627Z lvl=info msg="opened HTTP access log" log_id=0N5izJTW000 service=httpd path=stderr May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.946988Z lvl=info msg="Storing statistics" log_id=0N5izJTW000 service=monitor db_instance=_internal db_rp=monitor in May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.947215Z lvl=info msg="Listening on HTTP" log_id=0N5izJTW000 service=httpd addr=[::]:8086 https=false May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.947263Z lvl=info msg="Starting retention policy enforcement service" log_id=0N5izJTW000 service=retention check_int May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.947652Z lvl=info msg="Listening for signals" log_id=0N5izJTW000 May 30 19:39:58 raspberrypi influxd[4988]: ts=2020-05-30T18:39:58.947772Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=0N5izJTW000
Todo ha ido de lujo, vamos a pasar ya a instalar Telegraf en nuestra Raspberry Pi 4B 8GB.
Instalación de Telegraf sobre Raspberry Pi 4B 8GB
Recordemos que Telegraf es el agente que se encarga de recolectar información de diferentes sistemas, en mi caso lo pongo aquí para recolectar información de VMware vSphere, Certificados SSL, y muchos otros, como ya tenemos la key de InfluxDB, ahora solo tenemos que instalar el agente:
sudo apt-get install telegraf
Para meterlo en el arranque de la Raspberry Pi 4B 8GB:
sudo systemctl unmask telegraf sudo systemctl enable telegraf sudo systemctl start telegraf
Y finalmente, para comprobar como se encuentra el agente:
sudo systemctl status telegraf — telegraf.service - The plugin-driven server agent for reporting metrics into InfluxDB Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-05-30 19:42:08 BST; 14s ago Docs: https://github.com/influxdata/telegraf Main PID: 5140 (telegraf) Tasks: 13 (limit: 4915) Memory: 14.4M CGroup: /system.slice/telegraf.service ”””€5140 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d May 30 19:42:08 raspberrypi systemd[1]: Started The plugin-driven server agent for reporting metrics into InfluxDB. May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Starting Telegraf 1.14.3 May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Loaded inputs: processes swap system cpu disk diskio kernel mem May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Loaded aggregators: May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Loaded processors: May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Loaded outputs: influxdb May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! Tags enabled: host=raspberrypi May 30 19:42:08 raspberrypi telegraf[5140]: 2020-05-30T18:42:08Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"raspberrypi", Flush Interval:10s
Ya tenemos telegraf corriendo también, vamos al siguiente paso.
Instalación de Grafana sobre Raspberry Pi 4B 8GB
Ya solamente nos queda Grafana, que se instala en apenas unos segundos. No he encontrado un repositorio oficial de Grafana, pero al menos los chicos de Grafana nos tienen un paquete especial para ARM Raspberry Pi preparado, para descargarlo e instalarlo haremos lo siguiente:
sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/oss/release/grafana-rpi_7.0.3_armhf.deb sudo dpkg -i grafana-rpi_7.0.3_armhf.deb
Además lanzaremos los siguientes comandos:
sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable grafana-server sudo /bin/systemctl start grafana-server
¡Fantástico! Si nos fueramos a un navegador ya veriamos la belleza de Grafana 7:
Extras – Compilación de pasos adicionales
Como cada uno es un mundo, estos pasos los dejo aquí al final, en caso de que os sean de ayuda.
Extra 1: Configuración detallada de InfluxDB
Una vez hemos instalado InfluxDB, tendremos que realizar los siguientes pasos para crear una base de datos llamada telegraf y usarla para nuestras monitorizaciones, además de crear un usuario, nos conectamos a influxDB:
influx
Y luego ya lanzamos los comandos:
create database telegraf use telegraf create user grafana with password 'TUPASSWORD' with all privileges grant all privileges on telegraf to grafana show users user admin ---- ----- grafana true
¡Importante! Si vas a importar tu InfluxDB desde otra VM, no tienes que crear la BD o el user.
Extra 2: Configuración detallada de Telegraf
Bueno, la caja de pandora, a mi por lo general me gusta comentar lo siguiente del /etc/telegraf/telegraf.conf:
# Configuration for sending metrics to InfluxDB #[[outputs.influxdb]] ## The full HTTP or UDP URL for your InfluxDB instance. ## ## Multiple URLs can be specified for a single cluster, only ONE of the ## urls will be written to each interval. # urls = ["unix:///var/run/influxdb.sock"] # urls = ["udp://127.0.0.1:8089"] # urls = ["http://127.0.0.1:8086"]
Ya con el outputs comentado, dentro de /etc/telegraf/telegraf.d/* Ahí es donde creo mis configuraciones, por ejemplo, la básica de sistema se llamará /etc/telegraf/telegraf.d/outputs.conf con lo siguiente:
[[outputs.influxdb]] urls = ["http://YOURINNFLUXSERVER:8086"] database = "telegraf" username = "YOURUSER" password = "YOURPASS"
Y así con todo. Una vez lo editamos y tenemos nuestros ficheros, reiniciar el telegraf:
service telegraf restart
Extra 3: Configuración detallada de Grafana
Bueno, no es que esto tenga mucho misterio, pero tenemos que añadir el Datasource, para ello, simplemente seguir esta imagen:
Y ya está, vuestro Grafana, listo para leer desde vuestro InfluxDB 🙂
Extra 4: Migración desde una VM con TIG hacía esta Raspberry Pi 4B 8GB
Si lleváis años siguiendo la serie de “En Busca del Dashboard Perfecto“, primero GRACIAS, segundo quizá queráis moverlo todo a esta nueva bestia de Raspberry Pi 4B 8GB, vamos paso a paso.
Realmente tenéis un script fantástico en esta otra entrada:
Esto os moverá: la config de Grafana, InfluxDB, y Telegraf, así como los Dashboards de Grafana, que podéis importar en este nuevo sistema.
Además, si estáis usando SSL, recordad que tenéis que seguir los pasos de nuevo en esta nueva Raspberry Pi 4B 8GB:
- InfluxDB: Securizando nuestros accesos por API a InfluxDB usando HTTPS con Let’s Encrypt de manera gratuita y renovación automatizada
- Grafana: Securizando nuestros Dashboards en Grafana usando HTTPS con Let’s Encrypt de manera gratuita y renovación automatizada
Ya está todo amigos, espero que os guste. Comentarios, siempre bienvenidos.


[…] Un kit súper completo para que empecéis a trastear con el dispositivo, o como yo, que lo uséis como servidor de Telegraf, InfluxDB, y Grafana. […]