« Mise en place de statistiques avec Cacti » : différence entre les versions

Aller à la navigation Aller à la recherche
aucun résumé des modifications
Aucun résumé des modifications
 
(12 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Category:serveur]]
[[Category:serveur]]
[[Category:debian]]
[[Category:debian]]
[[Category:monitoring]]
'''<span style="color: red;">Tuto plus vraiment à jour (écrit a l'origine pour debian lenny)</span>'''
[[Category:toupdate]]
Le logiciel de statistiques mrtg est de plus en plus souvent délaissé au profit de rddtool. Plus complet mais aussi plus difficile à configurer, des outils comme Cacti permettent de faciliter son utilisation.
Le logiciel de statistiques mrtg est de plus en plus souvent délaissé au profit de rddtool. Plus complet mais aussi plus difficile à configurer, des outils comme Cacti permettent de faciliter son utilisation.


Ligne 37 : Ligne 42 :


Si vous utilisez open_basedir pour sécurisez le php de vos vhosts, il va falloir ajouter les répertoires <code>/usr/share/cacti/</code>, <code>/etc/cacti/</code>, <code>/usr/share/php/adodb/</code>, <code>/usr/bin/</code>, <code>/bin/</code>, <code>/sbin/</code> et <code>/var/log/cacti/:/usr/share/rrdtool/fonts/</code> au open_basedir de votre vhost. Dans mon cas :
Si vous utilisez open_basedir pour sécurisez le php de vos vhosts, il va falloir ajouter les répertoires <code>/usr/share/cacti/</code>, <code>/etc/cacti/</code>, <code>/usr/share/php/adodb/</code>, <code>/usr/bin/</code>, <code>/bin/</code>, <code>/sbin/</code> et <code>/var/log/cacti/:/usr/share/rrdtool/fonts/</code> au open_basedir de votre vhost. Dans mon cas :
<pre>php_admin_value open_basedir /srv/http/admin.csnu.org/:/usr/share/cacti/:/etc/cacti/:/usr/share/php/adodb/:/usr/bin/:/bin/:/sbin/:/var/log/cacti/:/usr/share/rrdtool/fonts/</pre>
<pre>php_admin_value open_basedir /srv/http/admin.domain.tld/:/usr/share/cacti/:/etc/cacti/:/usr/share/php/adodb/:/usr/bin/:/bin/:/sbin/:/var/log/cacti/:/usr/share/rrdtool/fonts/</pre>


Etant donné que vous donnez l'accès à beaucoup de répertoires, il serait peut-être bon de sécuriser le dossier /usr/share/cacti/site/ avec un .htaccess. De cette manière, en cas de faille sur cacti, vous vous assurez de que personne ne pourra l'exploiter sur votre serveur.
Etant donné que vous donnez l'accès à beaucoup de répertoires, il serait peut-être bon de sécuriser le dossier /usr/share/cacti/site/ avec un .htaccess. De cette manière, en cas de faille sur cacti, vous vous assurez de que personne ne pourra l'exploiter sur votre serveur.
Ligne 55 : Ligne 60 :
Depuis debian squeeze, il n'est plus nécessaire d'utiliser les directives <code>com2sec</code>. Modifiez les lignes suivantes dans <code>/etc/snmp/snmpd.conf</code> :
Depuis debian squeeze, il n'est plus nécessaire d'utiliser les directives <code>com2sec</code>. Modifiez les lignes suivantes dans <code>/etc/snmp/snmpd.conf</code> :
<pre>
<pre>
#accès complet à partir de localhost :
rocommunity public  localhost
sysLocation    Epsilon Eridani System         
sysLocation    Epsilon Eridani System         
sysContact    root <root@csnu.org>
sysContact    root <root@domain.tld>
</pre>
</pre>


Ligne 68 : Ligne 76 :


