Aller au contenu

[TUTO] Monitoring réseau (Telegraf + InfluxDB 1.8 + Grafana)


.Shad.

Messages recommandés

il y a 20 minutes, RF-Atomik a dit :

PS Mon NAS est situé dans un sous réseau par rapport au PC que j'utilise pour faire la connection SSH.

Je n'ai pas compris ta phrase.
Ah si, tu veux dire que ton PC a une adresse en 10.0.10.x ?

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Résultat pour docker network inspect monitoring

[
    {
        "Name": "monitoring",
        "Id": "3f8a04071a839fd5eea641db1d339cfec24a784a11725384708f8baa6fe0f2f0",
        "Created": "2021-01-13T12:32:38.986747132+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.19.0.0/24",
                    "IPRange": "172.19.0.0/28",
                    "Gateway": "172.19.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "1375a69a222913ecc16e335f386641ca9d3de3a23820ad3624a41f8ea6ddf5a0": {
                "Name": "grafana",
                "EndpointID": "a3b0c7fd7b0c30fa248a7fafd4e33a7b3882a434e424b4ff9b7b55d7f3510dc8",
                "MacAddress": "02:42:ac:13:00:04",
                "IPv4Address": "172.19.0.4/24",
                "IPv6Address": ""
            },
            "bf0d6246f56e2012cc73556d2c5702fbe9c9e078113f967818f1228e6981beab": {
                "Name": "influxdb",
                "EndpointID": "01c0885a9229758da950f69ac066f53b28841472eddb4d6cb64b45c731220532",
                "MacAddress": "02:42:ac:13:00:02",
                "IPv4Address": "172.19.0.2/24",
                "IPv6Address": ""
            },
            "ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1": {
                "Name": "telegraf",
                "EndpointID": "70457ac1014939baad24e817279e6871b0487626afb41c0b161e88432320c20e",
                "MacAddress": "02:42:ac:13:00:03",
                "IPv4Address": "172.19.0.3/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.name": "br_monitoring"
        },
        "Labels": {}
    }
]

Résultat pour docker container inspect telegraf

[
    {
        "Id": "ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1",
        "Created": "2021-01-14T09:56:15.339930137Z",
        "Path": "/entrypoint.sh",
        "Args": [
            "telegraf"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 3137,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-01-14T09:56:17.669937289Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "StartedTs": 1610618177,
            "FinishedTs": -62135596800
        },
        "Image": "sha256:5023e522cf08de862c6f752ad28247e2d080c5a585eeeec5fb8f44d91f49ac53",
        "ResolvConfPath": "/volume1/@docker/containers/ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1/resolv.conf",
        "HostnamePath": "/volume1/@docker/containers/ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1/hostname",
        "HostsPath": "/volume1/@docker/containers/ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1/hosts",
        "LogPath": "/volume1/@docker/containers/ec3e029b553d3c54f260e1d3976bde6afc429ab9d407802efa1850715e6746f1/log.db",
        "Name": "/telegraf",
        "RestartCount": 0,
        "Driver": "btrfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/usr/share/snmp/mibs:/usr/share/snmp/mibs:ro",
                "/volume1/docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "db",
                "Config": {}
            },
            "NetworkMode": "monitoring",
            "PortBindings": {
                "8092/udp": [
                    {
                        "HostIp": "",
                        "HostPort": "8092"
                    }
                ],
                "8094/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8094"
                    }
                ],
                "8125/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8125"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": [],
            "CapAdd": null,
            "CapDrop": null,
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "shareable",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "TELEGRAF_VERSION=1.17.0"
            ],
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": null,
            "Name": "btrfs"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/usr/share/snmp/mibs",
                "Destination": "/usr/share/snmp/mibs",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/volume1/docker/telegraf/telegraf.conf",
                "Destination": "/etc/telegraf/telegraf.conf",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "ec3e029b553d",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "8092/udp": {},
                "8094/tcp": {},
                "8125/tcp": {},
                "8125/udp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "TELEGRAF_VERSION=1.17.0"
            ],
            "Cmd": [
                "telegraf"
            ],
            "Image": "telegraf",
            "Volumes": {
                "/etc/telegraf/telegraf.conf": {},
                "/usr/share/snmp/mibs": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "067bc01df30d3929799cf30bb03c0abc9f6f24891692d4d47fb1d014fcac0858",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "telegraf",
                "com.docker.compose.service": "telegraf",
                "com.docker.compose.version": "1.24.0"
            },
            "DDSM": false
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "35a6ecfdb26fdae5cdbdf26c46ae91e4f9f5dd46ddd92e942b3017e4ce6f76ac",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "8092/udp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8092"
                    }
                ],
                "8094/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8094"
                    }
                ],
                "8125/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8125"
                    }
                ],
                "8125/udp": null
            },
            "SandboxKey": "/var/run/docker/netns/35a6ecfdb26f",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "monitoring": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "telegraf",
                        "ec3e029b553d"
                    ],
                    "NetworkID": "3f8a04071a839fd5eea641db1d339cfec24a784a11725384708f8baa6fe0f2f0",
                    "EndpointID": "70457ac1014939baad24e817279e6871b0487626afb41c0b161e88432320c20e",
                    "Gateway": "172.19.0.1",
                    "IPAddress": "172.19.0.3",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:13:00:03",
                    "DriverOpts": null
                }
            }
        }
    }
]
 

 


 

