hpsmartyz Posté(e) le 27 février 2011 Auteur Partager Posté(e) le 27 février 2011 Installation du plugin 'syslog' (v0.5.2) A ce jour il existe une version plus récente (1.0.5) de ce plugin mais celle-ci semble particulièrement buggée. Je préconise donc l'utilisation de la version discutée ici. Ce tutoriel suppose que vous avez installé Cacti dans le répertoire /var/services/web/ Ce tutoriel réutilise les identifiants définis lors de l'installation de Cacti (nom-du-user-cacti et son mot de passe mot-de-passe). Adaptez les instructions ci-dessous en fonction de votre installation de Cacti. Pré-requis il faut avoir installé la PIA (voir ici) il faut avoir installé le plugin 'settings' (voir ici) il faut avoir installé syslog-ng (voir ici, en fait ce lien ne fonctionne plus (le fil de discussion n'est plus accessible. Cependant PatrickH a recréé un tutoriel voir ici) il faut aussi le binaire mkfifo (vous pourrez trouver le binaire dans le pack coreutils en zone téléchargement, pour les architectures arm et ppc. Pour les autres il faudra installer coreutils via ipkg) Installation du plugin Téléchargez le ici Copiez l'archive dans un répertoire du Synology (/tmp par exemple), puis dans ce répertoire: shell> tar -zxvf syslog.tar.gz shell> mv syslog /var/services/web/cacti/plugins/ Import de la base de données Vous avez la possibilité de créer les tables liées à syslog au sein de la base de données de Cacti (créée lors de l'installation de Cacti) ou bien en dehors de cette dernière, au sein d'une base de données que vous définiriez. Dans le premier cas, tapez (où nom-de-la-base représente le nom de la base de données de Cacti) shell> cd /usr/syno/mysql/bin shell> ./mysql -u root -p nom-de-la-base < /var/services/web/cacti/plugins/syslog/syslog.sql Dans le second cas, tapez (où nom-de-la-base représente le nom de la base de données syslog) shell> cd /usr/syno/mysql/bin shell> ./mysqladmin --user=root -p create nom-de-la-base shell> ./mysql -u root -p nom-de-la-base < /var/services/web/cacti/plugins/syslog/syslog.sql Définition des privilèges shell> cd /usr/syno/mysql/bin shell> ./mysql -u root -p mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'nom-du-user-cacti'@'localhost' IDENTIFIED BY 'mot-de-passe'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'nom-du-user-cacti'@'nom-hote' IDENTIFIED BY 'mot-de-passe'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'root'@'localhost'; mysql> GRANT ALL PRIVILEGES ON nom-de-la-base.* TO 'root'@'nom-hote'; mysql> exit Application des droits shell> cd /usr/syno/mysql/bin shell> ./mysql -u root -p mysql> FLUSH PRIVILEGES; mysql> exit Edition du fichier de configuration shell> vi /var/services/web/cacti/plugins/syslog/config.php Il contient par défaut ces lignes: $database_default = "syslog"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactiuser"; Modifiez le premier et les deux derniers paramètres avec les valeurs nom-de-la-base, nom-du-user-cacti et mot-de-passe respectivement. Note: Pour des questions de "sécurité", je vous engage à supprimer l'historique des commandes passées sous mysql, historique qui se trouve dans votre home (et donc /root) shell> cd /root shell> cat /dev/null > ~/.mysql_history ou bien shell> cd /root shell> $ > ~/.mysql_history Modification du script de lancement de syslog-ng Assurez vous que syslog-ng soit arrêté, autrement tuez le process, puis modifiez le fichier de lancement: shell> vi /opt/etc/init.d/S01syslog-ng de telle sorte à avoir ce qui suit: #!/bin/ash # # (re)start script for syslog-ng # # stopping all running processes whether they exist or not kill -9 $(pidof syslog-ng) 2>/dev/null kill -9 $(pidof sh /opt/sbin/syslogtomysql.sh) 2>/dev/null rm -f /tmp/mysqlsl.pipe # restarting processes sh /opt/sbin/syslogtomysql.sh & /opt/sbin/syslog-ng -f /opt/etc/syslog-ng/syslog-ng.conf Création du script syslogtomysql.sh shell> cd /opt/sbin shell> vi syslogtomysql.sh Recopiez le texte ci dessous. #!/bin/ash rm -f /tmp/mysqlsl.pipe /path/to/mkfifobinary /tmp/mysqlsl.pipe while [ -e /tmp/mysqlsl.pipe ] do /usr/syno/mysql/bin/mysql -u nom-du-user-cacti --password=mot-de-passe nom-de-la-base < /tmp/mysqlsl.pipe done Attention: assurez vous bien de remplacer nom-du-user-cacti, mot-de-passe et nom-de-la-base par vos informations spécifiques. De même, vous n'êtes pas obligés de créer le pipe à l'endroit indiqué par ce script, ni même de lui donner le nom indiqué. Si vous changez le chemin ou le nom de ce pipe il faudra répercuter ces modifications dans le fichier de configuration de syslog-ng (voir plus bas). Changez /path/to/mkfifobinary pour refléter le chemin complet du binaire mkfifo sur votre système. Finalement, assurez vous de bien mettre le chemin absolu pour la commande mysql. Le risque autrement est que le script s'exécute mal au (re)boot du Synology, empêchant la création du lien entre syslog-ng et la base de données. Cela serait à priori dû au fait que certaines variables d'environnement ne sont pas encore chargées au moment du lancement du script rendant l'appel à mysql ineffectif. Changement des permissions sur le script syslogtomysql.sh shell> chmod 755 /opt/sbin/syslogtomysql.sh shell> chown root:root /opt/sbin/syslogtomysql.sh Modification du fichier de configuration de syslog-ng shell> vi /opt/etc/syslog-ng/syslog-ng.conf Pour les besoins de Cacti le fichier de configuration complet peut être comme suit: # syslog-ng configuration file options { #prevents syslog-ng from trying to re-write hostnames keep_hostname(yes); #if keep_hostname(no), let's use dns use_dns(no); # use_dns(persist_only); # dns_cache_hosts("/etc/hosts"); #and let's use syslog-ng internal caching, avoiding /etc/hosts to be read each time #but then it is not clear if a change to /etc/hosts will be instantaneous or at end #of expiry time dns_cache(no); # dns_cache(yes); # dns_cache_size(10); # dns_cache_expire(86400); #markers mark_freq(3600); stats_freq(3600); }; source local { pipe("/proc/kmsg"); unix-stream("/dev/log"); unix-stream("/var/run/log"); internal(); }; source net { udp(ip(XXX.XXX.XXX.XXX) port(514)); }; destination mysql { pipe("/tmp/mysqlsl.pipe" template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message) VALUES ( '$HOST_FROM', '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG' );\n") template-escape(yes)); }; log { source(net); destination(mysql); }; log { source(local); destination(mysql); }; Attention: assurez vous que la longue ligne commençant par template( et se terminant par $MSG' );\n") ne soit pas scindée en deux lignes. Adaptez le chemin du pipe si vous l'avez modifié dans le script syslogtomysql.sh. Les lignes relatives à la capture d'évènements externes à votre Synology (mais provenant de votre réseau local): source net { udp(ip(XXX.XXX.XXX.XXX) port(514)); }; log { source(net); destination(mysql); }; ne vous sont utiles que si vous avez des éléments de réseau qui envoient des notifications syslog vers votre Synology. Si elles le sont, changez l'adresse XXX.XXX.XXX.XXX en celle de votre Synology sur votre réseau local. Le manuel de référence de syslog-ng se trouve là. Modifications des droits d'accès au répertoire syslog shell> cd /var/services/web/cacti/plugins/ shell> chown -R root:root syslog shell> cd syslog shell> find . -type f -exec chmod 644 '{}' \; shell> find . -type d -exec chmod 755 '{}' \; Activation du plugin shell> vi /var/services/web/cacti/include/config.php Rajoutez, à la ligne 35: $plugins[] = 'settings'; La nécessité de déclarer ainsi le plugin 'settings' est due au fait que le plugin 'syslog' est conçu sur la base d'une ancienne version de la PIA. Puis connectez vous à Cacti, et dans Console>Configuration>Plugin Management cliquez sur la flèche bleue : Autorisation des utilisateurs Cacti à utiliser ce nouveau plugin Connectez vous à Cacti Utilities > User Management Sélectionnez un utilisateur (normalement admin, mais ça dépend à qui vous voulez donner les droits) Puis dans l'onglet Realm Permissions, cochez les cases View Syslog et Configure Syslog Alerts / Reports Sauvegardez Vous devriez avoir un onglet supplémentaire sous Cacti permettant la visualisation des logs. Il vous reste à peaufiner le fichier de configuration de syslog-ng en fonction de vos besoins (notamment appliquer des règles de filtrage) et éventuellement adapter le temps de stockage des logs dans la base de donnée. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 3 mars 2011 Partager Posté(e) le 3 mars 2011 Apparemment le bin de php a 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 3 mars 2011 Auteur Partager Posté(e) le 3 mars 2011 ah??? moi j'ai bien un binaire php dans /usr/bin tu as fait quoi comme manip lors du passage à la 3.1 ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 4 mars 2011 Partager Posté(e) le 4 mars 2011 Je viens de re checker, j'ai bien les bin en fait, pourtant j'aurais jur 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 4 mars 2011 Auteur Partager Posté(e) le 4 mars 2011 sous telnet, peux-tu taper: more /usr/syno/etc/php.ini | grep safe_mode et poster ici le r 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 4 mars 2011 Partager Posté(e) le 4 mars 2011 Effectivement j'avais 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 4 mars 2011 Auteur Partager Posté(e) le 4 mars 2011 ah bah peux-tu lancer la même commande sur le fichier: /usr/syno/etc/php/user-setting.ini ? merci de plus, es-tu sûr que tes packages ipkg sont tjrs là et accessibles? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
KanTak Posté(e) le 4 mars 2011 Partager Posté(e) le 4 mars 2011 Bonjour, Tout d'abord merci pour ce tuto, très bien rédigé ! Je l'ai suivi à la lettre et CACTI fonctionne : URL répond et je peux me logguer. Par contre, même problème : j'ajoute 2 hosts (411J et Pc portable sous Seven) et pour les deux hosts, j'ai l'erreur snmp error. J'ai vérifié la variable safe_mode_exec_dir sur les deux fichiers indiqués et la variable est bien à vide. J'ai cherché sur g**gle "snmp error cacti" mais je n'ai rien trouvé d'intéressant pour m'aider à résoudre. Je regarde les logs cacti mais rien d'exploitable. Si tu as une piste, je suis preneur. Merci par avance. @++ [edit] Si ça peut aider, je viens de faire un rebuild du cache pool et relancer la commande [i]DiskStation> /usr/bin/php /var/services/web/cacti/poller.php OK u:0.01 s:0.01 r:4.93 OK u:0.01 s:0.01 r:4.93 ps: invalid option -- a BusyBox v1.16.1 (2011-02-25 19:05:42 CST) multi-call binary. Usage: ps Report process status Options: w Wide output OK u:0.01 s:0.02 r:5.13 OK u:0.01 s:0.02 r:5.14 OK u:0.01 s:0.02 r:5.18 OK u:0.01 s:0.02 r:6.41 PHP Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /volume1/web/cacti/lib/ping.php on l ine 265 OK u:0.01 s:0.02 r:6.98 03/04/2011 10:19:12 PM - SYSTEM STATS: Time:7.7388 Method:cmd.php Processes:1 Threads:N/A Hosts:3 HostsPerProces s:3 DataSources:9 RRDsProcessed:7 [/i] 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 4 mars 2011 Auteur Partager Posté(e) le 4 mars 2011 heureusement que j'ai deux syno ... faut chercher un peu les amis. :-) Dans DSM 3.1 je viens de voir que dans: Services Web > Param 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
KanTak Posté(e) le 4 mars 2011 Partager Posté(e) le 4 mars 2011 Bonsoir, Merci d'avoir r 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 4 mars 2011 Auteur Partager Posté(e) le 4 mars 2011 Salut, d 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
KanTak Posté(e) le 4 mars 2011 Partager Posté(e) le 4 mars 2011 Bonsoir, Je suis all 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 5 mars 2011 Auteur Partager Posté(e) le 5 mars 2011 je viens de comprendre alors que j'émergeais des bras de Morphée. la détection de l'état de l'hôte se fait via ping et/ou snmp ping. le firewall doit bloquer ces tests biens qu'ils soient fait en local quelle méthode de détection d'hote as-tu choisie dans cacti? si ping, alors crée une règle personnalisée dans le firewall, autorisant le protocole ICMP, (ou TCP/UDP + port séléctionné; fonction de ton choix dans cacti) avec l'ip de ton NAS sur le réseau privé si snmp ping alors crée une règle sélectionnée dans la liste d'application, choisissant service snmp (port 161) , avec l'ip de ton NAS sur le réseau privé si les deux méthodes sont choisies alors crée les deux règles 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
KanTak Posté(e) le 5 mars 2011 Partager Posté(e) le 5 mars 2011 Bonsoir, J'ai termin 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 5 mars 2011 Auteur Partager Posté(e) le 5 mars 2011 salut, as-tu affin 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 6 mars 2011 Partager Posté(e) le 6 mars 2011 Hello, C'est bon pour moi (je n'utilise pas le FW, je sais c'est mal !), d 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 6 mars 2011 Auteur Partager Posté(e) le 6 mars 2011 ok cool. merci aucun mal à ne pas utiliser le fw! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 7 mars 2011 Partager Posté(e) le 7 mars 2011 re Bonjour ! J'ai 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 7 mars 2011 Auteur Partager Posté(e) le 7 mars 2011 re Bonjour ! J'ai 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nicouchot Posté(e) le 8 mars 2011 Partager Posté(e) le 8 mars 2011 Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Collori Posté(e) le 8 mars 2011 Partager Posté(e) le 8 mars 2011 Bonjour à tous, j'essaie, tant bien que mal, de terminer mon installation ^^. J'en suis arrivé à l'étape de configuration sur la page "ip-du-syno/cacti/install/index.php". Sur cette page, un joli message d'erreur : Warning: file_exists(): open_basedir restriction in effect. File(/bin/php) is not within the allowed path(s): (/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog:/var/services/homes:/opt/bin:/opt/share/rrdtool/fonts) in /volume1/web/cacti/install/index.php on line 102 Warning: file_exists(): open_basedir restriction in effect. File(/sbin/php) is not within the allowed path(s): (/usr/bin/php:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog:/var/services/homes:/opt/bin:/opt/share/rrdtool/fonts) in /volume1/web/cacti/install/index.php on line 102 Warning: exec(): PHP exec disable. in /volume1/web/cacti/install/index.php on line 284 Je préfère régler ce problème avant d'aller plus loin. Si quelqu'un reconnait ce problème... ? S'il vous faut d'autre informations, demandez. Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 8 mars 2011 Auteur Partager Posté(e) le 8 mars 2011 salut, es-tu en DSM 3.1? Si ce n'est pas le cas c'est que tu n'as pas suivi le tuto à la lettre (enfin il se peut qu'il y ait une erreur ) Si tu es en 3.1 je n'avais pas encore mis le tuto à jour pour. il l'est maintenant. Vérifie que tu as bien configuré PHP depuis l'interface d'admin de plus vérifie que tu as bien modifié /var/services/web/cacti/install/index.php 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
AlStukov Posté(e) le 11 mars 2011 Partager Posté(e) le 11 mars 2011 Bisoir à tous Bon alors alors apres galéré sur 2 - 3 trucs pour mon install, Ca à l'air de marcher seul bémol.. Il prend tous les fichiers images / html à la racine (en gros ya pas de http://ip/cacti/nomdelimage mais que des http://ip/nomdelimage) Et c'est pareil pour tous les liens pour aller d'une page à l'autre dans cacti si je ne modifie pas dans la barre d'adresse j'tombe toujours sur le bon nom mais à la racine du serv web pas avec le /cacti/ au milieu.. Ca ce modifie comment ? Ou alors j'ai fais une connerie à quel niveau car apres avoir bien vu et fait le tutos lentement je vois pas ou j'ai merdé Edit : Je me répond à moi même Si yen a qui cherche qui on comme moi eu aucune image c'est dans /web/cacti/include/config.php à la ligne "$url_path =" c'est la ou il fallait spécifié pour mon cas /cacti/ pour que tous marche correctement niveau lien et image 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 11 mars 2011 Auteur Partager Posté(e) le 11 mars 2011 Bonjour, je ne suis pas s 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 19 mars 2011 Auteur Partager Posté(e) le 19 mars 2011 petite question aux utilisateurs. pour ceux qui sont dans la configuration suivante: DSM 3.x Cacti 0.8.7g PIA 2.9 et le plugin syslog install 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.