Avant propos :
Ce sujet n’a pas volontairement pas de tag plugin-influxdb à fin que l’auteur de celui-ci puisse gérer des questions une par une. si votre problème concerne ce plugin merci d’ouvrir un nouveau sujet.
Voilà la messe est dite.
Si vous voulez partager vos expériences, ou parler de vos difficultés
avec influxdb et/ou grafana. Ce sujet restera ouvert.
Vous pouvez y contribuer aussi avec vos plus belles captures grafana ou intégration jeedom
pour ceux qui sont sous docker il existe un container.
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_7.1.3_amd64.deb
sudo dpkg -i grafana_7.1.3_amd64.deb
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
sudo systemctl daemon-reload
sudo /bin/systemctl start grafana-server
sudo systemctl status grafana-server
Configure the Grafana server to start at boot:
sudo systemctl enable grafana-server.service
Démarrer le service grafana et verifier son statut
sudo service grafana-server start
sudo service grafana-server status
Configure Grafana server pour un démarrage au boot :
sudo update-rc.d grafana-server defaults
------------------------------- UTILISATION -----------------------
http://192.168.0.XXX:3000
1ere connexion
login admin
pswd admin
changement de mot de passe tout de suite après
sudo nano /etc/grafana/grafana.ini
[auth.anonymous]
# enable anonymous access
;enabled = false
enabled = true
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
;allow_embedding = false
allow_embedding = true
ne pas oublier aprés modif
sudo service grafana-server --full-restart
Envoyer des données jeedom dans influx depuis un scénario
Cette section est une option car vous pouvez très bien utiliser le plugin-influxdb.
exemple de bloc code :
/*
Cette version permet a influx d'être sur une machine distante
et d'utiliser ou pas les TAG influb
Paramètres a vérifier sudo nano /etc/influxdb/influxdb.conf
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# Determines whether the Flux query endpoint is enabled.
# flux-enabled = false
flux-enabled = true
# Determines whether the Flux query logging is enabled.
*/
$host = '192.168.0.XXX'; // IP De INFLUX
$port = '8086'; // PORT DE INFLUX
$base = 'test4'; // Nom de la base (il faut qu'elle existe)
$table = 'puissance'; // Nom de la table
// Nom des champs et ID des commandes
$cmd = cmd::byId(152); $input1 = $cmd->execCmd();$c1='maison';
$cmd = cmd::byId(3324); $input2 = $cmd->execCmd();$c2='batterie';
$cmd = cmd::byId(3328); $input3 = $cmd->execCmd();$c3='reseau';
$cmd = cmd::byId(3333); $input4 = $cmd->execCmd();$c4='panneaux';
$cmd = cmd::byId(152);$cmd->execCmd(); $collect = str_replace(' ','_',$cmd->getCollectDate());
$scenario->setLog('-------------------------------------------------------------------------> '. $collect .'');
// tags (facultatif)
//$tag = 'source=paris,crapo=bleu';//mettre // en tête de ligne pour ignorer
$tag = 'Cmaison='.$collect;
$req = 'curl -i -XPOST "http://'.$host.':'.$port.'/write?db='.$base.'" --data-binary "'.$table;
$req = $req.','.$tag;//(facultatif) mettre // en tête de ligne pour ignorer
$req = $req.' '.$c1.'='.$input1.','.$c2.'='.$input2.','.$c3.'='.$input3.','.$c4.'='.$input4.' "';
$scenario->setLog('DEBUG REQUETTE : '.$req);
$output0 = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$output0);
Grafana fourni directement des codes iframe en partage dans chaque panel.
A l’aide du plugin html display il est assez simple par copier/coller le block iframe.
Dans grafana cliquez sur le menu d’un panel puis choisir share
Dans la dernière case vous trouverez le code du iframe
Copiez le texte.
Retournez dans Jeedom
Ajouter un nouveau HTML DISPLAY
Rendez le actif et visible dans un objet
puis cliquez sur dashboard ou mobile selon
collez en fin votre iframe dans la zone
ajustez selon vos besoins hauteur / largueur …
Juste un détail pour que cela fonctionne quelques paramètre sont a modifier dans le fichier de configuration Grafana.
sudo nano /etc/grafana/grafana.ini
[auth.anonymous]
# enable anonymous access
;enabled = false
enabled = true
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.
;allow_embedding = false
allow_embedding = true
ne pas oublier aprés modif
sudo service grafana-server --full-restart
tout d’abord merci pour ces partages et explications Mon vieux Pi2 a repris du service et je vais
avoir de jolis graphiques à mettre sur mes designs Jeedom.
Tout fonctionne presque bien…
En réalité, tout fonctionne nickel tant que je suis sur mon réseau local. Dès que j’essaye en passant depuis l’extérieur, mes « iframe » sont vides. Du coup, j’ai modifié l’@IP locale dans le code de l’« iframe » pour y mettre l’@IP public de ma Box internet ou même mon domaine. Cotés Box internet, j’ai bien mis en place la redirection du port 3000 vers mon Pi 2 avec Grafana.
Au final, depuis mon réseau local cela fonctionne encore, mais depuis l’extérieur toujours pas. Auriez-vous une piste à me donner ? Cela fait 3 soirs de suite que j’essaye des choses mais rien de probant hélas. C’est couillon, il ne doit pas me manquer grand-chose
Si vous préférez que j’ouvre un sujet indépendant n’hésitez à me le dire ou à scinder le sujet présent