Lien vers le commentaire
Partager sur d’autres sites

@.Shad. Tu voulais ça ?

version: '2.1'
services:

   telegraf:
      image: telegraf
      container_name: telegraf
      hostname: raspberrypi
      network_mode: bridge
      environment:
         - HOST_PROC=/hostfs/proc
         - HOST_MOUNT_PREFIX=/hostfs
      ports:                 # Optionnel
         - 8125:8125         # Optionnel
         - 8092:8092/udp     # Optionnel
         - 8094:8094         # Optionnel
      volumes:
         - /opt/containers/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
         - /proc:/hostfs/proc:ro
         - /run/udev:/run/udev:ro
         - /etc/localtime:/etc/localtime:ro
         - /etc/timezone:/etc/timezone:ro
      restart: unless-stopped

Lien vers le commentaire
Partager sur d’autres sites

@RF-Atomik

Tu peux essayer de supprimer le réseau monitoring actuel (il faut arrêter et supprimer tous les conteneurs qui en font partie avant via docker-compose down), via SSH c'est :

docker network rm monitoring

Puis tu le recrées mais cette fois-ci tu ne précises pas d'IP range, donc :

docker network create -d bridge \
--subnet=172.19.0.0/24 \
--gateway=172.19.0.1 \
--opt "com.docker.network.bridge.name"="br_monitoring" \
monitoring

Et tu recrées tes conteneurs.

C'est peut-être l'IP range qui fait déconner le truc, pour une raison obscure car chez ça marche, mais je vois dans tes commandes que les IP attribuées au conteneur sont dans la plage /24 au lieu de /28.

@Jeff777

Là comme ça je n'ai plus d'idée, il faudrait que je prenne la main via Teamviewer à l'occasion.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

il y a 24 minutes, RF-Atomik a dit :

Je n'ai en revanche pas compris pourquoi ça ne fonctionne pas en suivant le réseau monitoring du tuto.

Moi non plus, j'ai modifié le tutoriel pour ne pas limiter la plage IP, ça n'a de toute façon pas beaucoup d'intérêt de le faire pour une utilisation en tant que particulier.

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Bonjour,

il y a 8 minutes, .Shad. a dit :

j'ai modifié le tutoriel pour ne pas limiter la plage IP, ça n'a de toute façon pas beaucoup d'intérêt de le faire pour une utilisation en tant que particulier.

Certes, tu as raison. Tu m'arrêtes si je dis une c... mais avec un plage d'iP limitée, je me demande si on a quand même pas intérêt à figer l'IP utilisée pour chaque conteneur qui utilise le même réseau, avec par exemple une instruction du style :

        networks:
            monitoring:
                ipv4_address: 172.20.0.2

afin de ne pas laisser docker faire les attributions d'@IP. On dirait bien qu'il ne soit pas toujours au top sur ce point. Enfin c'est ce que j'ai constaté lors de mes premiers errements sur le monitoring (variations d'@IP avec l'ajout/suppression de conteneurs). Ton avis STP ?

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@oracle7

Pour ma part je n'ai jamais besoin d'utiliser les IP, car dans un réseau bridge personnalisé j'utilise uniquement les noms de conteneurs. Et dans le réseau bridge par défaut, 172.17.0.1, ce sont généralement des conteneurs qui :

- n'ont pas d'interface (watchtower)
- ont leur ports translatés sur l'hôte si je dois y accéder depuis l'extérieur (calibre-web, emby, etc... la plupart des applications)

