MilesTEG1 Posté(e) le 30 janvier 2021 Partager Posté(e) le 30 janvier 2021 Ha oui en effet... Je pensais qu'il s'agissait d'un NAS... Et du coup, oui, je pourrais pas en faire grand chose... Ca avance bien le monitoring d'une LB4 ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 30 janvier 2021 Auteur Partager Posté(e) le 30 janvier 2021 (modifié) @MilesTEG1 Bonjour, Oui, pas trop mal, le plus gros problème est qu'il n'y aucune données dynamiques à recueillir donc adieu les belles courbes de suivi d'évolution. Par contre, énormément de données Statiques du coup pour l'instant cela fait un tableau de bord "pas très joli" 😛 Cordialement oracle7😉 Modifié le 5 juillet 2021 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lelolo Posté(e) le 30 janvier 2021 Partager Posté(e) le 30 janvier 2021 Waouh ! Super @oracle7 Tu peux partager le fichier de réglages, j'aimerais mettre ça en place en province (sans le wifi que j'ai neutralisé car j'ai un Orbi50 qui fait le boulot à la place) ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 30 janvier 2021 Auteur Partager Posté(e) le 30 janvier 2021 @Lelolo Bonjour, Comme je le disais précédemment à @MilesTEG1, je travail encore dessus mais pas de soucis, dès qu'il sera un peu plus finalisé, je partagerais ici bien volontiers. Là les copies d'écran étaient juste un aperçu ... D'ors et déjà, je peux dire qu'à la base l'extraction de données se fait depuis un script shell que je mettrais en cron pour automatiser la récupération périodique des données. J'aurais bien aimer envoyer tout cela sous docker mais je ne suis pas sûr que ce soit faisable i.e. en gros piloter sous docker un script shell et utiliser le cron de docker. Mes petites connaissances ne sont pas à la hauteur pour faire cela. Mais je suis ouvert à toute aide dans ce sens pour mener à bien ce complément de monitoring de nos NAS. Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 30 janvier 2021 Partager Posté(e) le 30 janvier 2021 @oracle7 Wahh, super boulot 😄 Faire un conteneur docker et qu'il lance un script tout seul, je pense que c'est possible, mais ça je sais pas faire ^^ Faudra faire un dépôt github pour le script ^^ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 30 janvier 2021 Auteur Partager Posté(e) le 30 janvier 2021 @MilesTEG1 Bonjour, il y a 2 minutes, MilesTEG1 a dit : Faudra faire un dépôt github pour le script Pourquoi pas, mais moi aussi : çà je ne sais pas faire, et puis chaque chose en son temps ...😊 Pour l'instant, mon problème est d'afficher correctement les booléens. Certes on peut toujours convertir les données lors de l'extraction mais cela complexifie un peu le script et il faudrait supprimer et recréer tous les measurements concernés de la BD influxdb. On verra alors si jamais il n'y a pas d'autre solution plus simple qui se présente. Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 30 janvier 2021 Partager Posté(e) le 30 janvier 2021 il y a 14 minutes, oracle7 a dit : Pourquoi pas, mais moi aussi : çà je ne sais pas faire, et puis chaque chose en son temps ...😊 Ca c'est clairement pas compliqué ^^ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 31 janvier 2021 Partager Posté(e) le 31 janvier 2021 (modifié) Il y a 18 heures, oracle7 a dit : J'aurais bien aimer envoyer tout cela sous docker mais je ne suis pas sûr que ce soit faisable i.e. en gros piloter sous docker un script shell et utiliser le cron de docker. Tu n'as pas plus vite fait de faire tourner une instance Telegraf indépendante avec un plugin d'acquisition inputs.exec ? Pour ton problème de value mapping, je pense que ça vient du titre de ta colonne, il y a une faute à "Dupleix négocié", vérifie que la correspondance est bonne. Modifié le 31 janvier 2021 par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 31 janvier 2021 Auteur Partager Posté(e) le 31 janvier 2021 (modifié) @.Shad. Bonjour, Il y a 5 heures, .Shad. a dit : faire tourner une instance Telegraf indépendante avec un plugin d'acquisition inputs.exec Ok pour l'instance Telegraf indépendante, çà, je devrais pouvoir faire. Mais avec un plugin d'acquisition "inputs.exec", là désolé je ne vois pas et ne sais pas faire. Je viens de regarder la doc telegraf/exec : c'est très "light" à mon goût ! Malgré une recherche (peut-être mal) sur la toile, je n'ai pas trouvé non plus d'exemples d'application qui correspondent à mon besoin du moins qui me permette d'envoyer mes données collectées dans influxdb via telegraf. Aujourd'hui je procède ainsi via un shell script : Je fais une première requête curl sur la Livebox et je récupère un fichier "data.json" qui, en général est "assez complexe". J'exploite ensuite ce fichier "data.json" en extrayant avec le parser jq, une à une les données qui m'intéressent que je stocke temporairement dans des variables individuelles et/ou des tableaux. Enfin, après arrangement de ces données (conversions, calculs et transformations diverses) , j'écris ces variables et/ou éléments de tableaux dans un measurement de la BD influxdb avec une commande curl. J'en suis actuellement à une bonne dizaine de measurements plus ou moins grosses en nombres de champs. Du coup, je ne comprend pas trop comment faire le lien entre mon shell script et le plugin exec de telegraf. Si tu as des idées, je serais volontiers preneur 🤔 D'avance Merci. Il y a 5 heures, .Shad. a dit : Pour ton problème de value mapping, je pense que ça vient du titre de ta colonne, il y a une faute à "Dupleix négocié", vérifie que la correspondance est bonne Je ne pense pas car le titre de la colonne n'est qu'un alias du champ. Alias au quel effectivement j'ai fais une faute d'orthographe. Cordialement oracle7😉 Modifié le 31 janvier 2021 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 31 janvier 2021 Partager Posté(e) le 31 janvier 2021 (modifié) il y a une heure, oracle7 a dit : Mais avec un plugin d'acquisition "inputs.exec", là désolé je ne vois pas et ne sais pas faire. Je viens de regarder la doc telegraf/exec : c'est très "light" à mon goût ! Ca me semble assez clair, et tout à fait dans tes cordes : https://github.com/influxdata/telegraf/tree/master/plugins/inputs/exec En montant le volume du NAS où tu stockes ton script dans le conteneur : ... volumes: - /volume1/dossier/du/script:/dossier/du/conteneur ... Pour moi ça donnerait par exemple simplement ça : [[inputs.exec]] commands = ["bash /dossier/du/conteneur/poll_livebox.sh"] timeout = "30s" name_suffix = "_livebox" data_format = "influx" Non ? si pas bash, tester avec sh. J'ai jamais utilisé hein, mais à la lecture ça me semble (peut-être faussement) trivial. il y a une heure, oracle7 a dit : Je ne pense pas car le titre de la colonne n'est qu'un alias du champ. Alias au quel effectivement j'ai fais une faute d'orthographe. L'alias remplace le nom officiel chez moi, en tout cas si je définis des value mappings pour une colonne en utilisant son alias, ça fonctionne bien, si je me trompe dans l'alias, je tombe dans le même cas que toi, ce n'est pas pris en compte. Modifié le 31 janvier 2021 par .Shad. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 31 janvier 2021 Auteur Partager Posté(e) le 31 janvier 2021 @.Shad. Bonjour, Il y a 2 heures, .Shad. a dit : Pour moi ça donnerait par exemple simplement ça : C'est ce que j'avais compris à la vue de la doc, mais je devais me faire des noeuds au cerveau pensant qu'il y avait autre chose en plus à configurer. Finalement à ce niveau cela parait simple. Reste plus que la nouvelle instance telegraf ... Merci encore de ta réponse. Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 3 février 2021 Auteur Partager Posté(e) le 3 février 2021 @.Shad. Bonjour, Sur ton conseil, je viens donc d'installer une nouvelle instance telegraf et de lancer le conteneur. Jusque là çà va, cela marche. Ce qui ne marche pas par contre c'est que telegraf n'arrive pas à lancer mon script. Le log me dit qu'il ne trouve pas mon shell script alors que je suis certain du chemin indiqué et de ses droits. root@MonNAS:/volume1/docker/scripts_instal/livebox# docker logs -f telegraf_lb4 2021-02-03T16:44:10Z I! Starting Telegraf 1.17.2 2021-02-03T16:44:10Z I! Using config file: /etc/telegraf/telegraf.conf 2021-02-03T16:44:10Z I! Loaded inputs: exec 2021-02-03T16:44:10Z I! Loaded aggregators: 2021-02-03T16:44:10Z I! Loaded processors: 2021-02-03T16:44:10Z I! Loaded outputs: influxdb 2021-02-03T16:44:10Z I! Tags enabled: host=telegraf_lb4 2021-02-03T16:44:10Z I! [agent] Config: Interval:1h0m0s, Quiet:false, Hostname:"telegraf_lb4", Flush Interval:10s 2021-02-03T17:00:00Z E! [inputs.exec] Error in plugin: exec: exit status 127 for command '/bin/bash /volume1/docker/scripts_instal/livebox/livebox.sh': /bin/bash: /volume1/docker/scripts_instal/livebox/livebox.sh: No such file or directory J'ai remplacer le shell "bash" par "sh". Le résultat est quasiment le même au détail près que "sh" est plus parlant dans le message d'erreur : 2021-02-03T20:00:00Z E! [inputs.exec] Error in plugin: exec: exit status 127 for command '/bin/sh /volume1/docker/scripts_instal/livebox/livebox.sh': /bin/sh: 0: Can't open /volume1/docker/scripts_instal/livebox/livebox.sh J'ai essayé de mettre le user 'root' à la place de mon utilisateur 'administrateur' (PUID-PGID) dans le docker-compose mais cela ne change rien. Voici mon fichier docker-compose.yml : Citation version: "2.1" services: telegraf_lb4: image: telegraf:latest container_name: telegraf_lb4 hostname: telegraf_lb4 environment: - TZ=Europe/Paris - PUID=1030 - PGID=101 labels: - "com.centurylinklabs.watchtower.enable=true" volumes: - "/volume1/docker/telegraf_lb4/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/volume1/docker/scripts_instal/livebox:/volume1/docker/telegraf_lb4" mac_address: d2:ca:ab:cd:00:06 networks: monitoring: ipv4_address: 172.20.0.6 ports: - 9125:8125/udp - 9092:8092/udp - 9094:8094 mem_limit: 256M restart: unless-stopped networks: monitoring: external: true A l'instar de @bruno78 dans son instance telegraf pour le monitoring de sa Freebox, j'ai aussi modifié les ports standards de telegraf. Bonne ou fausse bonne idée est-ce que ce serait-ce l'origine du blocage ? je ne saurais finalement dire. Enfin à toutes fins utiles mon fichier "telegraf.conf" : --> telegraf.conf Autant en direct, aucuns problèmes avec le shell script qui s'exécute bien et m'extrait parfaitement les données, autant avec telegraf cela bloque. 😩 J'ai dû raté un truc mais quoi ? Aurais-tu des idées par hasard ? Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 3 février 2021 Partager Posté(e) le 3 février 2021 (modifié) Tu as besoin de changer les ports de Telegraf seulement si tu exposes Telegraf sur ton NAS, et ceci n'a d'intérêt que si un logiciel tiers est sensé envoyé des données vers Telegraf, ce qui n'est pas le cas ici, c'est Telegraf qui exécute le script. Sinon c'est normal que ça ne marche pas, tu indiques à Telegraf ton chemin dans DSM, lui n'en a pas la moindre idée : /volume1/docker/scripts_instal/livebox/livebox.sh Ce qu'il connaît lui, c'est le dossier dans lequel tu lui as monté ces données-là, donc dans ton cas /volume1/docker/telegraf_lb4 Je ne vois pas l'intérêt de créer une telle arborescence dans ton conteneur, met simplement dans ton docker-compose : volumes: - /volume1/docker/scripts_instal/livebox:/opt/livebox/ Puis dans le fichier telegraf.conf : [[inputs.exec]] # Commands array commands = [ "/bin/bash /opt/livebox/livebox.sh" ] # # Timeout for each command to complete. timeout = "5s" # # measurement name suffix (for separating different commands) name_suffix = "_lb4" # # Data format to consume. # Each data format has its own unique set of configuration options, read # more about them here: # https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md data_format = "influx" Et assure-toi d'avoir ajouté le shebang en entête de ton script. Modifié le 3 février 2021 par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 4 février 2021 Partager Posté(e) le 4 février 2021 J'ajouterai cette question : est-ce normal le read-only sur le dossier de conf de telegraf ? - "/volume1/docker/telegraf_lb4/telegraf.conf:/etc/telegraf/telegraf.conf:ro" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 4 février 2021 Auteur Partager Posté(e) le 4 février 2021 (modifié) Bonjour, @.Shad. Merci de ta réponse. Il y a cependant deux points dans celle-ci où je ne comprends plus : 1 - Il y a 17 heures, .Shad. a dit : Tu as besoin de changer les ports de Telegraf seulement si tu exposes Telegraf sur ton NAS, et ceci n'a d'intérêt que si un logiciel tiers est sensé envoyé des données vers Telegraf, ce qui n'est pas le cas ici, c'est Telegraf qui exécute le script. OK, j'entends bien mais lors de mes essais de débuggage, j'ai rétabli les ports standards de telegrah et j'ai reçu ce message d'erreur à la création du conteneur (pour mémoire, j'ai déjà une instance telegraf nommée "telegraf" active pour le monitoring du NAS) : root@MonNAS:/volume1/docker/scripts_instal/telegraf_lb4# docker-compose up -d Creating telegraf_lb4 ... error ERROR: for telegraf_lb4 Cannot start service telegraf_lb4: driver failed programming external connectivity on endpoint telegraf_lb4 (9a60abc4139ead30f0c5a604f90c4ebe6e3986d9d3c527d1894a5da718ab96a0): Bind for 0.0.0.0:8125 failed: port is already allocated ERROR: for telegraf_lb4 Cannot start service telegraf_lb4: driver failed programming external connectivity on endpoint telegraf_lb4 (9a60abc4139ead30f0c5a604f90c4ebe6e3986d9d3c527d1894a5da718ab96a0): Bind for 0.0.0.0:8125 failed: port is already allocated ERROR: Encountered errors while bringing up the project. Du coup, cela m'a conforté dans ma copie inspirée par le docker-compose de @bruno78 pour le monitoring de sa Freebox et j'ai donc rétablis ce changement de ports qui fait que le conteneur télégraf se crée bien avec cela. Plus d'interférence sur les ports ! 2 - Initialement tu me dis : Le 31/01/2021 à 13:00, .Shad. a dit : En montant le volume du NAS où tu stockes ton script dans le conteneur : ... volumes: - /volume1/dossier/du/script:/dossier/du/conteneur ... En suivant ton conseil, j'ai donc traduit cela en : ... volumes: - "/volume1/docker/scripts_instal/livebox:/volume1/docker/telegraf_lb4" ... et maintenant tu me dis : Il y a 17 heures, .Shad. a dit : Je ne vois pas l'intérêt de créer une telle arborescence dans ton conteneur, met simplement dans ton docker-compose : volumes: - /volume1/docker/scripts_instal/livebox:/opt/livebox/ "/opt/livebox" n'est pas le dossier du conteneur. Alors J'ai encore raté un truc Il y a 17 heures, .Shad. a dit : Et assure-toi d'avoir ajouté le shebang en entête de ton script. Pas de soucis je l'indique systématiquement dans tous mes shell scripts. @MilesTEG1 Il y a 8 heures, MilesTEG1 a dit : J'ajouterai cette question : est-ce normal le read-only sur le dossier de conf de telegraf ? Étant donné que c'est le fichier de configuration de telegraf, ce fichier n'a pas vocation a être modifié, donc le ReadOnly ne me choque pas, je me trompe ? PS : Je viens de recréer et relancer le conteneur telegraf_lb4 après modifs du docker-compose et du telegraf.conf comme indiqué. Cela ne semble pas marcher. Voilà le log : root@MonNAS:/volume1/docker/scripts_instal/telegraf_lb4# docker-compose down Stopping telegraf_lb4 ... done Removing telegraf_lb4 ... done Network monitoring is external, skipping root@MonNAS:/volume1/docker/scripts_instal/telegraf_lb4# docker-compose up -d Creating telegraf_lb4 ... done root@MonNAS:/volume1/docker/scripts_instal/telegraf_lb4# docker logs -f telegraf_lb4 2021-02-04T16:08:45Z I! Starting Telegraf 1.17.2 2021-02-04T16:08:45Z I! Using config file: /etc/telegraf/telegraf.conf 2021-02-04T16:08:45Z I! Loaded inputs: cpu disk diskio kernel mem processes swap system 2021-02-04T16:08:45Z I! Loaded aggregators: 2021-02-04T16:08:45Z I! Loaded processors: 2021-02-04T16:08:45Z I! Loaded outputs: influxdb 2021-02-04T16:08:45Z I! Tags enabled: host=telegraf_lb4 2021-02-04T16:08:45Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"telegraf_lb4", Flush Interval:10s 2021-02-04T16:08:45Z W! [outputs.influxdb] When writing to [http://localhost:8086]: database "telegraf" creation failed: Post "http://localhost:8086/query": dial tcp 127.0.0.1:8086: connect: connection refused 2021-02-04T16:08:55Z E! [outputs.influxdb] When writing to [http://localhost:8086]: failed doing req: Post "http://localhost:8086/write?db=telegraf": dial tcp 127.0.0.1:8086: connect: connection refused 2021-02-04T16:08:55Z E! [agent] Error writing to outputs.influxdb: could not write any address ... etc ... telegraf part dans un "délire" : il veux créer une database telegraf ??? Il cherche à discuter avec localhost ???? je ne comprends pas ... Bizarre tout cela ? Je m'y perd !!!! EDIT1 : Je viens de voir cela. Aurait-ce un lien avec mon problème ? Ton avis @.Shad. STP ? EDIT2 : En regardant le log, je vois aussi qu'il ne semble pas utiliser le bon fichier de config : root@Maeva56:/volume1/docker/scripts_instal/telegraf_lb4# docker logs -f telegraf_lb4 2021-02-04T16:48:34Z I! Starting Telegraf 1.17.2 2021-02-04T16:48:34Z I! Using config file: /etc/telegraf/telegraf.conf alors que le docker-compose spécifie ceci : volumes: - "/volume1/docker/telegraf_lb4/telegraf_lb4.conf:/etc/telegraf/telegraf_lb4.conf:ro" - "/volume1/docker/scripts_instal/livebox:/opt/livebox/" Encore une fois : bizarre ????? Cordialement oracle7😉 Modifié le 4 février 2021 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 4 février 2021 Partager Posté(e) le 4 février 2021 à l’instant, oracle7 a dit : OK, j'entends bien mais lors de mes essais de débuggage, j'ai rétabli les ports standards de telegrah et j'ai reçu ce message d'erreur à la création du conteneur (pour mémoire, j'ai déjà une instance telegraf nommée "telegraf" active pour le monitoring du NAS) : Tu me lis de travers. Un port exposé n'est utile que si on a besoin d'accéder à l'application par ce dit port, dans le sens entrant. Dans ton cas c'est Telegraf qui va chercher les données dont il a besoin, pas l'inverse, tu n'envoies rien du tout sur Telegraf. Dans le sens sortant, Telegraf peut bien utiliser le port qu'il veut. Donc si tu veux exposer les ports de Telegraf premier du nom sur le NAS, libre à toi, explique-moi juste pourquoi tu as besoin de le faire. 😉 Même question pour le conteneur Telegraf pour la LB4. Pour la question du volume, je pense que tu n'as pas compris comment fonctionne un volume. Quand tu écris : /volume1/docker/livebox:/opt/livebox Ca veut dire que le dossier /opt/livebox/ dans le conteneur sera lié au dossier /volume1/docker/livebox. Si je me connecte dans le conteneur Telegraf, que je fais : touch /opt/livebox/test1.txt Je retrouverai sur le NAS un fichier test1.txt vide dans /volume1/docker/livebox. Depuis l'intérieur du conteneur, le chemin /volume1/... n'existe pas et n'a pas de sens. Donc je reprends ce que tu proposais dans ton premier message : volumes: - "/volume1/docker/telegraf_lb4/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/volume1/docker/scripts_instal/livebox:/volume1/docker/telegraf_lb4" et : 2021-02-03T20:00:00Z E! [inputs.exec] Error in plugin: exec: exit status 127 for command '/bin/sh /volume1/docker/scripts_instal/livebox/livebox.sh': /bin/sh: 0: Can't open /volume1/docker/scripts_instal/livebox/livebox.sh On voit bien que le conteneur essayait de joindre le chemin qui existe sur ton hôte mais pas dans ton conteneur. C'est impossible que ça marche. Pour la dernière erreur, tu n'as pas re-commenté la partie output de InfluxDB par hasard ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 4 février 2021 Auteur Partager Posté(e) le 4 février 2021 (modifié) @.Shad. Bonjour, Désolé de t'ennuyer encore. Je suis un "peu dur à la détente" aujourd'hui, mais j'ai enfin compris mon erreur à propos du dossier du conteneur. J'avais cru comprendre initialement que c'était le dossier de définition/création du conteneur sur le NAS soit "/volume1/docker/telegrapg_lb4" alors que toi dans ton explication tu parlais du dossier DANS le conteneur lui même et dans le quel on monte le dossier du NAS. Grosse nuance en effet !!! Maintenant dernier truc que je ne suis pas sûr de bien comprendre quand tu dis : Il y a 3 heures, .Shad. a dit : Pour la dernière erreur, tu n'as pas re-commenté la partie output de InfluxDB par hasard ? Est-ce qu'il faut que je commente pour l'annuler toute la partie "[[outputs.influxdb]]" du fichier telegraf.conf puisque ce n'est plus telegraf qui va alimenter la database livebox4_db mais mon shell script. C'est bien cela, car cette partie devient inutile, tu confirmes ? EDIT : J'ai donc corriger mon docker-compose pour y mettre ceci : volumes: - "/volume1/docker/telegraf_lb4/telegraf_lb4.conf:/etc/telegraf/telegraf_lb4.conf:ro" - "/volume1/docker/scripts_instal/livebox:/opt/livebox/" J'ai recréer le conteneur telegraf_lb4 mais manifestement il ne prend pas en compte mon fichier telegraf_lb4.conf (au passage, dans le quel j'ai neutraliser la partie [[inputs.influxdb]]). Il utilise systématiquement le fichier telegraf.conf de l'instance dédiée au monitoring du NAS. Là je suis complètement perdu, au secours ! Cordialement oracle7😉 Modifié le 4 février 2021 par oracle7 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 5 février 2021 Partager Posté(e) le 5 février 2021 (modifié) Il y a 12 heures, oracle7 a dit : Est-ce qu'il faut que je commente pour l'annuler toute la partie "[[outputs.influxdb]]" du fichier telegraf.conf puisque ce n'est plus telegraf qui va alimenter la database livebox4_db mais mon shell script. C'est bien cela, car cette partie devient inutile, tu confirmes ? Non il faut juste configurer la partie output de InfluxDB comme tu l'as fait pour le conteneur Telegraf premier du nom. Depuis le conteneur, tu peux faire un curl vers l'adresse de ton conteneur InfluxDB pour vérifier que ça marche, si c'est ok ça doit renvoyer une erreur 404. C'est bien Telegraf qui envoie les données à InfluxDB, ça a l'avantage par rapport à ton script de ne pas avoir à construire les URL et le reste. Rien qu'avec data_format égal à "influx", il peut envoyer les données que ton script recueille. Il y a 12 heures, oracle7 a dit : "/volume1/docker/telegraf_lb4/telegraf_lb4.conf:/etc/telegraf/telegraf_lb4.conf:ro" Telegraf s'attend à trouver un fichier telegraf.conf dans le conteneur, pas telegraf_lb4.conf, du coup il en utilise un par défaut je pense. Si tu mets : "/volume1/docker/telegraf_lb4/telegraf_lb4.conf:/etc/telegraf/telegraf.conf:ro" Ca devrait mieux marcher. Il y a 12 heures, oracle7 a dit : Il utilise systématiquement le fichier telegraf.conf de l'instance dédiée au monitoring du NAS. C'est impossible, vu que tu as fait un conteneur différent, et que tu n'as pas monté le telegraf.conf dédié au NAS dans ce conteneur. Modifié le 5 février 2021 par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 5 février 2021 Auteur Partager Posté(e) le 5 février 2021 @.Shad. Bonjour, Merci de ta patience à mon égard. il y a une heure, .Shad. a dit : Telegraf s'attend à trouver un fichier telegraf.conf dans le conteneur, pas telegraf_lb4.conf, du coup il en utilise un par défaut je pense. Si tu mets : "/volume1/docker/telegraf_lb4/telegraf_lb4.conf:/etc/telegraf/telegraf.conf:ro" Ca devrait mieux marcher. Effectivement çà marche beaucoup mieux 😀. Le bon nommage du fichier est important dans ce cas. J'avais juste cru qu'on pouvait le renommer, bah non il ne faut pas ! Encore une chose d'apprise aujourd'hui. il y a une heure, .Shad. a dit : C'est impossible, vu que tu as fait un conteneur différent, et que tu n'as pas monté le telegraf.conf dédié au NAS dans ce conteneur. Encore une fois tu as raison, mais encore eut-il fallu que je regarde à l'intérieur du bon conteneur soit "telegraf_lb4" et pas "telegraf" tout cours comme je le faisais malheureusement. Ce qui explique que je croyais qu'il n'utilisait pas le bon fichier "telegraf.conf". Heureusement une bonne nuit de repos et j'ai pu m'apercevoir de mon erreur à l'appui de ta réponse. Merci. Donc maintenant c'est bon et l'instance "telegraf_lb4" semble fonctionner correctement. root@MonNAS:/volume1/docker/scripts_instal/telegraf_lb4# docker logs -f telegraf_lb4 2021-02-05T09:53:03Z I! Starting Telegraf 1.17.2 2021-02-05T09:53:03Z I! Using config file: /etc/telegraf/telegraf.conf 2021-02-05T09:53:03Z I! Loaded inputs: exec 2021-02-05T09:53:03Z I! Loaded aggregators: 2021-02-05T09:53:03Z I! Loaded processors: 2021-02-05T09:53:03Z I! Loaded outputs: influxdb 2021-02-05T09:53:03Z I! Tags enabled: host=telegraf_lb4 2021-02-05T09:53:03Z I! [agent] Config: Interval:1h0m0s, Quiet:false, Hostname:"telegraf_lb4", Flush Interval:10s 2021-02-05T09:53:03Z D! [agent] Initializing plugins 2021-02-05T09:53:03Z D! [agent] Connecting outputs 2021-02-05T09:53:03Z D! [agent] Attempting connection to [outputs.influxdb] 2021-02-05T09:53:03Z D! [agent] Successfully connected to outputs.influxdb 2021-02-05T09:53:03Z D! [agent] Starting service inputs 2021-02-05T09:53:13Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics 2021-02-05T09:53:23Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics 2021-02-05T09:53:33Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics 2021-02-05T09:53:43Z D! [outputs.influxdb] Buffer fullness: 0 / 10000 metrics Dernier point à éclaircir : la transmission des données recueillies par telegraf_lb4 suite à l'exécution de mon shell script, à influxdb. Donc, pour l'instant le shell script, après extraction et manipulations diverses des données, envoie celles-ci à la database influxdb via une commande curl d'écriture. Pour mémoire, avant chaque écriture avec "curl" les données sont dans des variables individuelles et/ou des tableaux et sont regroupées pour constituer des enregistrements simples ou multiples dans le measurement concerné. Donc si je te suis bien, il faudrait supprimer cette commande "curl" d'écriture directe dans la database pour que ce soit telegraf qui envoie lui même les données. OK sur le principe, mais a priori je ne vois pas comment faire. Il faut que je fasse simplement un "echo" de chaque donnée sur la sortie stdout ? Ce serait aussi simple que cela ? Tu confirmes ? ou il faut procéder autrement et là je séche ... Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 5 février 2021 Partager Posté(e) le 5 février 2021 (modifié) Là je n'ai aucune idée, il faudrait chercher des exemples sur Google. Je pense qu'il s'agit d'avoir simplement un measurement avec sa valeur, c'est ce que fait inputs.snmp par exemple, à chaque oid il récupère la valeur associée. A mon avis @bruno78 aura plus de chance de t'aider. Mais je pense que ça doit être assez trivial. Modifié le 5 février 2021 par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 6 février 2021 Auteur Partager Posté(e) le 6 février 2021 @MilesTEG1 Bonjour, Question idiote s'il en est ... J'ai un champ qui n'est pas un booléen mais qui se comporte un peu comme tel. Il a selon, la valeur "Enabled" ou "Disabled". Comment fais-tu dans grafana pour lui affecter un couleur de fond variant selon la dite valeur, par exemple Vert pour Enabled et rouge pour Disbled ? Je retourne le problème dans tous les sens je ne trouve pas. L'usage des "thresshold" ne fonctionne pas dans ce type de cas car ils n'acceptent que des valeurs numériques en regard des couleurs que l'on choisi. Merci de ta réponse. Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 6 février 2021 Partager Posté(e) le 6 février 2021 @oracle7 Tu as un exemple de panel où j'utilise ça ? Car de souvenir, je mets une couleur en fonction de la valeur de la cellule, et de souvenirs aussi ça passe par le thresold... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
oracle7 Posté(e) le 6 février 2021 Auteur Partager Posté(e) le 6 février 2021 @MilesTEG1 Bonjour, Bon, j'en conclue que tu as le même problème que moi. Par exemple dans le champ "Etat" pour l'onduleur, il peut prendre trois valeurs différentes "OL CHRG, LB CHRG ou SD CHRG". Accessoirement, ici "OL CHRG" est converti en "En ligne" par mapping values. Eh bien via threshold essaies de mettre une couleur pour chacune de ces valeurs litérales, tu verras que cela ne marche pas, il affiche toujours avec la couleur soit de base. Encore une fois Merci grafana !!!😥 Finalement, pour la Livebox comme je maitrise les données recueillies, je dois pour toutes celles qui sont à valeurs multiples les convertir en numériques (0, 1, 2, ...) et les traduires avec mapping values en litéral et enfin définir les couleurs correspondantes pour 0, 1, 2 ,... dans le thressold. Et là j'ai la bonne couleur pour la valeur liérale. C'est le b...l mon adjudant .... Enfin surtout long et fastidieux pour chacun de ces champs à valeurs multiples dont on veux avoir une couleur spécifique pour chacune de ces valeurs lors de l'affichage. Cordialement oracle7😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
MilesTEG1 Posté(e) le 6 février 2021 Partager Posté(e) le 6 février 2021 haa, c'est l'avant dernier table que j'ai pas encore converti... 😄 je tente demain 😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 7 février 2021 Partager Posté(e) le 7 février 2021 @MilesTEG1,@oracle7, bonjour, oui Grafana se base sur le threshold, donc des valeurs numériques. Dans ce cas de figure, je n'ai pas trouvé de moyen de modifier la couleur de fonds si la valeur remontée n'est pas numérique. Bruno78 Le 05/02/2021 à 11:28, oracle7 a dit : Donc si je te suis bien, il faudrait supprimer cette commande "curl" d'écriture directe dans la database pour que ce soit telegraf qui envoie lui même les données. OK sur le principe, mais a priori je ne vois pas comment faire. Il faut que je fasse simplement un "echo" de chaque donnée sur la sortie stdout ? Ce serait aussi simple que cela ? Tu confirmes ? ou il faut procéder autrement et là je séche ... Bonjour @oracle7, oui je te confirme qu'il suffit, si tes données sont bien formatées, de faire une simple sortie vers le STDOUT. C'est ce que l'on fait dans le script de monitoring de la Freebox. Cdt, Bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.