Cacti

Prérequis

Un serveur web (nginx) avec PHP

Un serveur MySQL 5 ou supérieur

Installation

Pour commencer, nous installons le service snmpd :

# apt-get install snmpd

puis on édite sa configuration en remplaçant la ligne export MIBS= par export MIBS=ALL dans /etc/default/snmpd.

On modifie ensuite le fichier /etc/snmp/snmpd.conf. On décommente la ligne #rocommunity public localhost.

L'étape suivant consite à installer les non-free MIB files. Mais avant cela, nous devons ajouter cette liste de paquets dans notre installation en modifiant /etc/apt/sources.list dans lequel nous ajoutons non-free au bout de la ligne indiquant le dépôt, dans mon cas :

deb http://debian.mirrors.ovh.net/debian/ wheezy main non-free
deb-src http://debian.mirrors.ovh.net/debian/ wheezy main non-free

Nous devons ensuite redémarrer le service snmpd :

# apt-get update
# apt-get install snmp-mibs-downloader
# service snmpd restart

Reste l'installation de cacti et spine :

# apt-get install cacti cacti-spine

L'installation de cacti va alors se dérouler. On nous demande sur un premier écran le serveur web, nous répondons none car nous souhaitons utiliser nginx qui n'est pas dans les choix possible.

On nous demande ensuite pour la configuration de la base de donnée, nous acceptons.

Nous suivons ensuite les étapes visuel proposer. Elle nous demanderons des mots de passe pour configurer Cacti avec MySQL.

Configuration

nginx

Nous allons maintenant faire la configuration coter nginx en créant un fichier, par exemple cacti dans /etc/nginx/sites-available (sans SSL ici).

server {
listen 80;
listen [::]:80;
root /usr/share/cacti/site;
index index.php index.html index.htm;
server_name localhost;
location / {
location ~/rra {
allow 127.0.0.1;
deny all;
}
location ~ \.php$ {
fastcgi_intercept_errors on;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php5-fpm.sock;
expires epoch;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location ~ \.(jpg|jpeg|gif|png|ico)$ {
access_log off;
expires 33d;
}
}
location /javascript {
alias /usr/share/javascript;
}
location /robots.txt {
return 200 "User-agent: *\nDisallow: /";
}
}

On active ensuite le site et on relance notre nginx via les commandes :

# ln -s /etc/nginx/sites-available/cacti /etc/nginx/sites-enabled/
# service nginx restart

Pour finir avec la configuration web, dans le cas ou nous avons un sous-domaine configurer spécialement pour notre système, on édite le fichier /usr/share/cacti/site/include/config.php dans lequel on décommente la ligne :

//$url_path = "/cacti/";

On modifie cette même ligne afin que Cacti soit disponible sans passer par un sous-dossier comme suit :

$url_path = "/";

Cacti

Web

Notre interface web étant disponible, nous allons nous y connecter afin de procéder à l'installation. Si tout se passe correctement, le système nous redirige automatiquement vers l'installeur.

S'agissant d'une nouvelle installation, et les information de connexion à la base de données étant déjà configurer lors de l'installation, nous avons juste à continuer

Dans le cas ou toute les étapes d'installation ont été correctement suivie, tout devrait être vert et prêt à fonctionner.

Après avoir valider, on est rediriger vers la page de connexion. Par défaut, les identifiants sont les suivants :

User Name : admin
Password : admin

A la première connexion, on nous demande de changer de mot de passe.

Malgré ce changement de mot de passe, il est tout de même conseiller de créer un nouvelle utilisateur et désactiver le compte admin.

Plugins

Clients snmp

Coter client, c'est assez simple. Pour commencer, on installe le paquet nécessaire avec

# apt-get install snmpd

Nous allons ensuite éditer le fichier de configuration /etc/snmp/snmpd.conf pour :

Commenter la ligne agentAddress udp:127.0.0.1:161

Décommenter la ligne agentAddress udp:161,udp6:161

Commenter rocommunity public default -V systemonly et rocommunity6 public default -V systemonly

Ajouter deux nouvelles lignes rocommunity NomCommunaute IPServeur et rocommunity6 NomCommunaute IPServeur

Customiser les deux lignes sysLocation et sysContact

Une fois terminer, on redémarre le service

# service snmpd restart