[PARTAGE] Jeedom influxdb grafana on en parle ici

Bonjour,

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

4 « J'aime »

Réservé aux liens

https://computingforgeeks.com/install-influxdb-on-debian-10-buster-linux/

https://docs.influxdata.com/influxdb/v1.8/introduction/get-started/
1 « J'aime »

INSTALLATION RAPIDE INFLUXDB SOUS BUSTER


  • pour ceux qui sont sous docker il existe un container.
sudo apt update
sudo apt install -y gnupg2 curl wget
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt update
sudo apt install -y influxdb
sudo systemctl start influxdb

sudo systemctl status influxdb

VERIFICATION ET PRISE EN MAIN RAPIDE


lancer
influx
pour obtenir le prompt >

CREATE DATABASE nom_de_la_base

SHOW DATABASES —> liste des bases
Show Measurements —> liste des tables (faire un USE base d’abord)
USE test —> utilise la base test

INSERT TABLE , TAG1 , TAG2 espace valeur , valeur
INSERT temperature,machine=unit42,type=assembly external=25,internal=37
SELECT * FROM « temperature »

SELECT * FROM /.*/ LIMIT 1

SELECT * FROM « cpu_load_short »

SELECT * FROM « cpu_load_short » WHERE « value » > 0.9

DROP DATABASE test5 —> supprime une base
DELETE FROM cpu —> supprime une table

1 « J'aime »

INSTALLATION RAPIDE GRAFANA BUSTER


  • 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
1 « J'aime »

Memo configuration grafana pour utiliser IFRAME

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
1 « J'aime »

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);
1 « J'aime »

Afficher un ou des panels grafana dans jeedom

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
Capture d’écran du 2020-08-11 08-01-29

Puis l’onglet Embed

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 …

et voilà notre panel dans jeedom

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
1 « J'aime »

Bonjour,

Je n’ai pas cet élément. Dans quelle section se trouve-il?
Merci

vers la ligne 187

C’est bon. J’ai ajouté dans la section [auth.anonymous]

Je n’avais pas ça. Quelle version as-tu?

Je suis un peut en retard 7.0.5
je vois que la dernière est :
Capture d’écran du 2020-08-12 12-04-43

J’ai la 6.1.4. voilà pourquoi :slight_smile: mais ça marche quand même maintenant.

mise a jour grafana 7.1.3

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

avec un reboot après c’est mieux

Je l’ai remonté dans le post d’installation

Changements :

Hello,

Hop mis dans mes topics surveillés :wink:

2 « J'aime »

Bonsoir bonsoir,

tout d’abord merci pour ces partages et explications :+1: 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 :thinking:

Si vous préférez que j’ouvre un sujet indépendant n’hésitez à me le dire ou à scinder le sujet présent :wink:

Merci.

A quoi ressemble ton embed ?

Bonsoir @olive,

Voilà ce que j’ai:

<iframe src="http://mon@ip_public:3000/d-solo/VxNXUPWRz/systemes?orgId=1&theme=dark&panelId=21" width="500" height="300" frameborder="1"></iframe> 

Ca fonctionne depuis le reseau local si j’active la redirection sur la Box Internet, mais pas depuis le web.

Depuis le réseau public tu arrive sur ton grafana avec :
http://mon@ip_public:3000

Oui j’atteins mon grafana sans souci depuis le Web.
Je ne sais pas si cela peut aider mais j’ai omis de dire que je suis en Grafana 7.3.3.