Si vous utilisez open_basedir pour sécurisez le php de vos vhosts, il va falloir ajouter les répertoires <code>/usr/share/cacti/</code>, <code>/etc/cacti/</code>, <code>/usr/share/php/adodb/</code>, <code>/usr/bin/</code>, <code>/bin/</code>, <code>/sbin/</code> et <code>/var/log/cacti/:/usr/share/rrdtool/fonts/</code> au open_basedir de votre vhost. Dans mon cas :
Si vous utilisez open_basedir pour sécurisez le php de vos vhosts, il va falloir ajouter les répertoires <code>/usr/share/cacti/</code>, <code>/etc/cacti/</code>, <code>/usr/share/php/adodb/</code>, <code>/usr/bin/</code>, <code>/bin/</code>, <code>/sbin/</code> et <code>/var/log/cacti/:/usr/share/rrdtool/fonts/</code> au open_basedir de votre vhost. Dans mon cas :
<pre>php_admin_value open_basedir /srv/http/admin.csnu.org/:/usr/share/cacti/:/etc/cacti/:/usr/share/php/adodb/:/usr/bin/:/bin/:/sbin/:/var/log/cacti/:/usr/share/rrdtool/fonts/</pre>
<pre>php_admin_value open_basedir /srv/http/admin.domain.tld/:/usr/share/cacti/:/etc/cacti/:/usr/share/php/adodb/:/usr/bin/:/bin/:/sbin/:/var/log/cacti/:/usr/share/rrdtool/fonts/</pre>


Etant donné que vous donnez l'accès à beaucoup de répertoires, il serait peut-être bon de sécuriser le dossier /usr/share/cacti/site/ avec un .htaccess. De cette manière, en cas de faille sur cacti, vous vous assurez de que personne ne pourra l'exploiter sur votre serveur :
Etant donné que vous donnez l'accès à beaucoup de répertoires, il serait peut-être bon de sécuriser le dossier /usr/share/cacti/site/ avec un .htaccess. De cette manière, en cas de faille sur cacti, vous vous assurez de que personne ne pourra l'exploiter sur votre serveur :
Ligne 76 : Ligne 84 :
AuthDigestProvider file
AuthDigestProvider file
AuthDigestDomain /
AuthDigestDomain /
AuthUserFile /srv/http/admin.csnu.org/main/.htpasswd
AuthUserFile /srv/http/admin.domain.tld/main/.htpasswd
AuthGroupFile /srv/http/admin.csnu.org/main/.htgroup
AuthGroupFile /srv/http/admin.domain.tld/main/.htgroup


<Limit GET POST>
<Limit GET POST>
Ligne 109 : Ligne 117 :
Cliquez sur <code>Next</code>. La dernière page récapitule la présence des différents binaires nécessaires. Si vous n'avez aucune erreur, vous pouvez cliquer sur <code>Finish</code>. Vous êtes alors redirigé sur la page de login de cacti. Loguez vous avec l'utilisateur <code>admin</code> et le mot-de-passe <code>admin</code>. Cacti vous demandera immédiatement de choisir un nouveau mot-de-passe puis vous vous retrouverez sur la page principale de Cacti.
Cliquez sur <code>Next</code>. La dernière page récapitule la présence des différents binaires nécessaires. Si vous n'avez aucune erreur, vous pouvez cliquer sur <code>Finish</code>. Vous êtes alors redirigé sur la page de login de cacti. Loguez vous avec l'utilisateur <code>admin</code> et le mot-de-passe <code>admin</code>. Cacti vous demandera immédiatement de choisir un nouveau mot-de-passe puis vous vous retrouverez sur la page principale de Cacti.


''Pour debian lenny uniquement : sélection de la police :''<br />
Dans le menu de gauche, partie <code>Configuration</code>, cliquez sur <code>Settings</code> puis sur <code>Paths</code>. Vérifiez qu'un fichier de font est présent à la ligne <code>RRDTool Default Font Path</code>. Si aucun fichier de font n'est présent, ajoutez <code>/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf</code> et sauvegardez.
Dans le menu de gauche, partie <code>Configuration</code>, cliquez sur <code>Settings</code> puis sur <code>Paths</code>. Vérifiez qu'un fichier de font est présent à la ligne <code>RRDTool Default Font Path</code>. Si aucun fichier de font n'est présent, ajoutez <code>/usr/share/rrdtool/fonts/DejaVuSansMono-Roman.ttf</code> et sauvegardez.


