Aller au contenu

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


.Shad.

Messages recommandés

Bonjour,

  • oui effectivement tous les dockers sont bien dans le même réseau.
  • et entre temps, j'ai fais un peu de lecture, ... de temps en temps on n'y échappe pas ! J'ai parcouru la doc influxdb, et je pense que pour Grafana même punition ....
  • du coup, la solution est maintenant : 2 dockers telegraf, qui alimentent un seul docker influxdb, puis visualisation vers un seul Grafana
    • sur le docker influxdb, j'ai bien créé 2 users, .... mais une seule db.
    • avec 2 db, 1 pour chaque telegraf, ça marche beaucoup mieux 🙂

j'ai donc bien à présent des stats qui remontent de ma Freebox.

Simplement, je ne retrouve pas sous Grafana toutes les stats Freebox que je m'attends à recevoir (j'ai le in/out, mais par exemple je ne trouve pas les stats des ports du switch ...). Il faut que je retravaille le script Python qui va chercher les données sur la Fbox, car maintenant le problème est clairement là. La Fbx est passée en API 4.0, et ne va pas tarder à forcer le passage en https. Il va donc y avoir un certificat à intégrer.

Bref encore du boulot, mais de grands progrès déjà réalisés.

Merci

Lien vers le commentaire
Partager sur d’autres sites

et voilà !

toutes les infos remontent, ayant modifié l'appel au script Python, avec tous les arguments. Il me reste à voir la question du https .

Bruno78

PS : une fois tout au point, je ferai un récapitulatif global pour telegraf / Freebox

 

Lien vers le commentaire
Partager sur d’autres sites

Hello,

Content que tout fonctionne, et je pense que ça intéressera du monde oui vu le nombre d'abonnés Free sur ce forum.

Et en effet, je privilégie toujours l'installation, quand c'est possible, d'une instance telegraf sur la machine à superviser et de garder une seule instance d'InfluxDB :)

Lien vers le commentaire
Partager sur d’autres sites

Hello,

un dernier point à voir, peut-être pas le plus simple : le passage en https.

