Jeff777 Posté(e) le 27 novembre 2020 Partager Posté(e) le 27 novembre 2020 il y a 1 minute, bruno78 a dit : tout d'abord je ne m'explique pas ces deconnexions intempestives. Je redemarre la box ou le NAS (bon pas tous les jours non plus !) mais c'est arrivé une fois ou 2 ces derniers temps, et je n'ai jamais à tout reconstruire ! ce n'est pas systématique. Il faut que je regarde dans quelles circonstances cela se produit. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 27 novembre 2020 Auteur Partager Posté(e) le 27 novembre 2020 @Jeff777, a priori les commandes docker save et docker load devraient répondre à ton problème de sauvegarde d'image docker (ps je n'ai pas testé). https://docs.docker.com/engine/reference/commandline/save/ https://docs.docker.com/engine/reference/commandline/load/ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 27 novembre 2020 Partager Posté(e) le 27 novembre 2020 Merci, je regarde ça 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 27 novembre 2020 Partager Posté(e) le 27 novembre 2020 (modifié) Bonsoir @bruno78 J'ai essayé de sauvegarder mon docker telegraf et j'ai obtenu ceci J'ai, semble-t-il, bien fait un fichier .tar mais lorsque je l'ai sauvegardé cela c'est moins bien passé. Je ne comprends pas "no space left on device" alors que mon NAS est loin d'être saturé. A moins que ce soit dû au " mem_limit: 75M" du docker-compose. C'est cela ?? Par contre dans le root j'ai un fichier telegraf.tar de 632 111 KB. Est-ce que c'est la sauvegarde correcte? Modifié le 27 novembre 2020 par Jeff777 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 27 novembre 2020 Auteur Partager Posté(e) le 27 novembre 2020 @Jeff777, oui ça n'a pas l'air si évident ... Je pense qu'il faut creuser un peu .... J'ai le même type de comportement ... Je vais chercher un peu .... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 27 novembre 2020 Auteur Partager Posté(e) le 27 novembre 2020 alors a priori il serait conseillé de faire un docker commit -p ... avant le backup, et de ne pas le faire dans la partition / qui n'est pas taillée pour cela. Si on se met dans /homes ca ne pose pas de problème. J'essaie de mettre cela au clair ce weekend. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 27 novembre 2020 Partager Posté(e) le 27 novembre 2020 Merci pour tes efforts. Bonne soirée 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 28 novembre 2020 Auteur Partager Posté(e) le 28 novembre 2020 (modifié) @Jeff777, pour ce que l'on veut faire ici, càd disposer d'une image telegraf incluant l'installation de Python3, la commande "docker commit" fait le boulot. Voici donc comment j'ai procédé : (les outputs sont tronqués car trop longs) 1) Je charge une image de telegraf vierge, je vérifie qu'il n'y a pas de python et j'y installe mon python3 selon la procédure du tuto : root@vdsm2:/volume1/docker/monitoring# cat docker-compose.yaml services: test_telegraf: image: telegraf:latest container_name: test_telegraf hostname: test_telegraf mac_address: d2:ca:ab:cd:00:06 networks: data_grafana: ipv4_address: 172.18.0.6 environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin:/usr/local:/usr/src - TZ=CET volumes: - "/volume1/docker/dev3/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/volume1/docker/dev3/telegraf/py:/usr/local/py:ro mem_limit: 50M ports: - 5125:8125/udp - 5092:8092/udp - 5094:8094 restart: unless-stopped root@vdsm2:/volume1/docker/monitoring# root@vdsm2:/volume1/docker/monitoring# docker-compose up -d test_telegraf Creating test_telegraf ... done root@vdsm2:/volume1/docker/monitoring# docker images REPOSITORY TAG IMAGE ID CREATED SIZE telegraf latest 79fd1e5d0a8f 3 months ago 276MB root@vdsm2:/volume1/docker/monitoring# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0de5d8966d84 telegraf:latest "/entrypoint.sh tele…" 16 seconds ago Up 11 seconds 0.0.0.0:5092->8092/udp, 0.0.0.0:5094->8094/tcp, 0.0.0.0:5125->8125/udp test_telegraf root@vdsm2:/volume1/docker/monitoring# docker exec -it test_telegraf /bin/bash root@test_telegraf:/# python -V bash: python: command not found root@test_telegraf:/# python3 -V bash: python3: command not found root@test_telegraf:/# apt update root@test_telegraf:/# apt upgrade …. root@test_telegraf:/# dpkg --configure -a root@test_telegraf:/# apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common root@test_telegraf:/# wget https://bootstrap.pypa.io/get-pip.py root@test_telegraf:/# apt-get install python3-distutils root@test_telegraf:/# python3 get-pip.py --prefix=/usr/local root@test_telegraf:/# python3 -m pip install requests root@test_telegraf:/# pip install unidecode root@test_telegraf:/# python3 -V Python 3.7.3 root@test_telegraf:/# exit exit 2) je fais dessus un "docker commit -p <reference docker> <nom_nouvelle_image>". Cela produit une nouvelle image contenant toutes les modifications effectuées auparavant. L'option -p met en pause le docker pendant la création de la nouvelle image afin de garantir qu'il n'y ai pas d'incohérence dans le file system. root@vdsm2:/volume1/docker/monitoring# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0de5d8966d84 telegraf:latest "/entrypoint.sh tele…" 16 minutes ago Up 15 minutes 0.0.0.0:5092->8092/udp, 0.0.0.0:5094->8094/tcp, 0.0.0.0:5125->8125/udp test_telegraf root@vdsm2:/volume1/docker/monitoring# docker commit -p 0de5d8966d84 telegraf_py:latest sha256:e9ac730929f7698a4264ff762f2b86a34a28113a48fda598d065fa04a19260cf root@vdsm2:/volume1/docker/monitoring# docker images REPOSITORY TAG IMAGE ID CREATED SIZE telegraf_py latest e9ac730929f7 8 seconds ago 466MB telegraf latest 79fd1e5d0a8f 3 months ago 276MB root@vdsm2:/volume1/docker/monitoring 3) je modifie mon docker-compose.yaml pour utiliser cette nouvelle image version: "2" services: test_telegraf: image: telegraf_py:latest container_name: test_telegraf hostname: test_telegraf mac_address: d2:ca:ab:cd:00:06 networks: data_grafana: ipv4_address: 172.18.0.6 environment: - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin:/usr/local:/usr/src - TZ=CET volumes: - "/volume1/docker/dev3/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro" - "/volume1/docker/dev3/telegraf/py:/usr/local/py:ro" mem_limit: 50M ports: - 5125:8125/udp - 5092:8092/udp - 5094:8094 restart: unless-stopped 4) j'efface le docker mis à jour manuellement, et je relance le docker-compose avec la nouvelle image telegraf_py:latest root@vdsm2:/volume1/docker/monitoring# docker stop test_telegraf test_telegraf root@vdsm2:/volume1/docker/monitoring# docker rm test_telegraf test_telegraf root@vdsm2:/volume1/docker/monitoring# docker-compose up -d test_telegraf Creating test_telegraf ... done root@vdsm2:/volume1/docker/monitoring# 5) je vérifie les détails du nouveau docker : il a bien pris en compte l'image telegraf_py:latest root@vdsm2:/volume1/docker/monitoring# docker inspect test_telegraf [ { "Id": "a778a6d7d5e50a1e29837205d3fbe5710dafc2884f0f26e5cae09981b0737219", "Created": "2020-11-28T06:29:51.30628885Z", "Path": "/entrypoint.sh", "Args": [ "telegraf" ], …. "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin:/usr/local:/usr/src", "TELEGRAF_VERSION=1.15.2", "TZ=CET" ], "Cmd": [ "telegraf" ], "ArgsEscaped": true, "Image": "telegraf_py:latest", "Volumes": { "/etc/telegraf/telegraf.conf": {}, "/usr/local/py": {} }, ….. } } } } ] root@vdsm2: 6) et enfin je vérifie que mon docker basé sur l'image commitée telegraf_py:latest contient le python fonctionnel : root@vdsm2:/volume1/docker/monitoring# docker exec -it test_telegraf /bin/bash root@test_telegraf:/# python3 -V Python 3.7.3 Voilà. Désolé c'était un peu long, mais je voulais être sûr que c'était bon. Donc pas besoin de docker save/load. Cdt Bruno78 Modifié le 28 novembre 2020 par bruno78 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 28 novembre 2020 Partager Posté(e) le 28 novembre 2020 Merci @bruno78 Quel boulot je t'ai donné ! Je vais mettre cela en oeuvre dans la journée 😉 PS : Je me demande si mes pertes de connexion n'était pas dues au retrait de la clé usb de la pop. Je n'ai pas trouvé de solution pour la débrancher proprement (peut-être faut-il arrêter la box tout simplement). 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 29 novembre 2020 Partager Posté(e) le 29 novembre 2020 (modifié) Bonjour @bruno78 Super ! Je viens de le faire et tout s'est déroulé comme tu l'as écrit.😉 Maintenant j'ai deux questions : A quoi sert l'adresse mac que tu as dans ton docker-compose ? Deuxième question peut-être aussi pour @.Shad. : Dans mon nouveau docker-compose j'ai laissé le label de watchtower. Je pense que j'aurai dû le retirer. Que va-t-il se passer au prochain déclenchement de watchtower si je ne le retire pas ? Bon dimanche Edit : et j'ai toujours mon Dashboard Freebox " up and running " ! Modifié le 29 novembre 2020 par Jeff777 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 29 novembre 2020 Auteur Partager Posté(e) le 29 novembre 2020 @Jeff777, l'adresse MAC fixée pour le docker telegraf .... ne sert à rien ici. Je l'avais mise en place pour certains dockers en mode macvlan et donc pour lesquels l'adresse IP et l'adresse MAC sont visibles sur le réseau. C'est le cas en particulier de mon docker pihole. Mais ici pour telegraf .... aucun intérêt on est d'accord. C'est un reliquat. Bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 29 novembre 2020 Partager Posté(e) le 29 novembre 2020 @Jeff777 Il va mettre à jour ton conteneur. Si il y a des ajouts par rapport à la version de base (python3 je crois ?) et s'il n'y a pas de volume monté comprenant l'ensemble des fichiers dont python3 a besoin pour fonctionner, il se peut qu'il disparaisse à la màj. Si c'est effectivement le cas, la solution la plus propre me semble d'utiliser cette fonctionnalité de watchtower : https://containrrr.dev/watchtower/lifecycle-hooks/ Tu crées un script qui va télécharger python3, l'installer, et faire tout ce qu'il y y a besoin de faire, le rendre exécutable et le mettre dans le dossier telegraf de ton NAS. Dans le compose, tu montes ce script à la racine du conteneur : ... volumes: - chemin/vers/script.sh:/script.sh ... labels: - "com.centurylinklabs.watchtower.lifecycle.post-update=/script.sh" ... Si je comprends bien le fonctionnement, une fois le conteneur telegraf recréé, il va exécuter ce script, à toi de faire en sorte que le script remette ton conteneur en état de fonctionnement. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 29 novembre 2020 Partager Posté(e) le 29 novembre 2020 Holà tu me mets la barre très très haut. J'essaierai peut-être dans la semaine. Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 2 décembre 2020 Partager Posté(e) le 2 décembre 2020 Il va me falloir tenter l'affaire 🙄🙄 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 2 décembre 2020 Auteur Partager Posté(e) le 2 décembre 2020 @Jeff777, je vois que tu galères pas mal avec ce fichu docker telegraf dans lequel on ajoute python. Je n'ai pas eu le temps de regarder watchover, donc je ne peux guère t'aider. Mais pour info, je suis en train de voir à remplacer, pour la freebox uniquement, le docker telegraf par un docker python. Je ne sais pas si cela pourrait rendre l'utilisation de watchover plus facile, car de toute façon même ainsi il faut légèrement modifier l'image et créer une image locale, mais cela se ferait via "docker build". Je vais voir si il y a des possibilités ... et jeter un coup d'oeil à Wacthover (mais il y a 11 pages de posts à lire .....) Cdt Bruno78 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 2 décembre 2020 Partager Posté(e) le 2 décembre 2020 Non juste le premier post, normalement ça suffit. 😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 2 décembre 2020 Partager Posté(e) le 2 décembre 2020 il y a 22 minutes, bruno78 a dit : Mais pour info, je suis en train de voir à remplacer, pour la freebox uniquement, le docker telegraf par un docker python. Ah j'ai ma réponse à ma question posée sur le sujet "monitoring du nas". Ne t'inquiète pas il y a pire comme galère.😉 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
X260-dpaulet Posté(e) le 5 décembre 2020 Partager Posté(e) le 5 décembre 2020 Bonjour Bruno, Simplement témoigner de cet excellent travail, au passage vous entourer :) Parfaitement fonctionnel sur un QNAP ContainerStation GRAFANA-INFLUXDB_TELEGRAF. Configuration bien entendu adaptée à mon contexte. Bravo ! 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 5 décembre 2020 Auteur Partager Posté(e) le 5 décembre 2020 @X260-dpaulet, D'où l'intérêt de la containairisation ..... merc pour ce message 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drickce Kangel Posté(e) le 30 décembre 2020 Partager Posté(e) le 30 décembre 2020 Hello @bruno78, Je voulais savoir si tu avais rencontré cette erreur? python3 freebox_059.py -SPHDIWX Traceback (most recent call last): File "freebox_059.py", line 10, in <module> import requests ModuleNotFoundError: No module named 'requests' Pourtant, j'ai fait toutes les commandes avec succès, j'ai du mal à voir d'où ça vient. Merci d'avance pour ton aide. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeff777 Posté(e) le 30 décembre 2020 Partager Posté(e) le 30 décembre 2020 (modifié) ; Modifié le 31 décembre 2020 par Jeff777 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 31 décembre 2020 Auteur Partager Posté(e) le 31 décembre 2020 Bonjour, oui il s'agit du module python request qui n'a pas, ou mal, été installé. Essaye de reprendre juste cette partie .Bruno78Envoyé de mon STF-L09 en utilisant Tapatalk 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drickce Kangel Posté(e) le 31 décembre 2020 Partager Posté(e) le 31 décembre 2020 Hello @bruno78, Je me rends compte qu'à cause de différentes version de python, ça bug un peu. J'ai relance depuis le container, voici ce que j'obtiens: root@fbx_telegraf:/usr/local/py# python3.7 freebox_059.py -r Doing registration Traceback (most recent call last): File "freebox_059.py", line 906, in <module> do_register(auth) File "freebox_059.py", line 799, in do_register write_auth(register_infos['result']) File "freebox_059.py", line 770, in write_auth with open(cfg_file, "ab") as authFile: OSError: [Errno 30] Read-only file system: '/usr/local/py/.credentials' root@fbx_telegraf:/usr/local/py# 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bruno78 Posté(e) le 31 décembre 2020 Auteur Partager Posté(e) le 31 décembre 2020 @Drickce Kangel Pour réaliser l'authentification initiale, le volume ./py ne doit pas être monté en 'ro' dans le docker compose, pour pouvoir justement y écrire le fichier .credentials . Ensuite seulement il pourra être mis en read only 'ro'. Sauvegarde ce fichier .credentials, il ne changera pas, et pourra toujours, éviter à l'avenir de refaire cette phase d'enregistrement. Tant que tu as la même freebox ' ce fichier restera valable 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Drickce Kangel Posté(e) le 31 décembre 2020 Partager Posté(e) le 31 décembre 2020 (modifié) @bruno78 [EDIT] Finalement, j'ai trouvé, j'ai retiré le fichier .credentials et relancé. Merci, je me rends compte que j'ai fait une boulette, l'accès était refusé sur ma Freebox, du coup, je l'ai supprimé. Comment dois-je faire pour qu'il relance la demande de connexion à la free? Par ailleurs mon LCD bug sur la freebox🙄, pour valider, c'est la flèche de droite ou de gauche?😅 Dernière chose, j'ai ça quand je lance la commande : root@fbx_telegraf:/usr/local/py# python3 /usr/local/py/freebox_059.py -SPHDIWX Failed request: {"uid":"xxx","success":false,"msg":"Erreur d'authentification de l'application","result":{"password_salt":"xxxx","challenge":"xxx"},"error_code":"invalid_token"} Traceback (most recent call last): File "/usr/local/py/freebox_059.py", line 910, in <module> get_and_print_metrics(auth, args.status_switch, args.status_ports, args.status_sys, args.disk_usage, args.lan_config, args.wifi_usage, args.lan_interfaces, args.interfaces_hosts) File "/usr/local/py/freebox_059.py", line 235, in get_and_print_metrics session_token = resp['result']['session_token'] TypeError: 'NoneType' object is not subscriptable root@fbx_telegraf:/usr/local/py# Modifié le 31 décembre 2020 par Drickce Kangel 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.