alex-braga.fr - Mot-clé - Cacti2023-03-12T15:34:09+01:00Alexurn:md5:cb5dff11a70b8a5383a4fef813dd35b6DotclearIntégration des graphs de Cacti sur un site tiersurn:md5:fe1cf96dc5878e8573a34d5cb90e9e092017-07-28T18:40:00+02:002018-08-12T14:14:12+02:00AlexTutos CactiCactituto Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Cacti dispose d'une fonction intéressante; l'export des graphs. Voici comme je l'ai adapté à mon installation.<br /></p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Cacti permet donc d'exporter les graphs générés sous forme d'image. Il y en a pour tous les goût. Des graphs sur 24 heures, sur une heure... Les fichiers images (au format PNG) sont accompagnées de fichiers HTML permettant sont intégration dans un site sans trop se fatiguer. En revanche, comme je souhaite conserver le theme de ce site, je ne les utiliserais pas. Je n'aborderais donc pas cet aspect.<br /></p>
<p><ins><strong>On commence par paramétrer Cacti.</strong></ins><br /></p>
<p>Il suffit d'aller dans le menu Settings et de choisir l'onglet Graph Export.<br /></p>
<p>Là, il faudra faire un choix. Soit les images seront exploitées en local sur le Syno, soit vous voulez les uploader sur un serveur externe. J'ai opté pour la seconde possibilité mais elle a refusé de fonctionner, sans doute la faute au Syno et son Linux light. J'ai donc triché pour obtenir le résultat.<br /></p>
<p>En fait, je réalise les exports en local puis je transfers les fichiers dont j'ai besoin sur le serveur de ce site via ftp avec un script bash. Comme les fichiers portent systématiquement le même nom, le script est conçu pour ne transmettre que certains PNG.<br /></p>
<p>En détail :</p>
<ul>
<li>Cacti exporte ses fichiers dans un dossier temporaire une fois par jour.</li>
<li>Un script se lance ensuite (via une tâche Cron) et va transférer les fichiers PNG que je souhaite utiliser (uniquement les graphs sur 24 heures) dans un autre dossier.</li>
<li>Le script va ensuite vider le dossier temporaire.</li>
<li>Pour finir, le script transfert les PNG sur le serveur distant pour l'intégration sur une page statique sur ce site.</li>
</ul>
<p>Voici les paramètres que j'ai sélectionné :
<a href="https://alex-braga.fr/blog/public/Cacti/Cacti_graph_export.jpg"><img src="https://alex-braga.fr/blog/public/Cacti/.Cacti_graph_export_m.jpg" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Comme vous pouvez le voir, il n'y a rien de bien compliqué.<br /></p>
<p><ins><strong>Il faut maintenant s'attaquer au Syno.</strong></ins><br /></p>
<p>Le Syno étant limité, on va lui ajouter une fonction grace à IPKG, que vous aurez surement installé. Sinon, jetez un oeil sur ce <a href="https://alex-braga.fr/post/Installer-IPKG-sur-un-NAS-Synology">billet</a>. Tapez les commandes suivantes :</p>
<pre>ssh root@ip-du-syno
ipkg update
ipkg upgrade
ipkg install lftp</pre>
<p>lftp est un client ftp en ligne de commande, qui permet de transférer ou de télécharger des fichiers. Il reconnait les serveurs ftp classiques et ceux qui sont sécurisés.<br /></p>
<p>Avec File Station, créez deux dossiers dans /volume1/web/cacti/ et nommez les "cactitemp" et "cactiupload". Toujours dans /volume1/web/cacti/, ajoutez le script <a href="https://alex-braga.fr/ressources_externe/upload_graphs.sh" title="upload_graphs.sh">upload_graphs.sh</a>.<br />
On règle les droits avec les deux commandes suivantes :</p>
<pre>chown -R 1000:users /volume1/web/cacti/
chmod -R 777 /volume1/web/cacti/</pre>
<p>Il faut créer la tâche cron qui lancera le script. Editez le fichier /etc/crontab et ajoutez la ligne suivante.</p>
<pre>2 12 * * * root /opt/bin/bash /volume1/web/cacti/upload_graphs.sh > /volume1/web/cacti/upload_graphs.log 2>&1</pre>
<p>Faite de même avec /etc.defaults/crontab</p>
<p>Attention, utilisez des tabulations entre les rubriques et non des espaces. Cela lancera le fichier à 12:02, soit 2 minutes après Cacti. Il faut redémarrer le cron en tapant ces deux commandes (cela évite de redémarrer le Syno) :</p>
<pre>bash /usr/syno/etc.defaults/rc.d/S04crond.sh stop
bash /usr/syno/etc.defaults/rc.d/S04crond.sh start</pre>
<p>Il vous reste à intégrer les fichiers générés selon votre convenance. Dans mon cas, il s'agit d'une simple page statique. Chaque image est affichée grace à un lien pointant directement sur le fichier concerné. A chaque upload, les fichiers sont écrasés puisqu'ils conservent le même nom. Du coup, pas besoin de mettre à jour les liens.<br /></p>
<p><ins>Bien sur, vous pouvez modifier le script pour retirer plus d'images ou en conserver plus. Il faudra également renseigner les paramètres de votre serveur ftp ainsi que le chemin de destination des fichiers sur votre serveur distant.</ins></p>Monitoring de la Livebox 4 avec Cactiurn:md5:7a190282eb869eddf5eda3b7bdd688872016-07-14T12:55:00+02:002019-01-17T16:57:06+01:00AlexTutos CactiCactiLiveboxSynology Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Voici comment intégrer la Livebox 4 dans Cacti et grapher les informations grace à l'API intégrée à la box.<br />
<strong><ins>Fonctionne avec la dernière version du firmware.</ins></strong></p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Etant maintenant chez Orange, vu mes déboires avec Free (billet à venir), j'ai bien sur souhaité continuer à suivre certains éléments de ma connexion avec ma Livebox 4, comme je le faisais avec la Freebox.<br /></p>
<p>Premier constat, aucune API documentée chez Orange, même si elle est prévue. Ceci dit, la LB4 est disponible que depuis fin mai. Deuxième constat, la LB4 ne permet pas de récupérer autant d'informations que la Freebox. Malgré tout, celles disponibles sont suffisantes pour ce faire une idée de la connexion. Troisième et dernier constat, mon script n'est compatible qu'avec la Livebox 4.<br /></p>
<p>Tout est prêt et vous pouvez télécharger les templates et le script dans le fichier <a href="http://www.alex-braga.fr/ressources_externe/scripts_cacti_livebox.zip">scripts_cacti_livebox.zip</a>.<br />
Le script compatible avec le dernier firmware (à partir de la version 2.17) d'Orange est <a href="https://alex-braga.fr/ressources_externe/xdslbox_new.sh" hreflang="fr">ici</a>.</p>
<p>Avant d'importer les templates et de copier le script dans le dossier "scripts" de Cacti, vous devez l'éditer et renseigner votre mot de passe dans la variable "myPassword", en début du fichier. Au besoin, corrigez également l'adresse IP de la box si vous l'avez personnalisé (par défaut 192.168.1.1). Une fois le script copié, vérifiez les droits du fichier. Vous pouvez relire le tuto <a href="https://alex-braga.fr/post/Monitoring-de-la-Freebox-V6-avec-Cacti">ici</a> pour ce point.<br /></p>
<p>Logiquement, au bout de 15 à 20 minutes d'attente, vous devriez voir les tracés.<br /></p>
<p>Pour celles et ceux qui souhaitent monitorer une LB2 ou LB3, il faut modifier le script. Les requetes permettant de collecter les données sont les mêmes mais la LB4 renvoi plus d'informations. Du coup, il faut modifier la partie consacrée à la récupération des données et corriger les positions lues par le script. Vous pouvez vous référer à ce <a href="https://alex-braga.fr/post/R%C3%A9cup%C3%A9ration-des-donn%C3%A9es-du-Freebox-Server">tuto</a>. Mon script enregistre toujours une copie du résultat dans des fichiers TXT.</p>
<p><ins><strong>Source :</strong></ins><br />
Un grand merci à <a href="https://tetsumaki.net/blog/article/2015-10-25-recuperation-dinformations-livebox-play.html" hreflang="fr" title="tetsumaki.net">tetsumaki.net</a> pour son script. Le système d'authentification des commandes est différent de la Freebox V6. De plus, son script est très propre. Je l'ai juste adapté pour correspondre aux besoins de Cacti et de la LB4.<br /></p>
<p><strong>Mise à jour du 26 novembre 2016 :</strong><br />
Une mise à jour du firmware est tombée ce matin. Il s'agit de la version 2.19.2. Cette version rend le script incompatible. Je mettrais ce billet à jour dès que possible.<br /></p>
<p><strong>Mise à jour du 14 janvier 2017 :</strong><br />
Ajout d'une version du <a href="https://alex-braga.fr/ressources_externe/xdslbox_new.sh" hreflang="fr">script</a> compatible avec le dernier firmware de la Livebox 4. Il suffit de le renommer en xdslbox.sh et le copier à la place de l'ancien. Pensez à corriger les droits du fichier si besoin et renseignez la variable "myPassword" avec votre mot de passe de connexion à la Livebox. Je laisse l'ancien script pour les autres Livebox.<br /></p>
<p><strong>Mise à jour du 3 juin 2017 :</strong><br />
Ajout d'une version du <a href="https://alex-braga.fr/ressources_externe/xdslbox_2.22.8.sh" hreflang="fr">script</a> compatible avec le dernier firmware de la LB4 (version 2.22.8).<br /></p>
<p><strong>Mise à jour du 18 décembre 2017 :</strong><br />
Ajout d'une version du <a href="https://www.alex-braga.fr/ressources_externe/xdslbox_3.2.18.sh">script</a> compatible avec le dernier firmware de la LB4 (version 3.2.18).</p>
<p><strong>Mise à jour du 6 avril 2018 :</strong><br />
Ajout d'une version du <a href="https://www.alex-braga.fr/ressources_externe/xdslbox_3.4.10.sh">script</a> compatible avec le dernier firmware de la LB4 (version 3.4.10).</p>
<p><strong>Mise à jour du 17 janvier 2019 :</strong><br />
Ajout d'une version du <a href="https://www.alex-braga.fr/ressources_externe/xdslbox_3.41.12.sh">script</a> compatible avec le dernier firmware de la LB4 (version 3.41.12).</p>Récupération des données du Freebox Serverurn:md5:649c42c03c4ddccf3bc3e7493070ee5f2016-02-06T10:09:00+01:002018-02-11T16:57:03+01:00AlexTutos CactiCactiFreeboxFreebox RévolutionFreebox V6Synology Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Dans mon <a href="https://alex-braga.fr/blog/index.php?post/Monitoring-de-la-Freebox-V6-avec-Cacti">tuto</a> concernant le monitoring du Freebox Server avec Cacti, je vous fournis des fichiers à installer dans le dossier Cacti sur votre Syno et utilisable pour une connexion ADSL ou VDSL. Mais un problème persiste.</p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Cacti utilise les requêtes contenues dans le script "freebox-api.sh" pour récupérer les informations voulues. J'avais déjà constaté que la box n'envoyait pas les données dans le même ordre selon le type de connexion xDSL. Je l'avais remarqué suite à mes problèmes de ligne qui m'ont obligé d'abandonner le VDSL pour revenir à l'ADSL. Depuis presque trois semaines, je suis repassé sur du VDSL, mes problèmes semblant être résolus.<br /></p>
<p>J'installe donc la bonne version du script "freebox-api.sh" pensant que cela suffirait mais non. Cacti récupère bien les données mais certaines sont absentes. Enfin, presque. Cacti récupère des entêtes de donnée et non les données elles-mêmes. Pour une raison que je ne comprend pas, la box n'envoi plus les infos dans le même ordre, ce qui perturbe Cacti. Une seule solution, intervenir manuellement dans le script et le modifier.<br /></p>
<p>Il vous faut ouvrir le script avec votre éditeur préféré (sur mac, j'utilise Smultron, gratuit et compatible avec différents formats de fichier). Vous devriez voir ces deux lignes à la fin, sinon, il faudra les ajouter :</p>
<pre>echo $cnx > /volume1/web/cacti/scripts/cnx.xml
echo $xdsl > /volume1/web/cacti/scripts/xdsl.xml</pre>
<p>Ces deux lignes exportent les données récupérées par le script dans deux fichiers XML dans le même répertoire. Ils ne sont pas utilisés pas Cacti. Je les utilise uniquement pour vérifier que la récupération des informations se déroule bien.<br /></p>
<p>Dans le script "freebox-api.sh", vous pouvez voir la liste des commandes envoyées à la box (une par ligne). Pour chaque commande, il y a un argument indiquant le positionnement de la donnée à récupérer dans le résultat. un exemple :</p>
<pre>bytes_up=`echo $cnx | cut -d':' -f6 | cut -d',' -f1`</pre>
<p>A ce stade, si comme moi vous ne maitrisez pas le codage, vous êtes en panique. En fait c'est simple. Le système d'interrogation du Freebox Server repose sur deux scripts. Le script "freeboxos_bash_api.sh" lance les requêtes vers la box (de simples requête HTTP) et le script "freebox-api.sh" les extraits pour les enregistrer dans les deux fichiers XML mais aussi pour les envoyer à Cacti. Alors pourquoi deux fichiers XML ? Parce que les informations que je récupères sont extraites par deux requêtes HTTP différentes. C'est donc véritablement tout simple.<br /></p>
<p>L'argument qui nous intéresse est "-f6". La commande extrait la donnée situé en sixième position dans le résultat global, l'élément séparateur étant le ":".<br /></p>
<p>A partir de là, ma méthode est simple. Je lance le script "freebox-api.sh" manuellement depuis Terminal, puis j'ouvre toujours avec Smultron, le fichier XML concerné par le problème. Je recherche dans le fichier, une donnée correctement interprétée par Cacti (au besoin, je me connecte à mon interface de la box pour vérifier), puis je repère sa position pour comparer avec le script.<br /></p>
<p>Dans quel cas modifier ce script ? Seul Cacti vous permettra de vous apercevoir du problème. L'un des graph ne tracera plus une information. Après plusieurs tests, j'ai constaté que le simple reboot de la box depuis l'interface Web, depuis son écran intégré ou même un reboot éléctrique n'engendre pas ce problème. Je ne l'ai rencontré que lors de la bascule entre l'ADSL et le VDSL. Le plus illogique est que entre mon premier passage en VDSL et le second, l'ordre n'est pas le même.<br /></p>
<p>Comme cela n'arrive pas tous les jours, vous ne devriez pas être embêté.</p>Pourquoi je supervise ma Freeboxurn:md5:b66e460e9cf03ee26ab57cdab3917b862015-09-02T14:28:00+02:002017-08-14T11:29:39+02:00AlexDiversCactiFreeFreebox RévolutionFreebox V6 Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>J'ai rédigé il y a peu, un billet sur la façon dont je supervise ma Freebox v6 avec Cacti. Mais pourquoi mais-je décidé cela, alors que la Freebox permet de suivre pas mal de chose depuis son interface ? Pour répondre à cette question, il me semble important de préciser un peu la situation.</p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Je suis abonné chez Free depuis mars 2011, quatre mois après la sortie de la Freebox Révolution ou V6. J'étais abonné chez Orange et la Livebox 2 que j'avais avait quelques difficultés à faire la seule chose que tout abonné était en droit d'attendre d'elle, fonctionner. Elle chauffait trop, une administration limitée, et des composant obsolètes avant même qu'elle ne soit commercialisé. En plus, l'abonnement d'Orange était plus cher et avec engagement. Bref, je trouvais cela indigne pour le plus grand FAI français.<br /></p>
<p>Ces raisons m'ont poussé à regarder si l'herbe n'était pas plus verte ailleurs. Un petit test d'éligibilité sur un site Web bien connu pour vérifier ce que je pouvais avoir chez la concurrence et le choix fut finalement simple. Orange et Free étaient les seuls à me proposer un vrai débit avec un max de service. Bouygues et SFR ne pouvait pas me proposer plus de 8Mbits théorique contre 18 pour les deux autres. Comme je réside dans une petite ville, pas de cable.<br /></p>
<p>Le passage d'Orange à Free a été très simple. Une courrier recommandé pour résilier Orange, un appel pour m'abonner à Free. Le passage de l'un à l'autre aura occasionné une coupure d'internet que de 2 ou 3 jours. L'installation de la Freebox Server et Player est très simple et tout a fonctionné du premier coup. Que du bonheur donc, mais (il y a toujours un mais)...<br /></p>
<p>Tous les 4 à 6 mois, sans raisons apparentes, ma ligne était bruité à tel point, que la box se désynchronisait. Cela durait sur quelques jours et comme par magie, tout rentrait dans l'ordre...jusqu'à la fois suivante. La première fois, j'ai contacté l'assistance technique. Mon interlocuteur constate également mes problèmes et me programme le passage d'un technicien à mon domicile. Ce jour là, tout fonctionnait. Il n'a évidemment rien trouvé et le ticket d'incident a été clôturé.<br /></p>
<p>Cette scène s'est répétée plusieurs fois car ces perturbations revenaient régulièrement malgré les tickets d'incident que j'ouvrais et les différents passages du technicien itinérant. Deux nouveautés depuis 18 mois, l'intervalle entre deux phases de dysfonctionnement diminue et cela dure non plus 2 ou 3 jours mais jusqu'à 3 semaines. J'ai atteins le top cette année. Depuis avril, il ne se passe pas une semaine sans que je sois privé d'Internet (et donc du téléphone et de la TV) quelques heures. Voici une capture issue de mon interface de gestion de compte en ligne :<br />
<a href="https://alex-braga.fr/blog/public/Incident_Free/interface_free.png" title="interface_free.png"><img src="https://alex-braga.fr/blog/public/Incident_Free/.interface_free_m.jpg" alt="interface_free.png" style="display:table; margin:0 auto;" title="interface_free.png, sept. 2015" /></a></p>
<p>Lors des tickets clôturés en juillet, au moment ou j'ai reçu l'email m'en informant, ma box ne parvenait pas à se synchroniser. Le comble de l'absurde. La hotline ne m'a pas été d'une grande aide. J'ai su en aout que j'aurais fait partie des lignes concernées par un "incident collectif affectant les lignes de manière aléatoire", incident co résolu normalement début juin et le 29 juillet. j'ai pas de chance, deux incidents collectifs et de manière aléatoire, je suis impacté à chaque fois. Par contre, pas d'explication pour les fois précédentes dont avril 2015.<br /></p>
<p>Autre problème, la hotline. Absence de réponse claire. Ils n'auraient pas beaucoup d'informations pour expliquer les choses aux abonnés. un joli discours formaté et appris par coeur. Certains ont tenté d'innover maladroitement : "vous avez une solution, demander à l'opérateur historique de vous ouvrir une ligne parallèle. Il arrive parfois qu'il le fasse gratuitement". C'est bien connu, Orange est très généreux avec les abonnés des concurrents. Et puis, pourquoi avoir une ligne chez soi quand on peut en avoir deux ? On m'a également conseillé de demander au Maire de ma commune de mettre la pression sur Orange car le problème se situe sur ma ligne qui appartient à Orange. Cà, je le sait. Mais c'est plutôt à Free de se débrouiller avec Orange. D'ailleurs, la Commission des clauses abusives a statué sur le fait que les FAI ont une obligation de résultat (n° 07-01, BOCCRF du 31.7.07). Donc si les services liés à son abonnement ne fonctionnent pas, sa responsabilité est engagée.<br /></p>
<p>Ne voyant pas d'amélioration, j'ai envoyé un recommandé au Service National Consommateur le 18 juillet. J'ai reçu une réponse un mois plus tard m'informant que le technicien que est intervenu le 10 aout confirmait ma ligne était conforme. Mais qu'il allait relancer le Back Office pour que mon problème soit solutionné. Le technicien confirmait bien que tout était en état lors de sa venu mais confirmait également de nombreuse perte de synchro et demandait une expertise de ma ligne avec Orange. Le SNC ne semble pas lire comme moi les choses. Et la relance du back Office. Super, mon ticket a simplement été clôturé le 21 aout.<br /></p>
<p>Depuis, j'ai ouvert un dossier de litige auprès du Médiateur des communications électronique le 20 aout. Mon dossier a été jugé recevable pour une instruction le 31 aout. J'attend donc maintenant en espérant une issue positive. Pour l'instant, ça fonctionne. Je suis entre deux cycles sans doute. Mais à chaque fois, ma ligne fini pas lâcher et je me retrouve sans Internet, TV et téléphone. Un comble en 2015.<br /></p>
<p>Et Cacti dans tout çà ? Très simple. La Freebox propose des graphes sur un mois maximum et un historique des 10 dernières desynchronisations. C'est bien mais limité dans le temps. Je voulais pourvoir les ressortir sur de plus longues périodes. Et surtout, sur un seul support. Cacti est parfait dans ce rôle.<br /></p>
<p><strong>Mise à jour du 6 février 2016 :</strong><br /></p>
<p>Des nouvelles concernant ma connexion. Le 20 octobre 2015, le service du Médiateur des communications électroniques me contacte afin de me faire part de sa proposition après avoir échange avec le Service Consommateur de Free. Je ne peux pas en parler car cette information est confidentielle. Mais au final, je ne suis qu'à moitié satisfait même si j'accepte la proposition, car elle me permet de réfléchir sur les suites à donner à mon litige (merci au Médiateur qui a négocié ce point pour moi). Mais le SC de Free n'a respecté notre accord que partiellement. Du coup, j'ai continué à harceler l'assistance et continué à ouvrir des tickets incidents les uns après les autres.<br /></p>
<p>Puis, le 05 janvier 2016, après un nouvel appel à la hotline, pour la première fois, Free demande à Orange de vérifier l'état de ma ligne. Cette vérification est faite le lendemain (rapide). J'aurais deux coupures de ma connexion alors qu'à ce moment, je n'avais pas de perturbations. Ensuite, plus aucun problème sur ma ligne. Le 13, le ticket est clôturé et je n'ai toujours pas rencontré le moindre problème depuis.<br /></p>
<p>Cette intervention d'Orange aura vraiment été bénéfique. Avant, mon compteur d'erreurs (FEC et CRC) en émission et reception ne faisait que grimper. Ma marge de bruit faisait des grand-écarts toutes les secondes. Depuis, c'est d'une stabilité à toute épreuve. Du coup, je suis repassé en VDSL et la stabilité est toujours parfaite alors que cette technologie est justement plus sensible sujette à des fluctuations. <br /></p>
<p>Au final, il aura fallut 10 mois pour solutionner mon problème, lancer l'intervention du Médiateur et des dizaines d'appels à l'assistance. Reste à Free à répondre à ma demande de copie de mon dossier conformément à la loi. La demande a été faite en août 2015 et j'attend encore. La CNIL est informée. Voici deux captures.<br /></p>
<p><strong>Le suivi des tickets incidents mais incomplet car le premier a été ouvert en avril 2015</strong><br />
<a href="https://alex-braga.fr/blog/public/Incident_Free/Interface_Free_06022016.jpg" title="Interface_Free_06022016.jpg"><img src="https://alex-braga.fr/blog/public/Incident_Free/.Interface_Free_06022016_m.jpg" alt="Interface_Free_06022016.jpg" style="display:table; margin:0 auto;" title="Interface_Free_06022016.jpg, fév. 2016" /></a></p>
<p><strong>Le suivi de ma courbe de débit et de la marge de bruit</strong><br />
<a href="https://alex-braga.fr/blog/public/Incident_Free/courbe_06022016.jpg"><img src="https://alex-braga.fr/blog/public/Incident_Free/.courbe_06022016_m.jpg" alt="" style="display:table; margin:0 auto;" /></a></p>
<p>Sur la dernière, vous pouvez voir le gain obtenu avec le passage au VDSL. La courbe n'est pas complète car j'ai fait remplacer ma box suite au crash du disque dur. L'assistance sur ce point a été irréprochable. J'ai contacté le 3244 le 13 janvier et le transporteur est passé le 14 après-midi m'apporter la nouvelle. Comme ma connexion était stable depuis une dizaine de jours et que je venais de recevoir la nouvelle box, j'ai lancé le passage en VDSL. Il s'est fait durant la nuit.</p>Monitoring de la Freebox V6 avec Cactiurn:md5:b8fe97a9467813dbefbfcdb2ff5bca5e2015-08-31T10:39:00+02:002018-05-28T16:54:55+02:00AlexTutos CactiCactiFreeboxFreebox RévolutionFreebox V6Synology Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Voici comment intégrer la Freebox Révolution dans Cacti et grapher les informations grace à l'API intégrée à la box.</p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Cacti étant installé sur votre Nas Synology, nous avons pouvoir y intégrer la Freebox V6 et ainsi suivre sur le long terme, certaines informations.<br /></p>
<p>Il faut avoir déjà installé <a href="https://alex-braga.fr/blog/index.php?post/Installer-IPKG-sur-un-NAS-Synology">IPKG</a> et <a href="https://alex-braga.fr/blog/index.php?post/Installer-Cacti-sur-un-NAS-Synology">Cacti</a> sur votre Syno.<br /></p>
<p>Cacti peut suivre des périphériques réseau grace au snmpd intégré dans bon nombre d'entre eux. Ce système permet l'échange d'information via un protocole standard. Malheureusement, la Freebox ne le permet pas. Il est en revanche possible de le faire via un script bash qui se chargera d'interroger la Freebox via son API et de formater les données reçues afin que Cacti puisse les utiliser via rrdtool que nous avons également installé.<br /></p>
<p><strong>Installations des paquets nécessaires :</strong><br />
Les scripts utilisés sont écrit en bash. Manque de chance, il n'est pas installé sur nos Syno. Connectez vous depuis Terminal en root avec la commande :</p>
<pre>ssh root@ip-du-syno</pre>
<p>Tapez les commandes suivantes :</p>
<pre>ipkg update
ipkg upgrade
ipkg install bash
ipkg install grep
ipkg install text-utils
ipkg install util-linux
ipkg install wget</pre>
<p>Je m'explique :<br /></p>
<ul>
<li>les deux premières permettent de mettre à jour la liste des paquets dispos via ipkg et de mettre à jour ceux déjà installés ci-besoin.</li>
<li>"install bash" installe donc bash pour permettre l'execution des scripts.</li>
<li>les 4 autres permettent d'installer des commandes supplémentaires utilisées par les scripts.<br /></li>
</ul>
<p>Même si nos Syno tournent sur Linux, il s'agit d'une version très light et modifié auquel il manque de nombreuses choses.<br /></p>
<p><strong>Installation des scripts :</strong><br />
Récupérez le dossier <a href="https://www.alex-braga.fr/ressources_externe/scripts_cacti_freebox.zip">scripts_cacti_freebox.zip</a> contenant les scripts et la template pour Cacti. Vous trouverez entre autre, deux fichiers nommés "freebox-api ADSL.sh" et "freebox-api VDSL.sh". Utilisez celui correspondant à votre connexion et renommez le en "freebox-api.sh. Pour l'autre fichier, conservez le si un jour vous changez de type de connexion car selon celle-ci, la Freebox retourne les données dans un ordre différent (pourquoi faire simple quand...).<br /></p>
<p>Il faut maintenant copier les fichiers .sh sur le Syno, dans le dossier /web/cacti/scripts/. File Station le fait très bien. Il reste à donner les bons droits aux scripts. Depuis Terminal, on tape :</p>
<pre>cd /volume1/web/cacti/scripts/
chown 1000:users freebox-api.sh
chown 1000:users freeboxos_bash_api.sh
chown 1000:users fbx-api-authorize.sh
chmod 777 freebox-api.sh
chmod 777 freeboxos_bash_api.sh
chmod 777 fbx-api-authorize.sh</pre>
<p>Tout est en place, mais il reste une dernière manipulation à effectuer. Toujours depuis Terminal, il faut taper la commande :</p>
<pre>bash /volume1/web/cacti/scripts/fbx-api-auhtorize.sh</pre>
<p>Vous verrez sur l'écran de votre Freebox, que le script demande un accès et si vous souhaitez l'autoriser. Appuyez sur la flèche de droite et le bouton OK. Sur votre ordinateur, dans Terminal, vous voyer que le script tourne en boucle. Les premières lignes informent que l'accès est refusés "denied" (vous n'aviez pas encore effectué la validation sur votre box) puis passe à "granted" après l'avoir fait. Vous pouvez stopper le script (command + C). <strong>NE FERMEZ PAS TERMINAL</strong>.<br /></p>
<p>Depuis votre navigateur, il faut allez sur l'interface de la Freebox en tapant l'adresse http://mafreebox.freebox.fr/login.php. Puis allez dans "Paramètres de la Freebox" puis "Gestions des accès". Vous verrez un onglet nommé "Applications". Vous y trouverez le script avec une liste de droits accordés. Il faut rajouter "Modifications des réglages" comme sur l'image ci-dessous :<br />
<a href="https://alex-braga.fr/blog/public/Cacti/cacti_fbx.png"><img src="https://alex-braga.fr/blog/public/Cacti/.cacti_fbx_m.jpg" alt="" style="display:table; margin:0 auto;" /></a><br /></p>
<p>Revenez sur l'écran de Terminal. Vous devez avoir une ligne APP_TOKEN avec une suite de caractères. Il faut inscrire cette suite dans le fichier "freebox-api.sh" à la ligne MY_APP_TOKEN. Vous pouvez le faire avec la commande vi (vi freebox-api.sh). Sinon, faite le depuis le fichier sur votre ordinateur puis vous le copiez sur le Syno. Pensez juste à revoir les droits.<br /></p>
<p>C'est terminé, le plus difficile est fait. Votre script est validé et autorisé par la Freebox.<br /></p>
<p><strong>Paramétrage de Cacti :</strong><br />
Il faut maintenant importer dans Cacti, la template de la Freebox. Très simple, dans le menu de gauche, rubrique Import/export, import templates. Pensez - sélectionner tous les rra dans la rubrique concernée. Après avoir cliqué sur import, vous aurez une confirmation. Il faut créer le Devices pour la Freebox :<br />
<a href="https://alex-braga.fr/blog/public/Cacti/cacti_device_fbx.png"><img src="https://alex-braga.fr/blog/public/Cacti/.cacti_device_fbx_m.jpg" alt="" style="display:table; margin:0 auto;" /></a><br /></p>
<p>Ajoutez vos graphs et attendez environ 15/20 mn pour que les graphs affichent quelque chose. Voici ce que vous pouvez obtenir au bout d'une semaine :<br />
<a href="https://alex-braga.fr/blog/public/Cacti/graph_1.png"><img src="https://alex-braga.fr/blog/public/Cacti/.graph_1_m.jpg" alt="" style="display:table; margin:0 auto;" /></a><br />
<a href="https://alex-braga.fr/blog/public/Cacti/graph_2.png"><img src="https://alex-braga.fr/blog/public/Cacti/.graph_2_m.jpg" alt="" style="display:table; margin:0 auto;" /></a><br />
<a href="https://alex-braga.fr/blog/public/Cacti/graph_3.png"><img src="https://alex-braga.fr/blog/public/Cacti/.graph_3_m.jpg" alt="" style="display:table; margin:0 auto;" /></a><br /></p>
<p>Ne faites pas attention à la barre grise verticale sur les graphs. Suite à une mauvaise manipulation, j'avais planté Cacti.<br /></p>
<p><strong>Conclusion :</strong><br />
Quelle utilité puisque sur l'interface de la Freebox permet d'avoir les mêmes graphs ? Pour le fun par exemple. Ou alors, si comme moi vous avez des pertes fréquentes de synchro et cela, malgré de nombreux tickets ouverts auprès de l'assistance de Free, vous pouvez conserver les données plus longtemps car la Freebox ne permet une consultation que sur un mois maximum. Mais j'en parlerais prochainement dans un autre billet.<br /></p>
<p><strong>Remerciements :</strong><br />
Un grand merci à <a href="http://glr81.free.fr/blog/index.php?2013/09/08/72-freebox-os-v2-adsl-stats-cacti-templates" hreflang="fr" title="Freebox OS v2 ADSL stats Cacti templates">GLR</a> pour les scripts et la template. J'ai un peu galéré car ils étaient adaptés à l'API v2 de la Freebox. Depuis, la v3 a été intégré par Free. Le freebox-api.sh ne collait plus.<br />
Un grand merci à <a href="https://www.prestaopen.com/supervision/94-freebox-revolution-sur-cacti.html" hreflang="fr" title="Prestaopen">Gilbert Marin</a> qui a inspiré GLR. Son plus, une explication très précise de l'API de la freebox.<br /><br /></p>
<p><strong>Mise à jour : 13 septembre 2015</strong><br />
Depuis un peu plus de 4 jours, certaines données n'étaient plus graphées par Cacti. Après vérification, le fichier "freebox-api.sh" ne parvenait plus à extraire les informations nécessaires à Cacti. Il n'y a pas eu de mise à jour du Freebox Server. Le seul changement est mon passage au VDSL car depuis quelques temps, ma connexion est quasi stable. Le médiateur serait-il intervenu ?<br />
Le fichier est corrigé. Vous le trouverez dans le pack dont le lien est plus haut dans le billet. Vous n'avez qu'à écraser l'ancien avec le nouveau et lancer les commandes suivantes depuis Terminal :</p>
<pre>cd /volume1/web/cacti/cli/
php -f rebuild_poller_cache.php</pre>
<p>Normalement, en regardant dans le log de Cacti, vous ne devriez pas avoir d'erreurs signalées.<br /><br /></p>
<p><strong>Mise à jour : 22 septembre 2015</strong><br />
Finalement, me revoilà en ADSL. Ma connexion était tellement instable durant 24 heures que je me suis décidé à désactiver le VDSL depuis mon espace Web sur le site de Free. La bascule s'est déroulé cette nuit vers 2 heures du matin. Et Cacti ne parvenait plus à grapher l'uptime. J'ai réinstaller l'ancien fichier "freebox-api.sh" et s'est résolu. Du coup, le billet initial a été corrigé pour mettre à dispo les deux versions.</p>Installer Cacti sur un NAS Synologyurn:md5:14365e9bec2309388d531cb9b0a9fe2e2015-08-29T18:22:00+02:002018-08-12T14:13:04+02:00AlexTutos CactiCactiNASSynologytuto Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Voici la méthode que j'ai employé pour installer Cacti sur mon NAS Synology.</p> Deprecated: Use of "self" in callables is deprecated in /home/clients/790c8ef7cbe15386c96da2c3f4be7e95/web/blog/plugins/VideoInsert/_public.php on line 38
<p>Cacti est un outil permettant de suivre sous forme de graphique, les informations collectés sur le matériel connecté sur un réseau. Tout est accessible via une interface Web. En plus, il est open source et la communauté est plutôt active. Cacti n'étant pas disponible officiellement sur les NAS Synology, son installation est un peu compliqué mais pas inaccessible.<br /></p>
<p><strong>Matériel utilisé :</strong><br />
NAS Synology DS 209+II (DSM 4.2) et un ordinateur (un mac dans mon cas). Il faut également avoir installé ipkg sur votre NAS (<a href="https://alex-braga.fr/blog/index.php?post/Installer-IPKG-sur-un-NAS-Synology">voir ici au besoin</a>). Ayant un Mac, j'utiliserais Terminal pour accéder au NAS en root.<br /></p>
<p><strong>Dans le DSM, il faut depuis le panneau de contrôle dans "Service Web" :</strong></p>
<ul>
<li>activer Web Station</li>
<li>MySQL</li>
<li>le cache PHP</li>
<li>personnaliser PHP open_basedir et ajouter à la fin dans l'open_basedir :/opt/bin:/usr/bin:/opt/bin/rrdtool: (les : sont nécessaires)<br /></li>
</ul>
<p>Toujours dans le DSM, aller dans le Centre de paquets et installez phpMyAdmin.<br /></p>
<p><strong>Cacti :</strong></p>
<ul>
<li>Depuis le site de <a href="http://www.cacti.net/download_cacti.php" hreflang="en" title="Cacti">Cacti</a>, télécharger sur votre ordinateur, la dernière version disponible. Actuellement, il s'agit de la 0.8.8f.</li>
<li>Décompressez le fichier .zip, renommez le dossier "cacti-0.8.8f" en "cacti" et copiez le avec son contenu dans le dossier web sur votre Syno.</li>
</ul>
<p>On donne les bons droits aux fichiers depuis terminal :</p>
<pre>chown -R 1000:users /volume1/web/cacti/
chmod -R 777 /volume1/web/cact/</pre>
<p><strong>Création de la base SQL :</strong></p>
<ul>
<li>Lancez phpMyAdmin depuis le DSM et créez une base nommée "cacti".</li>
<li>Dans le dossier "cacti", vous trouverez un fichier nommé "cacti.sql". Ouvrez le avec votre éditeur préféré (personnellement, j'utilise <a href="http://www.opensourcemacsoftware.org/editeur-html-texte/smultron-editeur-texte-mac-gratuit.html" hreflang="fr" title="Smultron : éditeur de texte pour Mac, gratuit et puissant">Smultron</a>.</li>
<li>Copiez le contenu de ce fichier. Il faudra le coller dans phpMyAdmin, dans l'onglet "SQL" de votre base "cacti".</li>
<li>Cliquez sur le bouton "executer". Cela va créer les différentes tables de la base.</li>
<li>Créer un utilisateur nommé cactiuser pour la base "cacti" en lui donnant les pleins pouvoir. Son mot de passe sera cacti.<br /></li>
</ul>
<p>Depuis terminal sur votre mac, connectez vous au NAS en ssh@root. Il faut modifier le fichier /usr/syno/bin/php.ini comme ceci :</p>
<pre> ; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
#safe_mode_exec_dir = /usr/syno/bin
safe_mode_exec_dir =</pre>
<p>Il faut également ajouter des paquets pour le fonctionnement de Cacti. Depuis Terminal, tapez les commandes suivantes pour les ajouter :<br /></p>
<pre>ipkg update
ipkg upgrade
ipkg install grep
ipkg install net-snmp
ipkg install rrdtool
ipkg install perl</pre>
<p><strong>Paramétrage de Cacti :</strong><br /></p>
<ul>
<li>Dans votre navigateur, tapez l'URL http://ip-du-syno/cacti/</li>
<li>Suivez les instructions.</li>
<li>Renseignez les différents chemins comme sur la capture.<br /></li>
</ul>
<p><a href="https://alex-braga.fr/blog/public/Cacti/cacti_path.png"><img src="https://alex-braga.fr/blog/public/Cacti/.cacti_path_m.jpg" alt="" style="display:table; margin:0 auto;" /></a></p>
<ul>
<li>Renseignez le nom de la base de donnée de cacti, le nom de l'utilisateur et son mot de passe.<br /></li>
</ul>
<p>Activer le poller dans le cron :<br />
Editez le fichier /etc/crontab et ajoutez la ligne suivante</p>
<pre>*/5 * * * * cactiuser /usr/bin/php -q /volume1/web/cacti/poller.php >/var/local/log/poller.log 2>&1</pre>
<p>Il faut le faire également dans /etc.defaults/crontab car à chaque redémarrage su Syno, le contenu de ce fichier est copié dans l'autre.</p>
<p>Attention, utilisez des tabulations entre les rubriques et non des espaces. Cela lancera le fichier poller.php toutes les 5 minutes. Il s'agit du réglage par défaut de Cacti.<br />
Il faut redémarrer le cron en tapant ces deux commandes :<br /></p>
<pre>bash /usr/syno/etc.defaults/rc.d/S04crond.sh stop
bash /usr/syno/etc.defaults/rc.d/S04crond.sh start</pre>
<p>Cacti est maintenant installé. Il vous reste à vous connecter à l'interface en utilisant l'URL http://ip-du-syno/cacti/. Le nom de l'utilisateur est admin et son mot de passe sera également admin.<br /></p>
<p>Pensez à regarder ce <a href="https://alex-braga.fr/blog/index.php?post/R%C3%A9paration-du-moniteur-de-ressources">billet</a> et <a href="https://alex-braga.fr/blog/index.php?post/R%C3%A9paration-de-postgreSQL">celui-ci</a> si vous constatez des problèmes avec le moniteur de ressources et/ou Photo Station par exemple..</p>
<p><a href="https://klaasstrong.wordpress.com/2010/12/02/4/" hreflang="en" title="klaasstrong">source</a></p>