Sur le site de Free (https://dev.freebox.fr/sdk/os/#)  il est dit

  •  

    Citation

     

    HTTPS Access

    Each Freebox is now automatically assigned a random domain name (api_domain), and an associated TLS certificate to enable secure access to API.

    This is enabled by default and all applications MUST now use HTTPS to access the api. Unsecure access will be removed at some point.

    Certificates used for HTTPS access are emitted by either ‘Freebox ECC Root CA’ in case of ECDSA access, or ‘Freebox Root CA’ in case of RSA.

    You must validate the certificate chain, by using the following Root CA certificates:

     

     

    Citation

     

    Freebox ECC Root CA

    
    -----BEGIN CERTIFICATE-----
    MIICWTCCAd+gAwIBAgIJAMaRcLnIgyukMAoGCCqGSM49BAMCMGExCzAJBgNVBAYT
    ...
    gl2I70LeVNGEXZsAThUkqj5Rg9bV8xw3aSMCMQCDjB5CgsLH8EdZmiksdBRRKM2r
    vxo6c0dSSNrr7dDN+m2/dRvgoIpGL2GauOGqDFY=
    -----END CERTIFICATE-----
    

    Freebox Root CA

    
    -----BEGIN CERTIFICATE-----
    MIIFmjCCA4KgAwIBAgIJAKLyz15lYOrYMA0GCSqGSIb3DQEBCwUAMFoxCzAJBgNV
    BAYTAkZSMQ8wDQYDVQQIDAZGcmFuY2UxDjAMBgNVBAcMBVBhcmlzMRAwDgYDVQQK
    ...
    d5jENIZChM8TnDXJzqc+mu00cI3icn9bV9flYCXLTIsprB21wVSMh0XeBGylKxeB
    S27oDfFq04XSox7JM9HdTt2hLK96x1T7FpFrBTnALzb7vHv9MhXqAT90fPR/8A==
    -----END CERTIFICATE-----

     

    
    Bon, la question est simple (!) : comment on "validate the certificate chain, by using the following Root CA certificates ???" Là, je ne sais pas faire ...
    

    Merci de votre aide.

    Bruno78

Lien vers le commentaire
Partager sur d’autres sites

Si ton instance telegraf est bien directement hébergée sur la Freebox, n'arrives-tu pas à récupérer les données sans passer par du SSL ?

Parce que vu que tu récupères les données par un script maison, je ne crois pas que tu aies de champ pour un introduire un certificat client à opposer au serveur SSL de ta Freebox.

Qu'est-ce qui ne marche pas en l'état ?

Quant à la teneur du message, ça donne juste la chaîne complète permettant de valider l'obtention du certificat jusqu'à une autorité compétente pour cela.

Lien vers le commentaire
Partager sur d’autres sites

Hello,

non, l'instance telegraf (docker) est localisée sur le NAS,  qui construit et envoie des requêtes http(s)  [via le fameux script Python] vers la Freebox et récupère les données en retour. 

Je n'ai pas les messages d'erreur sous la main (je suis au taff), mais je vais les poster. Dans le fichier telegraf.conf, il semble qu'il y ai des moyens d'indiquer la presence de certificats. Faut que je creuse.

Aujourd'hui ces requêtes sont en http. Mais Free précise que "un jour ...." le http sera arrêté au profit exclusif du https.  Mais on a peut-être le temps de voir venir ? 

De même que le dernier API documenté par Free (https://dev.freebox.fr/sdk/os/) est une version 4.0 (et encore, Free précise que de nombreuses sections sont [INSTABLE]), et lorsque l'on interroge la Freebox sur sa version API (http://mafreebox.free.fr/api_version), celle-ci répond fièrement API_VERSION = "6.0" (pour une Freebox Revolution)

1384587898_FboxRev.png.426846a79f9a37c097a42a563baafb7d.png

 

Bref, c'est de la navigation à vue, dans un épais brouillard .... Du coup on arrive à faire des choses, mais c'est du tâtonnement, sans grande pérennité je le crains.

Je suis quand même arrivé à construire un tableau de bord correct, mais outre ce https (peut-être pas si urgent), il me reste un aspect que je voudrais réussir à coder (en Python donc), c'est de sortir une liste dynamique des équipements connectés, wifi ou LAN, à un instant donné.

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

Pas de notifications à propos de tes réponses...

Le 18/02/2020 à 17:35, bruno78 a dit :

il me reste un aspect que je voudrais réussir à coder (en Python donc), c'est de sortir une liste dynamique des équipements connectés, wifi ou LAN, à un instant donné.

Si tu y arrives je suis TRÈS intéressé 😛 

Concernant les certificats, c'est le plugin exec qui permet d'exécuter un script en Python et il n'intègre aucune option liée au certificat.
Ce que tu peux faire, c'est monter le volume qui contiendra tes certificats clients dans ton container telegraf.
Et hardcoder dans ton script le processus de vérification des certificats entre ton client (ton conteneur) et ton serveur (ta Freebox).

Sinon joli boulot, il ne te restera plus qu'à partager ton travail 😛 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @.Shad.

je n'ai pas eu trop le temps d'avancer ces derniers jours. En fait je reprends le codage du Python, car il ne me semble pas optimisé pour les interrogations grafana un peu "poussées" (tableaux, etc ....). Et de temps en temps, j'ai la Fbox qui ne répond pas, sans que je ne sache trop pourquoi ....

Mais oui dés que ce sera possible je partagerai , no problème.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonjour, c'est toujours moi 🙂

Si quelqu'un passe sur ce fil, j'ai une petite question:

j'ai fait un post qui traite d'un autre sujet, à savoir le docker Jeedom. A titre de précaution, ayant lu qu'il pouvait consommer de la mémoire de façon un peu excessive, j'ai décidé de grapher la consommation mémoire de mes différents dockers. Et là, surprise !

Si je regarde par exemple les dockers Jeedom et MariaDB, j’obtiens sur le NAS :

image.png.6b5fef61bfe75368e065fcf188d35bdb.png

 

Alors que si je regarde le graphe Grafana, j'obtiens :

image.png.8b29a999b9f1a62429ecc1800e22d784.png

Soit pour Jeedom, 208MB d'un côté et 30.7MB de l'autre !!

Grafana/Influxdb/telegraf sont configurés pour remonter le paramètre "docker_container_mem" pour chaque "container_name". Le point de collecte sur telegraf.conf, concernant les dockers, est "endpoint = "unix:///var/run/docker.sock"" dans le fichier telegraf.conf. Les autres valeurs sont également erronées, mais de façon moins forte.

Est-ce normal d'avoir une telle différence ? Ou est-ce que simplement on ne mesure pas la même chose ?

Merci de vos lumières.

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

  • 3 semaines après...

Bonjour

Ton Tuto est vraiment très bien fait, je l’ai suivi à la lettre, bon, j’ai abandonné de le faire avec docker car j’avais un problème de latence il semblerais entre telegraf et infludb. Je me suis rabattu sur un Raspberry avec un Ubuntu pour faire tourner Telegraf, Infludb et Grafana.

Petit Message pour @bruno78

Je serais aussi intéressé par ton travaille pour monitorer la Freebox. Je vais commencer avec ce que tu as déjà mis, mais il est vrais qu’un bon tuto comme a fait .Shad. serait parfait.

 

Merci a tous pour votre travail et partage

 

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

Bonjour,

le tuto pour le Freebox est quasiment prêt (problème de temps libre ....)..... mais pour le moment le disque dur de ma Freebox est (encore) HS, .... et ce n'est pas un long fleuve tranquille pour obtenir gain de cause auprès du support .... Malgré cela l'accès internet fonctionne, mais sans disque dur, point d'interface API Freebox OS, donc pas de relevés de compteurs .....

Ça va venir rapidement je l'espère

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Normalement il faut choisir le measurement "snmp.SYNO" et le field "sysUpTime".
Pour l'affichage, une métrique "mean" ou "last" doit marcher.
Je n'y ai pas accès là je peux pas te dire, mais je n'ai pas rencontré de problème avec ce champ.

En revanche je n'ai jamais réussi à remonter les infos de l'UPS via le telegraf.conf du NAS.

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

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

Salut,

Normalement il faut choisir le measurement "snmp.SYNO" et le field "sysUpTime".
Pour l'affichage, une métrique "mean" ou "last" doit marcher.
Je n'y ai pas accès là je peux pas te dire, mais je n'ai pas rencontré de problème avec ce champ.

En revanche je n'ai jamais réussi à remonter les infos de l'UPS le telegraf.conf du NAS.

Merci de ta réponse
Je me suis mal exprimé, j'arrive a récupérer le uptime avec "sysUpTime" sur snmp.SYNO, mais je n'arrive pas à le mettre en forme.
La valeur brute de "sysUpTime" me remonte "14836287" mais je n'arrive pas la passé en Jours / heures/ minutes.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

en fait le SysUpTime que tu as vu dans mes graphes, c'était pour l aFreebox. Mais du coup je l'ai quand même ajouté pour le NAS : il s’appelle "Les Mongets".

L'info est bien remontée par le sysUpTime via le snmp.SYNO, et est expimée en pas de 10ms. => je divise par 100 pour avoir des secondes.

Ensuite pour la visualisation, SingleCast, avec le type "duration s" avec 2 decimales, et tu obtiens ceci :

image.png.ab448c49cf239445ce040a05ccb793b3.png

image.png.cfa9fa336ebeda3c0e57b5492003da4d.png

Lien vers le commentaire
Partager sur d’autres sites

Hello Kestouf,

ci dessous mes dashbord. Le principal est en fait dérivé du Dashboard A Dashboard to monitor Synology NAS (1727) référencé sur le site Grafana.

Il y a le dashboard principal, et un dashboard spécifique pour surveiller les dockers (à ceci prés que la mesure de la consommation mémoire semble compliquée ...).

Pour l'UPC, j'utilise le paramètre powerStatus (0 ou 1) .... je me suis dit je vais faire un essai .... je débranche donc le 220 de l'UPS,  l'alarme remonte bien côté DSM, ... mais côté graphe Grafana RIEN : reste vert !! Je vais creuser le point. Et évidemment pas trouvé non plus le moyen de remonter plus d'infos (type, status, modèle, taux de charge ....)

288172712_ds918-1_LI(2).thumb.jpg.d1edbec14079d43f09544a25d987aeb5.jpg

ds918-2.thumb.PNG.3a630b0a61bcaa7681fe1a661b92f55b.PNGds918-3.thumb.PNG.2a642a25e3406487e5c6c6e4669cb412.PNG

Lien vers le commentaire
Partager sur d’autres sites

J'avais trouvé une discussion sur Github à ce sujet, apparemment c'est simplement que Synology a changé ses MIB pour l'UPS et du coup ceux renseignés dans telegraf.conf n'extraient plus les données, car ils se basent sur des noms d'OID qui ne sont plus valables. Si on voulait que ça marche il faudrait directement faire appel aux OID, mais comme je n'ai jamais pris le temps de me plonger là-dedans, je ne sais pas exactement comment réparer ça.

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

Je vais voir si je trouve des infos sur le powerStatus ....

Le TUTO pour Freebox est publié, en attente de modération (normal). J'espère qu'il sera lisible et compréhensible. Sinon je corrigerai / compléterai.... (soyez indulgents, 1er tuto ....)

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.