Surveiller son serveur avec Cacti

Publié le 21 Dec 09 à 07:01 | Catégorie : Développement Web | 7 commentaires

J’utilise actuellement deux serveurs pour héberger le site d’Hitomi Studio, celui de Cross Meter, ce blog et toutes les autres applications sur lesquelles je travaille. Il s’agit de Dedibox basées sur Debian 5 et configurées avec tous les packages nécessaires à une infrastructure LAMP robuste. Le serveur le moins puissant est utilisé pour les applications de développement (panneau de débogage, page de démarrage, gestion de la base de données, …) alors que l’autre est destiné à recevoir les applications accessibles de tous.

Or ce dernier a quand même la responsabilité d’une dizaine d’applications en environnement de production et de la moitié en environnement de staging (environnement de test qui permet de tester une application dans les mêmes conditions que si elle était déployée en production). Il faut donc être capable de surveiller la charge de ce serveur afin d’identifier rapidement d’éventuelles lacunes et de prévoir également une migration ou un redécoupage des applications avant qu’il ne soit mis en défaut. Et c’est là que Cacti rentre en jeu.

Cacti est une application gratuite de supervision de serveurs. Elle repose sur une base de données RRD. Pour information, il s’agit d’une base de données qui a toujours la même taille et qui permet de stocker des données cycliques ou chronologiques de manière infinie. Grâce à Cacti, il est donc possible de suivre les volumétries de différents types de données, comme l’espace disque, la mémoire disponible, le nombre de processus et bien plus encore. En fait, cette richesse fonctionnelle constitue à la fois son plus gros avantage, mais également à mon avis son inconvénient majeur.

En effet, l’installation de Cacti ne pose pas vraiment de problème, mais c’est sa configuration qui est passablement compliquée. Ceux qui ont eu l’occasion de mettre les mains dans cette application de monitoring savent déjà combien cette partie est délicate, car il faut mettre en place des sondes pour chaque type de données que l’on souhaite mesurer, mais également paramétrer Cacti par l’intermédiaire d’une interface et d’un jargon vraiment difficiles d’accès.

J’ai donc fait appel à un spécialiste pour la configuration de Cacti. Dans un premier temps, nous avons défini ensemble une liste des mesures les plus pertinentes à relever. La mise en place des sondes a posé ensuite plus ou moins de problèmes suivant les cas (il n’a pas été possible par exemple d’obtenir des données par base de données, car MySql fournit des informations uniquement pour le serveur lui-même), mais Cacti fournit désormais les indications générales suivantes :

  • Taux d’occupation des processeurs
  • Taux de charge
  • Mémoire utilisée
  • Trafic au niveau des interfaces réseau
  • Nombre de processus actifs
  • Nombre d’utilisateurs Unix connectés
  • Espace disque utilisé (par partition)
  • Nombre d’emails envoyés

Ainsi que les informations suivantes qui sont spécifiques à Apache :

  • Taux d’utilisation des processeurs
  • Nombre de requêtes par seconde
  • Nombre de données échangées par seconde
  • Nombre de threads en activité et en attente

Concernant la base de données MySQL, le nombre de mesures effectuées (environ une bonne cinquantaine) est trop important pour les aborder ici, d’autant plus que deux moteurs de base de données sont activés sur ces serveurs : MyISAM et InnoDB (les mesures sont alors différentes). De manière plus générale, les graphiques sont classés dans un arbre par catégorie afin d’améliorer la visibilité et la navigation de l’ensemble :

Exemple de données Cacti

Maintenant que Cacti est mis en place et correctement configuré, la prochaine étape (qui n’est pas pour tout de suite) consistera sûrement à tester les performances de ces serveurs pour isoler les points faibles de l’architecture et définir un capacity planning. Et pourquoi ne pas le coupler ensuite à un outil de notification comme Nagios ?

A lire également

Vous pouvez continuer votre lecture sur des sujets similaires en consultant les articles suivants :

Les visiteurs qui ont vu cette page ont consulté ensuite :

A savoir

La rédaction de cet article a nécessité 1 heure et 38 minutes. Si vous le souhaitez, vous pouvez être prévenu de la parution de nouveaux articles en vous abonnant par RSS ou par email.


6 commentaires à propos de “Surveiller son serveur avec Cacti” :

  1. Lecteur silencieux jusqu’à présent, je me permets de signaler une faute d’orthographe qui est récurrente sur ce blog. On ne dit pas “Hors ces derniers…” mais “Or ces derniers…”.

  2. Je viens de la corriger. Merci Talonescu !

  3. Si tes lecteurs recherchent qq chose de plus simple à configurer/installer, je leur conseille Munin et Monit. Tutorial sur Debian: http://www.howtoforge.com/serv.....onit_munin

  4. Salut Stéphane,

    +1 pour Monit, qui permet de notifier l’admin en cas de problème mais aussi de redémarrer un serveur qui consomme trop de resources, etc.

    Dedibox est à proscrire pour une application de prod, j’en ai fait l’amère expérience, leur support est nul, archi-nul. Si ta machine tombe en panne, tu n’auras aucun support valable et aucune possibilité de récupérer les données. OVH est beaucoup plus professionnel.

    Merci pour cet article,

  5. +2 pour Cédric.

    Monit / Munin / Logwatch, c’est vraiment très rapide à installer et à configurer, et ça permet d’avoir un bon monitoring à moindre frais ;)

  6. @Antoine Dans les faits, pour avoir utilisé Dedibox et OVH professionnellement, je dirais plutôt que leur support, c’est la loterie : il y a des gens bons, et des gens mauvais, des gens serviables, et d’autres non. Des alternatives commencent peu à peu à monter en Europe (France, Allemagne, Roumanie, etc.), ce qui promet des choses intéressantes pour l’avenir.

    @Stéphane @Antoine @Simon
    J’ai installé et configuré Munin en quelques minutes ce week-end, et me suis même lancé dans le développement de 3 sondes : super simple.
    Je pensais utiliser Cacti sur d’autres serveurs, mais là ce retour me fait un peu peur…
    Sinon je tripe déjà par avance de l’utilisation que je vais faire de NagVis sur certains parcs informatiques ;-)

Ajouter un commentaire

Les informations obligatoires sont indiquées par une étoile rouge *.


Un rétrolien à propos de “Surveiller son serveur avec Cacti” :

  1. links for 2009-12-24
    Le 24 December 2009 à 21:00

RT : Du changement : Auto-entrepreneur, pas de prorata temporis l'année de création -

Articles Récents

Les derniers articles publiés

A Propos

Je m’appelle Stéphane Thomas et je suis Ingénieur Senior expert dans le développement d'applications web complexes. Etant également un peu Entrepreneur, j'ai tenté l'aventure de la création d'un nouveau service Internet appelé Loomiz. Je suis maintenant le cofondateur d'Hitomi Studio, un studio de développement spécialisé dans la réalisation de sites ecommerce haut de gamme pour de jolies marques.

Lire la suite…