Pré-requis
-
Un LAMP
-
Un domaine fonctionnel sous Active Directory
Installation
-
L'installation depuis les paquets permet un paramétrage assez complet (crontab, permissions, binaires…) :
apt-get install php5-ldap libphp-adodb librrd4 php5-cli php5-snmp rrdtool dbconfig-common cacti cacti-spine snmp-mibs-downloader snmp snmpd
-
Répondre aux questions posées :
Mise à jour du php.ini | Ok |
---|---|
Server web | apache2 |
Faut-il configurer la base de données de cacti avec dbconfig-common | Oui |
Mot de passe de l'administrateur de la base de données | MySQL_Password |
Mot de passe de connexion MySQL pour cacti | Cacti_Password |
Confirmation du mot de passe | Cacti_Password |
Configurer la base avec dbconfig-common | Oui |
-
Pas la peine de se connecter au serveur pour procéder à sa mise à jour.
Mise à jour
Site
-
Télécharger et installer les dernières sources depuis : http://www.cacti.net/download_cacti.php :
cd /usr/src wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz tar -xzf cacti-0.8.8b.tar.gz mv /usr/share/cacti/site/ /usr/share/cacti/_site/ mv cacti-0.8.8b /usr/share/cacti/site/ chown www-data:www-data -R /usr/share/cacti/site/{rra,log}
VHost
-
Création du VirtualHost :
cat > /etc/apache2/sites-available/cacti.conf << EOF <VirtualHost 192.168.1.10:80> ServerName chronos ServerAlias chronos Redirect / https://chronos ErrorLog /var/log/apache2/chronos.log CustomLog /var/log/apache2/chronos.log combined </VirtualHost> Alias /cacti /usr/share/cacti/site <DirectoryMatch /usr/share/cacti/site> Options +FollowSymLinks AllowOverride None order allow,deny allow from all AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # this setting is necessary for some locales php_value mbstring.func_overload 0 php_value include_path . DirectoryIndex index.php </DirectoryMatch> <VirtualHost 192.168.1.10:443> ServerName chronos DocumentRoot /usr/share/cacti/site ErrorLog /var/log/apache2/chronos.log CustomLog /var/log/apache2/chronos.log combined Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription SSLEngine on SSLCertificateFile /etc/apache2/ssl/chronos.crt SSLCertificateKeyFile /etc/apache2/ssl/chronos.key </VirtualHost> EOF
-
Supprimer les fichiers de configurations (obsolètes) :
a2ensite cacti.conf rm /etc/apache2/conf-{enabled,available}/cacti.conf service apache2 restart
Crontab
-
On vérifie que la tâche planifiée est créée pour lancer le script poller.php :
cat /etc/cron.d/cacti
-
On peut vérifier les détails dans le fichier de log :
tailf /var/log/cacti/poller-error.log
Base de données
-
Lancer les commandes pour la configuration de la base de données, saisie des mdp et comptes utilisés par MySQL :
read -e -p "Mot de passe du compte root pour MySQL : " mysqlpass read -e -p "Nom de la base utilsee pour cacti : " -i "cacti" cactidb read -e -p "Utilisateur de connexion a la base cacti : " cactiuser read -e -p "Mot de passe du compte pour la base cacti : " cactipass
-
Sauvegarde, suppression et création de la BDD :
mysql -u root -e "create database _cacti" --password=$mysqlpass mysqldump -u root --password=$mysqlpass cacti | mysql -u root --password=$mysqlpass -h localhost _cacti mysql -u root -e "drop database cacti" --password=$mysqlpass mysql -u root -e "create database cacti" --password=$mysqlpass mysql cacti < /usr/share/cacti/site/cacti.sql --password=$mysqlpass mysql -u root -e "GRANT ALL ON $cactidb.* TO $cactiuser@localhost IDENTIFIED BY '$cactipass'" --password=$mysqlpass
-
Modification du fichier de configuration :
sed -i "s,database_default = "cacti",database_default = "${cactidb}" /usr/share/cacti/site/include/config.php sed -i "s,username = "cactiuser",username = "${cactiuser}",g' /usr/share/cacti/site/include/config.php sed -i "s,cactiuser,${cactipass},g" /usr/share/cacti/site/include/config.php
PHP
-
Vérifier que les modules nécessaires sont activés :
for i in cgi cli apache2; do cat /etc/php5/$i/php.ini | more; done
SNMP
-
Pour rendre accessible les MIB au travers de SNMP :
cp /etc/snmp/snmpd.conf{,.ori} sed -i "s,agentAddress udp:127.0.0.1:161,agentAddress udp:0.0.0.0:161,g" /etc/snmp/snmpd.conf sed -i 's,-V systemonly,,g' /etc/snmp/snmpd.conf sed -i 's,export MIBS=,export MIBS=ALL,g' /etc/default/snmpd /etc/init.d/snmpd restart
Connexion à l'interface Web
-
Se connecter à l'adresse http://chronos et répondre au questions :
Cacti Installation Guide | Next |
---|---|
New Install | Next |
Check – OK | Finish |
Utilisateur | admin |
---|---|
Mot de passe | admin |
-
A la première connexion, l'application force le changement du mot de passe, changer le. Si on attend un peu on peu voir 4 jolis graphes afficher les infos de notre serveur :o)
Settings
General
Path
-
Vérifier que tout est renseigné, en installation manuelle il manque le chemin de la police pour RRDTool Default Font
RRDTool Default Font | /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf |
---|
Poller
Graph Export
Visual
Authentification
Authentification LDAP
-
Configuration / Settings / Authentication :
Active Directory
General | |
---|---|
Authentication Method | LDAP Authentification |
Special Users | |
Guest User | No User |
User Template | Admin |
LDAP General Settings | |
Server | ldap.domain.tld |
Port Standard | 389 |
Port SSL | 636 |
Protocol Version | Version3 |
Encryption | None |
Referrals | Enable |
Mode | Specific Searching |
Distinguished Name (DN) | <username>@test.lan |
Require Group Membership | coché |
LDAP Group Settings | |
Group Distingished Name (DN) | cn=cacti-group,ou=Users,dc=test,dc=lan |
Group Member Attribute | member |
Group Member Type | Distingished Name |
LDAP Specific Search Settings | |
Search Base | ou=Users,dc=test,dc=lan |
Search Filter | (&(objectclass=user)(objectcategory=user)(userPrincipalName=<username>*)) |
Search Distingished Name (DN) | bind-cacti@test.lan |
Search Password | Password |
LDAP Error: Group DN could not be found to compare
LDAP Search Error: Unable to find users DN
Plugins
-
Liste des plugins : http://docs.cacti.net/plugin:settings
Installer et activer un plugin
-
Trois actions sont requises pour installer un plugin, le télécharger, le décompresser et l'activer.
-
Les deux premières se font en ligne de commande :
cd /usr/share/cacti/site/plugins wget http://docs.cacti.net/_media/mon_plugin.2.0.3.tgz tar -xzf mon_plugin.2.0.3.tgz
-
La dernière à partir de l'interface d'administration (Console) :
-
Se rendre sur l'onglet Console / Plugin Management
-
Actions : Install plugin (flèche bleue)
-
Actions : Enable plugin (flèche verte)
-
Discovery
-
Permet de récupérer les matériels connectés en effectuant un scan depuis le réseau : http://docs.cacti.net/plugin:discovery#discovery
-
En ligne de commande :
cd /usr/share/cacti/site/plugins wget http://docs.cacti.net/_media/plugin:discovery-v1.5-1.tgz mv plugin:discovery-v1.5-1.tgz discovery-v1.5-1.tgz tar -xzf discovery-v1.5-1.tgz
-
Activer le plugin et le paramétrer :
-
Console / Settings / Misc
-
Subnet(s) to scan | 192.168.1.0/24 |
---|---|
DNS Server | 192.168.1.1 |
Ping Method | ICMP |
SNMP Communities | public |
Poller Frequency | Every 1 Hour |
Start Time for Polling | 10 |
Rerun Data Queries | coché |
Create Graphs | coché |
-
Vérifier les droits liés à l'utilisateur :
-
Console / User Management / compteLDAP :
-
Dans Realm Permissions, cocher View Host Auto-Discovery
-
-
L'onglet discover doit normalement apparaitre :o)
SSO
-
piste : auth_login.php cacti ldap sso
Sources
Debug
-
En cas de problème de connexion avec la base de données :
dpkg-reconfigure cacti
-
Pour info, le répertoire des logs se trouve dans :
/var/log/cacti/