alex-braga.fr - Tutos 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>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>