Ligne 128 : Ligne 137 :
Remontez en haut de la page et cliquez sur <code>Create Graphs for this Host</code>. Cochez les différents graphiques que vous souhaitez utiliser puis cliquez sur <code>Create</code>.
Remontez en haut de la page et cliquez sur <code>Create Graphs for this Host</code>. Cochez les différents graphiques que vous souhaitez utiliser puis cliquez sur <code>Create</code>.
Les graphiques sont maintenant créés. Dans quelques dizaines de minutes vous pourrez voir les premiers résultats dans l'onglet <code>Graphs</code>.
Les graphiques sont maintenant créés. Dans quelques dizaines de minutes vous pourrez voir les premiers résultats dans l'onglet <code>Graphs</code>.
=Configuration de SNMP et Cacti pour récupérer les statistiques d'un serveur local=
Nous allons voir comment configurer snmp sur un serveur distant afin de récupérer ses statistiques sur notre cacti.
Installez snmp sur le serveur distant :
<pre>aptitude install snmp snmpd</pre>
Éditez le fichier <code>/etc/snmp/snmpd.conf</code> :
<pre>
#permet d'écouter sur l'ip 87.98.136.217 et sur toutes les ipv6
agentAddress  udp:127.0.0.1:161,udp:192.168.0.2:161
rocommunity internal  192.168.0.0/24
sysLocation    Epsilon Eridani System
sysContact    root@celestis.domain.tld
</pre>
Avec cette configuration, l'accès sera autorisé à toutes les machines sur le réseau 192.168.0.
Relancez snmpd :
<pre>/etc/init.d/snmpd restart</pre>
En ce qui concerne la configuration snmp de cacti il suffit de sélectionner les champs suivants lors de la configuration du device :
<pre>
SNMP Version : Version 1
SNMP Community : internal
</pre>
A la section <code>Associated Data Queries</code> les graphiques :
* <code>SNMP - Get Mounted Partitions</code> permet d'obtenir l'état de toutes les partitions (y compris le taux d'utilisation de la mémoire et du swap)
* <code>SNMP - Interface Statistics</code> permet d'obtenir les statistiques réseaux.
* <code>SNMP - Get Processor Information</code>
A la section <code>Associated Graph Templates</code>, vous pouvez utiliser les graphiques :
* <code>ucd/net - CPU Usage</code>
* <code>Host MIB - Logged in Users</code>
* <code>ucd/net - Load Average</code>
* <code>ucd/net - Memory Usage</code>


=Configuration de SNMP et Cacti pour récupérer les statistiques d'un serveur distant=
=Configuration de SNMP et Cacti pour récupérer les statistiques d'un serveur distant=
Ligne 133 : Ligne 180 :
Nous allons voir comment configurer snmp sur un serveur distant afin de récupérer ses statistiques sur notre cacti.
Nous allons voir comment configurer snmp sur un serveur distant afin de récupérer ses statistiques sur notre cacti.


Installez cacti sur le serveur distant :
Installez snmp sur le serveur distant :
<pre>aptitude install snmp snmpd</pre>
<pre>aptitude install snmp snmpd</pre>


Ligne 140 : Ligne 187 :
#permet d'écouter sur l'ip 87.98.136.217 et sur toutes les ipv6
#permet d'écouter sur l'ip 87.98.136.217 et sur toutes les ipv6
agentaddress 87.98.136.217,udp6:161
agentaddress 87.98.136.217,udp6:161
</pre>


#com2sec paranoid default        public
Éditez le fichier <code>/var/lib/snmp/snmpd.conf</code> :
#com2sec readonly  default        public
<pre>
#com2sec readwrite default        private
createUser system  SHA "abcdefgh" DES
</pre>
N'oubliez pas de remplacer le <code>abcdefgh</code> par un mot-de-passe de votre choix !


#Créé un utilisateur system avec le mot-de-passe abcdefgh
Éditez le fichier <code>/etc/snmp/snmpd.conf</code> :
createUser system MD5 abcdefgh DES
<pre>
group groupv3            usm      system
rouser  system
view    all included  .iso      80
access groupv3        ""        any      auth      exact    all        all        all
</pre>
</pre>
N'oubliez pas de remplacer le <code>abcdefgh</code> par un mot-de-passe de votre choix !


Relancez snmpd :
Relancez snmpd :
4 203

modifications

Menu de navigation