Donc pour moi ça n'intervient jamais.

Dans quel cas as-tu l'utilité de contacter un conteneur par son IP ?

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

il y a 38 minutes, .Shad. a dit :

Dans quel cas as-tu l'utilité de contacter un conteneur par son IP ?

A dire vrai, la seule utilité que je vois pour l'instant c'est que je sais où trouver mes conteneurs dans un même réseau externe. Ni plus ni moins. En identifiant aussi parfaitement le réseau utilisé, cela m'évite d'interférer avec certains VPN qui utilisent aussi les plages 172.x.0.0. et donc de les caler en conséquence.

Mais tu as sûrement raison, je suis peut-être bien en train de "chercher Midi à 14h00" 🥴 et donc de me complexifier la vie pour rien ...

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@.Shad.

Bonjour,

Si tu le veux bien j'aurais besoin STP d'un p'tit coup de main de ta part.

Voilà : je récupère des données internes de ma Livebox pour les monitorer avec Grafana. Donc pour ce faire je souhaite envoyer ces données dans une BD que j'ai créée sous influxdb (comme pour speedtest2, même principe du moins).

Je lance donc via un script shell bash sous SSH sur mon NAS où j'ai déjà influxdb en docker, une commande telle que :

Citation

curl -s -i -XPOST -u ${LIVEBOX_USER}:${LIVEBOX_USER_PASS} "${INFLUX_URL}/write?db=${LIVEBOX_DB}" --data-binary "livebox4,host=${LIVEBOX_HOST} SocFab=${Manufacturer},Modele=${ModelName},Produit=${ProductClass},NoSerie=${SerialNumber},vHard=${HardwareVersion},vSoft=${SoftwareVersion},TpsFonc=${UpTime},AdrIpExt=${ExternalIPAddress},Etat=${DeviceStatus},AdrMac=${BaseMAC},rx=${RX},tx=${TX}" > /dev/null

Le problème est que rien ne se passe. Lorsque je vais ensuite sous influx, la commande SHOW measurements ne me renvoie rien, en tous cas pas le "livebox4" attendu qui me permettrait ensuite de bâtir une requête dans grafana.

Du coup je suis un peu perdu, est-ce que j'ai omis ou raté quelque chose selon toi dans l'écriture des données dans la BD ?

J'épluche la doc influx dans tous les sens mais je ne m'en sort pas...🥴

Merci de ta réponse.

PS EDIT : en mode verbose l'exécution de la commande curl via le shell script livebox.sh

Citation

