Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fr:influxdb_grafana [2020/07/10 10:28] (current)
admin created
Line 1: Line 1:
 +====== 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:​
 +
 +<​code>​
 +root@intel-corei7-64:​~#​ systemctl enable influxdb --now
 +root@intel-corei7-64:​~#​ systemctl enable grafana --now
 +</​code>​
 +
 +Verifier si les services sont bien lancés:
 +<​code>​
 +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
 +</​code>​
 +
 +<​code>​
 +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>
 +</​code>​
 +
 +Vous devez avoir ''​Active:​ active (running)''​
 +
 +====== Configurer calaos-server ======
 +
 +Pour que Calaos puisse envoyer les données sur InfluxDb il faut activer la fonction:
 +
 +<​code>​
 +root@intel-corei7-64:​~#​ calaos_config set influxdb_enabled true
 +root@intel-corei7-64:​~#​ calaos_config set influxdb_host 127.0.0.1
 +</​code>​
 +
 +//Il est possible d'​utiliser un serveur InfluxDb externe en utilisant les paramètres://​
 +<​code>​
 +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"​
 +</​code>​
 +
 +Puis relancez calaos-server:​
 +<​code>​
 +root@intel-corei7-64:​~#​ systemctl restart calaos-server
 +</​code>​
 +
 +====== 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.