Telegraf-ekin Raspberry Pi monitorizatzea
Tenía pendiente desde hace tiempo publicar algunos posts sobre Telegraf y algunas maravillas que podemos hacer. En este documento sencillito veremos cómo podemos recopilar métricas de rendimiento de una Raspberry Pi y mostrarlas en tiempo real con Grafana!
Suponiendo que ya tenemos Influxdb montado y funcional en un servidor, así como Grafana (baina ez badugu, revisa esto), pues es hora de recopilar métricas, empezamos con algo sencillo, una máquina Linux (basada en Debian), y qué mejor que una Raspberry Pi, donde además de obtener las métricas comunes, obtendremos también las de las temperaturas de CPU y GPU.
Hasi gaitezen!! Instalaremos el agente de Telegraf en la Raspberry Pi para indicarle las métricas que queremos enviar al Influxdb, lo primerito, descargamos las claves del repo de Influx:
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Y añadimos el repositorio con (kontuz, seleccionaremos nuestra versión de debian correcta (bullseye, buster, stretch…) :
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Y ahora sí, instalamos Telegraf:
sudo wget -O - https://repos.influxdata.com/influxdb.key | sudo apt-key add - sudo apt-get update sudo apt install telegraf -y
Ondoren, tenemos que tocar el fichero de configuración de Telegraf (/etc/telegraf/telegraf.conf), así que lo abrimos y lo editamos, cambiaremos varias cosas, según nuestras necesidades. Comenzamos con 'interval’ y con 'flush_interval', el primero indica cada cuanto checkeara, y el segundo cada cuanto lo manda a la BD, si queréis a nivel de 1 segundo nos quedaría así, no es necesario quizá tan agresivo, pero queda luego muy impresionante en Grafana, ver cómo refresca al segundo…:
... [agente] interval = "1s" flush_interval = "1s" ...
En la sección de los Inputs, descomentaremos las métricas que queramos recibir, ejemplo:
...
# 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]]
...
Y finalmente, en los Outputs, en la salida, a donde lo mandamos las métricas, descomentamos y configuramos correctamente la sección de Influxdb:
... [[outputs.influxdb]] urls = ["http://DIRECCION_IP:8086"] # required database = "NOMBREBD" username = "usuario" password = "XXXXXXXX" skip_database_creation = true ...
Tras grabar el fichero, podemos probar si la configuración es correcta con:
telegraf --test
Reiniciamos los servicios de Telegraf para que carge la configuración recién modificada, vemos que arrancó e indicamos que inicie Telegraf con el sistema:
sudo systemctl start telegraf sudo systemctl status telegraf sudo systemctl enable telegraf
Si además de estas métricas standard queremos además añadir métricas que nos de la temperatura de la CPU y/o la temperatura de la GPU de la Raspberry Pi, seguimos con, añadiendo al usuario de Telegraf al grupo de video para que pueda leer dichos datos:
sudo usermod -G video telegraf
A continuación podremos crearnos un fichero de configuración para este menester, por ejemplo le llamamos '/etc/telegraf/telegraf-raspberrypitemp.conf’ y con el siguiente contenido:
[[inputs.file]]
files = ["/sys/class/thermal/thermal_zone0/temp"]
name_override = "cpu_temperature"
data_format = "value"
data_type = "enter"
[[inputs.exec]]
commands = ["//opt/vc/bin/vcgencmd measure_temp"]
name_override = "gpu_temperature"
data_format = "grok"
grok_patterns = ["%{NUMBER:value:float}"]
Berrabiarazten dugu Telegraf konfigurazio berri hau irakurtzeko eta prest edukiko genuke:
sudo systemctl restart telegraf
Horrekin datuak Influxdb-n gordetzen hasi litezke dagoeneko, orain Grafana-tik ikusteko betiko modua, Influxdb-rako Data Source-a ez badugu, sortzen dugu, eta hurrengoa eta erosoena gustuko Dashboard bat jaistea da, komunitateak sortua 🙂 Ni dashboard honekin probatu dut, ikusten duzuen bezala, Grafana-n dashboard berri bat sortzean bezain erraza da, bere ID-a inportatu, kasualitate honetan '10578', baina badira beste dashboard asko edo zuek momentu batean behar adina aldatu dezakezue. Por cierto el Dashboard este es de Jorge de la Cruz, así que gracias por tu ratito!!
Y seguro que en un momentito tendréis algo tan chulo como esto! o vaya, mucho mejor!!! Ya podemos visualizar en tiempo real el rendimiento de nuestra Raspberry Pi, le vemos las distintas CPUs, Memorias, Uso de discos, sareko trafikoa, carga, temperaturas…
Onena, me despido como siempre agradeciendo a todos los que leéis estas chapas, a los que queréis aprender, a los que compartis en redes sociales contenido divulgativo!
Muxuak!








































