Plugin monitoring et influxdb

Bonjour à tous, je suis nouveau dans la communauté jeedom « depuis quelques semaines » mon jeedom tourne en VM sur mon NAS et j’y ai également mis grafana en VM, je souhaite monitorer le statut de mon nas et je passe par le plugin monitoring et j’ai créé un objet via le plugin influxdb pour envoyer les infos a grafana.
Le soucis que j’ai c’est que je ne peut pas afficher toute les infos par exemple les infos en « string » ne fonctionne apparement pas sur influx-db car j’ai ce message d’érreur sur grafana "InfluxDB Error: unsupported mean iterator type: *query.stringInterruptIterator’ est ce que c’est normal ? ou il y à une méthode pour résoudre ?
Le soucis du coup et que je ne sais pas affiché les données du CPU du NAS… .
Queldu’un peut m’aider ?

Merci d’avance

La piste a suivre est TELEGRAF …

Bonjour,
Les types string devraient être supportées par influx
A vrai dire, je ne comprend pas exactement ton problème, tu dis:

mais donc tes données sont dans influx et c’est grafana qui a un soucis?
qu’est-ce qui fonctionne et qu’est-ce qui ne fonctionne pas et à quel endroit? pourrais-tu essayer de mieux expliquer?

Bonjour Olive j’ai essayé de suivre ce tuto mais je bloque à un moment… N’ayant trouvé personne pour m’aider dans cette direction on m’a donné une alternative avec le plug-in monitoring
Je bloque à l’étape III.3 je dois créer un dossier mais je ne sais pas ou vraiment le mettre certain m’ont dit peu importe j’ai donc essayé et ensuite passé à l’étape suivante mais la commande que je dois faire en SSH renvoi que le repertoire n’existe pas …

Bonjour Mips,

donc je collecte les infos de mon NAS via le plug-in monitoring, pour le moment tout va bien j’ai toutes les infos qui s’affiche sur mon dashboard, ensuite j’envoi les données via le plug-in telegraf dans une DB influx, et quand je suis sur grafana je selection cette DB, je retrouve bien tous les « equipements créer dans telegraf » et quand je veux créer un graph par exemple pour le CPU qui est en String j’ai dans le coin en haut à gauche du graph j’ai un message d’érreur "InfluxDB Error: unsupported mean iterator type: *query.stringInterruptIterator "![image|590x275]

(upload://uUDFcRvtXnYT2uDF8jRzJwxMRmD.png)

Sinon, en fait, je ne comprend pas l’intérêt d’envoyer la commande CPU(s) à influx car dans l’exemple elle vaudra toujours le texte 2 - 2 GHz et donc effectivement aucune metrics n’est possible la dessus.
De plus la valeur ne change pas donc…

Mips c’est un exemple et je n’ai pas choisi le bon… pour le réseau par exemple ou les données info changent tous le temps j’ai le même message d’érreur et j’ai des données à exploiter

Ok là je vois mieux l’intérêt mais donc effectivement grafana va avoir du mal avec ca…
en fait ce qu’il te faut c’est le débit en émission et en réception mais dans 2 commandes, sans les unités, juste le chiffre donc.
Et là ca va être utile dans un graphe ou pour déclencher une alerte, mais avoir la string complète dans influx c’est difficilement exploitable
en tout cas c’est clair que tu ne peux pas faire un mean() sur ta chaine, mean fait la moyenne des valeurs donc il faut des nombres.

Faut passer par un scenario et traiter la chaîne pour en faire 2 valeurs …
puis envoyer ça a influx pas si compliqué que ça !

donc une valeur montante et l’autre descendante… ?
Sa fait 1 mois peut être que je me sers de Jeedom donc peut être pas si compliqué mais nouveau pour moi mais ok je vais tester avec un scenario…

Exemple de traitement de la chaîne dans un bloc code de scenario:

$id=1945; //id de la commande Réseau (M) dans monitoring
// recuperation de la commande
$cmd = cmd::byId($id);  $input1 = $cmd->execCmd();
// affichage dans le log
$scenario->setLog('VALEUR DE DEPART = '.$input1);
// separation de la chainne en un tableau de 2 elements
$sep = explode ( "-" , $input1 );
// affichage dans le log
$scenario->setLog('aprés split TX='.$sep[0]);
$scenario->setLog('aprés split RX='.$sep[1]);
// recuperation en valeur
$tx=floatval(substr_replace($sep[0], '', 0, 5));
$rx=floatval(substr_replace($sep[1], '', 0, 5));
// affichage dans le log
$scenario->setLog( 'extraction valeur TX='.$tx);
$scenario->setLog( 'extraction valeur RX='.$rx);  

//$rx et $tx sont les 2 variables exploitable pour influxdb
// a toi de continuer le scenario pour par exemple les mettre dans
// des virtuel infos ...

log de ce scenario :

[2020-08-22 02:33:10][SCENARIO] Start : Scenario lance manuellement.
[2020-08-22 02:33:10][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-08-22 02:33:10][SCENARIO] Exécution d'un bloc code
[2020-08-22 02:33:10][SCENARIO] VALEUR DE DEPART = TX : 32.97 Mo - RX : 77.57 Mo
[2020-08-22 02:33:10][SCENARIO] aprés split TX=TX : 32.97 Mo
[2020-08-22 02:33:10][SCENARIO] aprés split RX= RX : 77.57 Mo
[2020-08-22 02:33:10][SCENARIO] extraction valeur TX=32.97
[2020-08-22 02:33:10][SCENARIO] extraction valeur RX=77.57
[2020-08-22 02:33:10][SCENARIO] Fin correcte du scénario

Je te laisse écrire la suite …

Bonne journée

Reste de la solution au cas ou tu n'a pas trouvé. C'est comme les mots croisés clic si tu trouve pas.

1 creation d’un virtuel avec 2 commandes infos


on note bien les 2 ID des commandes
on retourne a la fin du bloc code du scenatio et on ajoute 2 lignes
(a personaliser les N° de ID)

// set dans un virtuel
$cmd::byId(10963)->event($tx);
$cmd::byId(10964)->event($rx);

Ne pas oublier de mettre un déclencheur au scenario
a personaliser en fonction de ton objet/équipement

ne te reste plus qu’a paramétrer dans plugin-influxdb
cocher ces 2 commandes dans la liste :wink:

Capture d’écran du 2020-08-22 03-43-01

Capture d’écran du 2020-08-22 03-43-15

have a fun

2 « J'aime »

@cedric59

Ça marche ça marche pas … t’est perdu ?

@olive je n’ai pas eu le temps de tester ce week end je vais essayer de le faire en rentrant du boulot c’est compliqué ces derniers jours je me marie fin de cette semaine donc c’'est un peu le rush…

@olive mais merci pour la soluce :wink: top

@olive TOP sa fonctionne nickel merci pour ton aide :wink:

Le code que tu as fais c’est du JSON ?

Non c’est du php !

1 « J'aime »

Merci pour l’info je vais voir ou je peux apprendre ce « n’est qu’une langue » à apprendre @olive

Merci beaucoup pour ton aide

Bonjour,

Pense à cocher la case “solution” sur le message qui répond à la demande. ça fermera automatiquement la sujet et fera remonter la réponse sur le 1er post pour que ceux qui auraient la même demande visualisent immédiatement la solution.

@iPapy ok c’est fait merci de l’info

1 « J'aime »