====== Historique avec InfluxDb et Grafana ======
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.
====== Activer les services ======
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)''
====== Configurer calaos-server ======
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
====== Activer l'envoi de donnée dans calaos_installer ======
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:
{{ :fr:calaos_installer_logged.png |}}
Il faudra attendre quelques minutes/heures pour avoir un nombre suffisant de données dans InfluxDb.
====== Configurer Grafana ======
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''
===== Datasource =====
Il faut ensuite aller dans "Add new Data Source" pour ajouter la connection a InfluxDb
{{ :fr:grafana_01.png |}}
Les paramètres à changer sont:
* URL: http://localhost:8086
* Database: calaos
Puir valider avec "Save & Test", si tout est en vert c'est que c'est bon.
===== Dashboard =====
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:
{{ :fr:grafana_02.png |}}
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.