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 :
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 :
- Sécurité web: faites-vous partie du problème ?
- Accélérer Php
- 4 outils pour créer et visualiser des plans de site
- La collaboration à distance
Les visiteurs qui ont vu cette page ont consulté ensuite :
- Comment optimiser le développement d’un projet avec une page de démarrage (23 lectures)
- Le panneau de debug de Loomiz (21 lectures)
- 5 gestionnaires de bugs très web 2.0 (15 lectures)
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.
Un rétrolien à propos de “Surveiller son serveur avec Cacti” :
-
links for 2009-12-24
Le 24 December 2009 à 21:00
6 commentaires à propos de “Surveiller son serveur avec Cacti” :
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…”.
Talonescu le 21 December 2009 à 11:36 (#1)
Je viens de la corriger. Merci Talonescu !
Stéphane le 21 December 2009 à 11:56 (#2)
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
Cedric le 21 December 2009 à 14:43 (#3)
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,
Antoine le 21 December 2009 à 21:08 (#4)
+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
Simon le 22 December 2009 à 08:39 (#5)
@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
Jean-Philippe le 22 December 2009 à 09:04 (#6)
Ajouter un commentaire