Saludos amigos, os he ido contando a lo largo de la serie sobre Grafana muchas cosas, desde cómo monitorizar Linux, Windows, Veeam, VMware, e incluso la temperatura de los Servers mediante IPMI.
En la entrada de hoy vamos a ver cómo monitorizar el estado de nuestras Raspberry Pi 4, esto quiere decir que monitorizaremos la temperatura, CPU, etc, ya que aunque son terminales de bajo coste, no queremos que por cualquier problema de temperatura, se nos acabe quemando la placa.
Cuando terminemos, nos quedará un Dashboard similar a este:
Quiero agradecer el trabajo de Lex Rivera, que es el creador del resto del Dashboard para las métricas de Linux, CPU, Disco, RAM, etc. yo solo he añadido la temperatura a su gran trabajo.
Instalar Telegraf usando el repositorio oficial de InfluxData
Ya os conté en el post anterior, cómo configurar la red y actualizar los paquetes. Hay dos manera de instalar Telegraf sobre Raspberry Pi 4, que recordemos es una arquitectura ARM, la más sencilla que es usando el repositorio oficial de paquetes de InfluxData, y la otra es descargar el paquete desde la web de InfluxData e instalarlo a mano, en este tutorial os enseñaré el primer método.
El primer paso será añadir la clave pública del repositorio de InfluxData a nuestro sistema:
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Ahora añadiremos el repositorio para nuestra versión de Raspbian, que como estoy usando Raspberry Pi 4, se trata de Raspbian buster:
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Si queremos comprobar que estamos usando buster, y no una versión anterior, podremos verlo lanzando el siguiente comando:
sudo 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"
Haremos un apt-get update apt-get upgrade como siempre:
>apt-get update && apt-get upgrade
Ahora que tenemos todo listo, podemos lanzar el comando para la instalación de Telegraf:
sudo apt install telegraf -y
Y ahora sería recomendable marcar el servicio de Telegraf como auto-arranque, de la siguiente manera:
sudo systemctl start telegraf sudo systemctl enable telegraf
Configurar Telegraf para que nos mande temperatura y estado al server de InfluxDB
Tendremos que crear un fichero de configuración de telegraf, localizado en /etc/telegraf/telegraf.d/rpiservices.conf, esto es lo más importante para tener en cuenta:
# Output Plugin InfluxDB
[[outputs.influxdb]]
database = "telegraf"
urls = [ "http://YOURINFLUXDBIP:8086" ]
username = "YOURUSER"
password = "YOURPASS"
skip_database_creation = true
# Input Plugins
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]
Reiniciamos el servicio de Telegraf:
sudo systemctl restart telegraf
Y ahora ojeamos qué tal se encuentra el servicio con el comando status:
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 Sun 2019-07-21 00:09:21 BST; 5s ago
Docs: https://github.com/influxdata/telegraf
Main PID: 9630 (telegraf)
Tasks: 11 (limit: 4915)
Memory: 8.1M
CGroup: /system.slice/telegraf.service
└─9630 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
Jul 21 00:09:21 raspberrypi systemd[1]: Started The plugin-driven server agent for reporting metrics into InfluxDB.
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Starting Telegraf 1.11.2
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Loaded inputs: diskio kernel mem processes swap system cpu disk
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Loaded aggregators:
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Loaded processors:
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Loaded outputs: influxdb
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! Tags enabled: host=raspberrypi
Jul 21 00:09:22 raspberrypi telegraf[9630]: 2019-07-20T23:09:22Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"raspberrypi", Flush Interval:10s
Aunque ya parecerá que hemos terminado, queda lo más interesante, conocer la temperatura de los dos chips de la Raspberry Pi 4 que más se calientan, hablo de la CPU y de la GPU, para ello tendremos que añadir el usuario telegraf al grupo video:
sudo usermod -G video telegraf
Y crear un nuevo fichero de configuración en /etc/telegraf/telegraf.d/raspberrypitemp.conf con esto en su interior:
[[inputs.file]]
files = ["/sys/class/thermal/thermal_zone0/temp"]
name_override = "cpu_temperature"
data_format = "value"
data_type = "integer"
[[inputs.exec]]
commands = ["/opt/vc/bin/vcgencmd measure_temp"]
name_override = "gpu_temperature"
data_format = "grok"
grok_patterns = ["%{NUMBER:value:float}"]
Y reiniciar el servicio de telegraf de nuevo:
sudo systemctl restart telegraf
Una vez tenemos ya todo configurado, ya podremos pasar a Grafana para realizar la importación del Dashboard, etc.
Dashboard de Grafana
Este Dashboard ha sido más sencillo gracias al trabajo de Lex Rivera. El Dashboard lo podéis encontrar aquí, una vez importado, ya podremos ver el estado de nuestra Raspberry Pi:
Importar el Dashboard de Grafana de manera sencilla
Para que no tengáis que perder horas configurando un nuevo Dashboard, e ingerir y depurar queries, os he creado ya un estupendo Dashboard con todo lo necesario para monitorizar nuestro entorno de manera muy sencilla, os quedará como la imagen que os mostré más arriba.
Desde nuestro Grafana, haremos Create – Import
Seleccionaremos el nombre que queramos e introduciremos el ID: 10578, que es el ID únicas del Dashboard, o las URL:
Con los menú de arriba, podéis cambiar entre las Raspberry Pi, CPU, particiones, etc.:
Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)

