Prometheus: Controlando la Temperatura de una Raspberry Pi

September 6, 2018
devops raspberry-pi sistemas prometheus

docker logo

Una de las cosas que necesitaba controlar de las raspberries era la temperatura que alcanzaban, así que busqué la forma de poder estar al tanto a través de prometheus, y así ha sido como lo he hecho.

Raspberry Pi Exporter

Buscando y probando algunas opciones al final encontré Raspberry Pi Exporter que me daba las métricas que necesitaba así que me puse a instalarlo.

Este exporter al contrario del que vimos con anterioridad no monta un servicio como tal, si no que pasa datos a un servicio que ya hemos creado, el node_exporter, el cual ya conté aquí cómo instalarlo.

Para ello vamos a activar el textfile_collector del node_exporter.

  • Editamos el fichero del servicio y añadimos lo siguiente a lo que ya tuviésemos.

sudo nano /etc/systemd/system/node_exporter.service
ExecStart=/usr/local/bin/node_exporter --collector.textfile.directory=/var/lib/node_exporter/textfile_collector
  • Recargamos el servicio y lo reinciamos

sudo systemctl daemon-reload && sudo systemctl restart node_exporter
  • Nos bajamos el exporter de su repositorio en github

git clone https://github.com/teemow/prometheus-raspberry-exporter.git
  • Copiamos los ficheros a sus correspondientes carpetas

cd prometheus-raspberry-exporter/

sudo cp raspberry_exporter /usr/local/bin/

sudo cp prometheus-raspberry-exporter.* /etc/systemd/system/

Este repositorio ya trae su temporizador para ejecutar y lo que hace es sacar los valores de temperatura cada cierto tiempo y dejarlos en una carpeta como un fichero de texto. Esos valores son leídos con el node_exporter y exportados como suyos.

  • Recargamos los servicios y los habilitamos.

sudo systemctl daemon-reload
sudo systemctl enable prometheus-raspberry-exporter.timer
sudo systemctl start prometheus-raspberry-exporter.timer

Ya con esto podremos acceder la ip de la máquina y a través del puerto del node_exporter podremos ver una nueva métrica CPU_Temperature. En mi caso es accediendo a 192.168.1.30:9100/metrics,

comments powered by Disqus