Supervision avec cacti

Aller un petit tuto classique parmi les classiques : Un tuto d’installation et d’utilisation de cacti. Il y a 2 serveurs, le supervisé (A) et le superviseur (B) avec simplement comme paramètre a surveillé le CPU/RAM et BP. Je reviendrais dans un prochain post pour approfondir le monitoring.

En 3 étapes :
1 / Installation et configuration de Snmpd
2 / Installation et configuration de Cacti
3 / Exemple d’utilisation

1 / Installation et configuration de Snmpd

1.1 Installation

Sur le serveurs supervisé (A) et le serveur superviseur (B) comme cela on monitorera les 2.

#apt-get install snmpd snmp

1.2 Configuration

Pour que superviseur (B) puisse faire des requetes snmp sur supervisé (A) il faut modifié le fichier /etc/default/snmpd afin de ne pas limiter l’écoute a seulement le localhost.
Retirer 127.0.0.1

# nano /etc/default/snmpd

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1′

Ce qui donne ceci

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid’

On va a présent activé l’accés en lecture, modifier le nom de la communauté et limiter l’accés a uniquement l’ip du serveur superviseur.

# nano /etc/snmp/snmpd.conf

Ce qui devrait donner quelque chose comme ceci :

#com2sec paranoid  default         public
com2sec readonly  ipserveurB         zecommunity
#com2sec readwrite default         private

Puis relancé le service :

# /etc/init.d/snmpd restart

1.3 Test

Sur le serveur superviseur (B) on va utiliser l’outils snmpwalk pour vérifier que le serveur A répond bien au B.

# snmpwalk -Os -c zecommunity -v 1 ipduserveur system

Si il ne répond pas vous obtenez ce message :

Timeout: No Response from localhost

Si il répond bravo la première partie est finit.

2 / Installation et configuration de Cacti

2.1 / Avoir un LAMP

Sur le serveur B

# apt-get install phpmyadmin mysql-server php5 php5-cli php-pear

On répond aux questions :

Configuration de phpmyadmin -> Cochez apache2 (avec la barre espace) puis OK (avec la touche TAB et Entrer).
Configuration de mysql-server-5.0 -> Entrer votre mot de pass root pour mysql (différent du root système).

2.2 / Installer les dépendances nécessaire à cacti

Sur le serveur B

# apt-get install snmpd snmp php5-snmp lm-sensors rrdtool sensord

2.3 / Installer cacti avec les dépôts (debian et ubuntu)

Sur le serveur B

# apt-get install cacti

On répond aux questions :

Configuration de libphp-adodb ->  ok
Configuration de cacti > Apache2
Configuration de la BDD de cacti avec dbconfig-common ->  Oui
Mot de passe de l’administrateur de la base de données -> Le mot de passe root de mysql que vous avez indiqué a l’étape 1.
Mot de passe de connexion MySQL pour cacti -> Donner un password pour que cacti se connecte a mysql (pas le même que le root si possible…).

2.4 / Finir l’installation de cacti

Sur le serveur B

Dans votre navigateur web rentrez http://l’ipduserverB/cacti/.
Une fenêtre d’installation apparait. Suivez les instruction qui apparaissent.

Pour la première authentification le login est admin et le mdp est admin.Vous êtes obligé d’en choisir un nouveau (si possible toujours différent des autres hein).

L’installation est terminé on va passer à la configuration.

3 / Exemple d’utilisation

3.1 / Creer un device

Dans un premier temps on va creer un nouveau device qui sera le Serveur A.

  • Identifier vous dans http://l’ipduserverB/cacti/
  • Dans l’onglet console cliquer sur « Create devices for network ».
  • Cliquez sur « add » en haut a droite

A présent on va renseigner les champs pour :

Description : Nom du serveur A
Hostname : Son IP
Host Template : ucd/net SNMP Host

Dans « SNMP Options »
SNMP Community : zecommunity
SNMP Version : Version 1

Cliquez sur « create ».
Vous devez obtenir une page type :

SNMP Information
System: Linux nomduserveurA 2.6.22.5-xxxx-std-ipv4-32 #2 SMP Thu Apr 24 16:22:22 CEST 2008 i686
Uptime: 162668 (0 days, 0 hours, 27 minutes)
Hostname: nomduserveurA
Location: Unknown (configure /etc/snmp/snmpd.local.conf)
Contact: Root root@localhost (configure /etc/snmp/snmpd.local.conf)

3.2 Créer un nouveau graphique

Toujours sur la page du device que vous venez de creer cliquer sur « Create Graphs for this Host ».

  • Dans « Graph Template Name » cochez a droite ce que vous voulez monitorer.
  • Dans « Data Query » cochez l’interface qui correspond a l’ip du serveur A.
  • Dans Select a graph type: choisissez In/Out Bytes with Total Bandwidth

Validez.

3.3 Créer un nouveau « Graph Tree »

Cacti est orgranisé comme un arbre avec plusieurs branche et chaque « host » fait partie d’une branche. On va donc creer une nouveau branche pour ServeurA

Dans le menu de gauche, cliquez sur « Graph Tree » puis sur « Add » à droite de la nouvelle page.

Entre le nom qui décrit la nouvelle branche et cliquez sur create.

Ajouter un « Tree Item » et selectionné ceci :

Parent Item [root]
Tree Item Type Host
Host ipduserveurA
Graph Grouping Style Graph Template

Cliquez sur « create » !

C’est terminé !!! A présent vous pouvez aller sur l’onglet « Graph » et selectionner le serveur A. Il ne reste plus qu’a attendre quelques minute le temps que les données arrivent.

Source :

http://www.debuntu.org/how-to-monitor-your-servers-with-snmp-and-cacti