Description

Pour compléter le monitorage du parc du ResEl, des sondes thermiques ont été installés. Ces sondes permettent de connaître la température des locaux critiques, et donc de connaître ce paramètre important au niveau hardware, pour par exemple avoir des alertes au dessus d'une certaines températures.

Mise en place

Les sondes mises en place sont des TEMPer USB. Il y en a trois, au I1, I3 et I11.

Batiment Machine hôte Emplacement
I1 Kyubey En haut de la baie du centre de l'étoile au mur
I3  Padova À droite de la baie au mur
I11 Yoshi Derrière la baie principale du I11 au mur

Les données sont récupérables grâce au programme /srv/thermal_sensor, il faut être root pour le lancer. L'option -c permet de récuperer uniquement la température en degré.

Utilisation

Le plus simple pour voir la température est d'utiliser la Vue Générale de Grafana.

On peut aussi récupérer manuellement les données en lancant en root /srv/thermal_sensor.

Configuration / Installation sur une machine

Programme de mesure

Le programme utilisé est https://github.com/silverfisk/home-automation/blob/master/temperv14/temperv14.c

Pour compiler le programme, ne pas oublier d'installer les headers de la lib usb (usbutils et libusb-dev) et de linker la lib (-lusb avec gcc).

Polling dans la base de données

Le polling est fait par InfluxDB.

Sur les 3 machines, la configuration est faite dans le dossier de telegraf : /etc/telegraf/telegraf.d/thermal.conf :

[[inputs.exec]]
  commands = ["sudo /srv/thermal_sensor -c"]
  data_format = "value"
  data_type = "float"
  name_override = "thermal_sensor"

Il faut que telegraf soit configuré dans le visudo pour pouvoir lancer la commande sans mot de passe.

Configuration via Ansible

Cette étape peut être réalisée automatiquement via le playbook ansible thermal_sensors.yml.

Affichage dans Grafana

Pour l'affichage de Grafana la requête configurée est de la sorte :

FROM default, thermal_sensor WHERE host=<machine> SELECT field(value) mean()...