hola no puedo importar el dashboard raspberrypi monitoring lo hago desde mi portatil conectandome a la ip :3000 llego bien hasta que tengo que pulsar la tecla verde de import pero nada
Saludos Fernando,
Nunca he escuchado un problema similar, parece algo raro con tu Grafana, te sale algún error? Usas el usuario de admin?
vale gracias por tu respuesta he solucionado la pregunta que te hice ,ahora me surje el problema de que cuando se abre el dashboard sale template init failed network error bad gateway 502 .
como si no tubiera conexion con la raspberry estoy en un portatil
gracias
Saludos Fernando,
En Grafana tienes que configurar tu datasource, que es tu influxdb 🙂
Buen articulo Jorge, siguiéndolo he conseguido montarlo en mi RaspberryPI 4. El problema que tuve era que no monitorizaba la red y en el que tu has compartido si lo hace. Así que pense que el problema estaría en el fichero de configuración telegraf.conf y en el apartado [[inputs.net]] por eso lo configure de la siguiente manera:
[[inputs.net]]
## By default, telegraf gathers stats from any up interface (excluding loopback)
## Setting interfaces will tell it to gather these explicit interfaces,
## regardless of status.
#
# interfaces = [“eth0”]
interfaces = [“eth0”, “wlan0″,”lo”]
#
## On linux systems telegraf also collects protocol stats.
## Setting ignore_protocol_stats to true will skip reporting of protocol metrics.
#
# ignore_protocol_stats = false
ignore_protocol_stats = false
#
Finalmente reinicie el servicio telegraf. Desde entonces ya monitoriza la red. 🙂
Lo dejo por aquí por si a alguien más le pasa lo mismo.
Un saludo y muchas gracias por esta web.
Hola, necesito monitorear la temperatura de un ubuntu y sistemas windows. Cual es seria la confuguracion en grafana?
Hola Jorge! Cuanta información de calidad has ido compartiendo, gracias.
Me surge un problema a la hora de instalar Telegraf. Al poner en el terminal
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add –
me salta el siguiente error:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Estoy muy pez en Linux y aunque entiendo que fque apt-get está obsoleto, no se como isntalar Telegraf en mi Rasp. En la página oficial indica lo mismo que en tu web y por más que busco en la red no consigo dar con la solución. Sabrías decirme como corregir este problema?
Saludos.