root@MonNAS:/volume1/docker/scripts_instal/livebox# ./livebox.sh
> POST /write?db=livebox4_db HTTP/1.1
> Host: localhost:8086
> Authorization: Basic bGl2ZWJveDQ6bnVsbA==
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Length: 246
> Content-Type: application/x-www-form-urlencoded
>
} [246 bytes data]
< HTTP/1.1 401 Unauthorized
< Content-Type: application/json
< Request-Id: c6018c17-5685-11eb-826c-d2caabcd0002
< Www-Authenticate: Basic realm="InfluxDB"
< X-Influxdb-Build: OSS
< X-Influxdb-Version: 1.8.3
< X-Request-Id: c6018c17-5685-11eb-826c-d2caabcd0002
< Date: Thu, 14 Jan 2021 16:30:11 GMT
< Content-Length: 33
<
{ [33 bytes data]

 

Cordialement

oracle7😉

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

@oracle7 hello,

j'utilise le même genre de script 🙂

Par exemple :

curl -i -XPOST "$http_method://$influxdb_host:$influxdb_port/write?db=$influxdb_name&u=$influxdb_user&p=$influxdb_pass" --data-binary "$post_url"

Avec $post_url qui vaut par exemple :

post_url="rpi3B_temp,endpoint=rpi3B,tag1=temperature temp="$temp

$temp étant la température du Rpi.

Lien vers le commentaire
Partager sur d’autres sites

@bruno78

Bonjour,

Je t'avouerai ne pas trop comprendre le contenu de post_url. Quelle forme/structure ?

Cela dit, j'avance : j'ai trouvé un premier bug, mon INFLUX_URL pointait sur localhost au lieu de l'@IP de influxdb (172.20.02).

Maintenant, il apparait un autre soucis :

Citation

root@MonNAS:/volume1/docker/scripts_instal/livebox# ./livebox.sh
> POST /write?db=livebox4_db&u=livebox4&p=xxxxxxxxx HTTP/1.1
> Host: 172.20.0.2:8086
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Length: 246
> Content-Type: application/x-www-form-urlencoded
>
} [246 bytes data]
< HTTP/1.1 400 Bad Request
< Content-Type: application/json
< Request-Id: 10b646c4-568f-11eb-8303-d2caabcd0002
< X-Influxdb-Build: OSS
< X-Influxdb-Error: unable to parse 'livebox4,host=192.168.1.1 SocFab=Sercomm,Modele=SercommVD836_Livebox4,Produit=Livebox 4,NoSerie=xxxxxxxxxxxxxxxxx,vHard=SR_LB4_A.0.7,vSoft=SR40_sip-fr-4.01.12.1_7.21.3.1,TpsFonc=50242,AdrIpExt=11.22.33.44,Etat=Up,AdrMac=aa:bb:cc:dd:ee:ff,rx=0,tx=0': invalid boolean
< X-Influxdb-Version: 1.8.3
< X-Request-Id: 10b646c4-568f-11eb-8303-d2caabcd0002
< Date: Thu, 14 Jan 2021 17:36:42 GMT
< Content-Length: 294
<
{ [294 bytes data]

Cela te cause ? une idée ? je n'ai normalement aucun booléen dans les valeurs à écrire ????? aussi je ne comprend pas cette erreur.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je me répond à moi même. Mon erreur venait du fait que je n'avais pas encadré avec des guillemets les valeurs de type chaine à écrire dans la commande curl. Comme j'avais des valeurs de type chaine qui comportaient des "espaces", ceux-ci étaient interprétés dans le parsing comme des séparateurs de champs, d'où une belle "cata". Donc la commande correcte est finalement :

Citation

curl -s -i -XPOST "$INFLUX_URL/write?db=$LIVEBOX_DB&u=$LIVEBOX_USER&p=$LIVEBOX_USER_PASS" --data-binary "livebox4,host=\"$LIVEBOX_HOST\" SocFab=\"$Manufacturer\",Modele=\"$ModelName\",Produit=\"$ProductClass\",NoSerie=\"$SerialNumber\",vHard=\"$HardwareVersion\",vSoft=\"$SoftwareVersion\",TpsFonc=$UpTime,AdrIpExt=\"$ExternalIPAddress\",Etat=\"$DeviceStatus\",AdrMac=\"$BaseMAC\",rx=$RX,tx=$TX" > /dev/null

En espérant que cette erreur, servira à d'autres....

Je peux donc continuer mon monitoring de la Livebox.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Il y a 11 heures, oracle7 a dit :

Bonjour,

Je t'avouerai ne pas trop comprendre le contenu de post_url. Quelle forme/structure ?

@oracle7, si si, c'est la même structure, pas de miracle :-). Par contre je ne comprends pas le "> /dev/null" . Et oui, le coup des doubles quotes ou des blancs, je suis tombé dedans aussi ....

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai suivi le tuto et tout fonctionne à merveille sauf pour l'UPS, il faut que je regarde pourquoi. Par contre j'ai une petite question je vois que mon AdGuard bloque des requêtes vers l'adresse usage.influxdata.com venant de mon docker influxdb. Est ce que vous savez ce que c'est et pourquoi mon docker envoie des requêtes vers cette adresse ?

Merci d'avance

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

@.Shad.  @bruno78

Je crains que mon RPi soit un peu faiblard.

Son OS c'est Raspberry PI OS full (32 bits). Je viens de faire une install propre avec noobs puis suivi le tuto avec la procédure par défaut. L'installation du docker-compose se passe beaucoup mieux. Par contre j'ai un soucis avec telegraf:

Capture.JPG.f6407244cc700d5d1ec0cc68142a443e.JPG

Le fichier telegraf est vide comme avant.

Est-ce que l'OS 32 bits est un pb. Je ne suis pas sûr de pouvoir installer un 64 bits ? Qu'en pensez-vous?

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

@Jeff777

Bonjour,

il y a 7 minutes, Jeff777 a dit :

Je crains que mon RPi soit un peu faiblard.

Peut-être qu'investir environ 70€ dans un RPI4 4Go de nouvelle génération serait un bon plan qui t'éviterait de continuer à te prendre la tête avec ce RPI ancien, non ? Maintenant ce que j'en dit ....

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.