Depuis la version de juillet 2020, calaos en v3 peut envoyer les données des IO dans une base InfluxDb et permettre d'afficher des courbes dans un outil tel que Grafana. A partir de la version `calaos-os-intel-corei7-64-v3.0-alpha6-13-gac1afde-2020-07-02` de calaos-os, InfluxDb et Grafana sont intégré à l'image. En suivant ce tutoriel il vous sera possible de les activer et de configurer le tout sur votre installation.
En SSH sur le serveur il faut activer les services correspondants:
root@intel-corei7-64:~# systemctl enable influxdb --now root@intel-corei7-64:~# systemctl enable grafana --now
Verifier si les services sont bien lancés:
root@intel-corei7-64:~# systemctl status influxdb ● influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/lib/systemd/system/influxdb.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2020-07-10 07:28:07 UTC; 1s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 891 (influxd) Tasks: 10 (limit: 2363) Memory: 70.5M CGroup: /system.slice/influxdb.service └─891 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
root@intel-corei7-64:~# systemctl status grafana ● grafana.service - Grafana instance Loaded: loaded (/lib/systemd/system/grafana.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2020-07-10 07:30:45 UTC; 1s ago Docs: http://docs.grafana.org Main PID: 974 (grafana-server) Tasks: 10 (limit: 2363) Memory: 33.3M CGroup: /system.slice/grafana.service └─974 /usr/bin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cf>
Vous devez avoir Active: active (running)
Pour que Calaos puisse envoyer les données sur InfluxDb il faut activer la fonction:
root@intel-corei7-64:~# calaos_config set influxdb_enabled true root@intel-corei7-64:~# calaos_config set influxdb_host 127.0.0.1
Il est possible d'utiliser un serveur InfluxDb externe en utilisant les paramètres:
root@intel-corei7-64:~# calaos_config set influxdb_port 8086 root@intel-corei7-64:~# calaos_config set influxdb_database "xxxx" #par defaut la database se nomme "calaos"
Puis relancez calaos-server:
root@intel-corei7-64:~# systemctl restart calaos-server
Par défaut aucune donnée n'est envoyé a influxdb. Il faut pour cela activer la propriété logged
des IO qui vont envoyer leur données.
Exemple avec une sonde de température:
Il faudra attendre quelques minutes/heures pour avoir un nombre suffisant de données dans InfluxDb.
Grafana est accessible sur http://ip_de_votre_serveur:3000/
La premiere ouverture de cette page demande a changer le mot de passe admin. L'utilisateur par défaut est: admin
, mot de passe: admin
Il faut ensuite aller dans “Add new Data Source” pour ajouter la connection a InfluxDb
Les paramètres à changer sont:
Puir valider avec “Save & Test”, si tout est en vert c'est que c'est bon.
Maintenant on peut ajouter un nouveau “Dashboard” qui est une visualisation avec des Panels. On ajoute un Panel en cliquant sur l'icone d'ajout tout en haut (+).
Il faut choisir un panel de type “Graph”. Puis y mettre des “Query”. Chaque Query représente une ligne (de temperature par exemple) sur le graphique. On peut ajouter autant de Query qu'on souhaite.
Exempe pour une sonde de temperature dans une pièce:
Bien entendu, on peut se créer des Dashboard personnalisé avec autant de Query que l'on souhaite, affichant des données provenants d'autres IO que des températures. Tous les type d'IO sont supportés (aussi bien les volets que les interrupteurs). On peut par exemple afficher une valeur avec le nombre de fois qu'une lumière a été allumé dans une journée. Je vous laisse fouiller Internet pour trouver des informations sur le fonctionnement de Grafana et des Query InfluxDb.