web-dev-qa-db-fra.com

Quels outils utilisez-vous pour surveiller un serveur Web?

Quels outils utilisez-vous pour surveiller un serveur Web Ubuntu? Plus précisément, j'aimerais surveiller la disponibilité du serveur, l'utilisation des ressources (RAM, CPU, bande passante, etc.), Apache, MySQL et PHP.

47
Olivier Lalonde

Nagios est mon outil de surveillance préféré. Il peut surveiller les serveurs Web, les services, les hôtes, etc. Il est hautement personnalisable et de nombreux plugins sont disponibles à des fins diverses.

Quelques caractéristiques de nagios:

  • Surveiller les services réseau (SMTP, POP3, HTTP, NNTP, PING, etc.)
  • Surveiller les ressources de l'hôte (charge du processeur, utilisation du disque, etc.)
  • Permettre une conception simple du plugin
  • Faire des contrôles de service parallélisés
  • Définir une hiérarchie d’hôtes réseau à l’aide de
  • Contacter les administrateurs lorsque des problèmes de service ou d'hôte surviennent
  • Définir les gestionnaires d'événements à exécuter pendant les événements de service ou d'hôte pour la résolution proactive des problèmes
  • Rotation automatisée des fichiers de log
  • Soutenir la mise en œuvre d'hôtes de surveillance redondants
  • Offrir une interface Web optionnelle pour visualiser l’état actuel du réseau, les notifications et l’historique des problèmes, le fichier journal, etc.

Voici une démo en ligne: http://nagioscore.demos.nagios.com/

23
aneeshep

munin et ses plugins sont tout ce dont vous avez besoin.

Il vérifie les ressources (comme le font les autres), mais contrairement à elles, il est complètement non interactif. Il écrit un lot de fichiers HTML et de graphiques à chaque mise à jour. Vous pouvez automatiquement les compresser et les envoyer par e-mail (le script doit être votre travail, mais ce serait simple) ou vous pouvez les rendre disponibles via Apache et al (liez simplement la racine d'un virtualhost à /var/www/munin/).

L'énorme avantage par rapport aux autres avenues (interactives) est que ce n'est pas un risque pour la sécurité. L'exécution de Webmin (à titre d'exemple) signifie qu'un processus est en cours d'exécution avec lequel les gens peuvent communiquer. C'est un vecteur d'attaque dans votre système. Et étant une application assez populaire, cela signifie qu’elle est bien ciblée par les personnes qui scriptent des serveurs.

C'est peut-être un peu "chapeau en papier d'aluminium", mais la sécurité est vraiment beaucoup plus facile à utiliser lorsque vous n'avez que quelques vecteurs à couvrir.

22
Oli

Pour une vue en direct , je me connecterais à l'aide de ssh, puis exécuterais htop (pour cpu, mem) et nload pour la charge du réseau.

htop et nload sont disponibles dans les dépôts Ubuntu.

16
LassePoulsen

Cela dépend des besoins. Mais ceci est ma pile de surveillance

  1. Nagios : J'utilise nagios comme système de surveillance centralisé pour vérifier la santé de chaque serveur. Il m'alerte si quelque chose ne va pas. Par exemple, des alertes sont définies pour des situations telles que si mon temps de réponse à une API dépasse une valeur seuil.
  2. Monit : Si quelque chose devient totalement fou, Monit s'en occupe. Supposons que n'importe quel composant de ma pile tombe en panne. Cela me prévient et l’amène à ma place.
  3. Logstash : Toute activité suspecte enregistrée dans mes journaux me permet de savoir.
  4. SeaLion : Maintenant tout ce qui précède me permet de savoir s'il y a eu un problème avec ma pile. Mais ce qui a causé le problème, je débogue avec SeaLion. Auparavant, je consignais les sorties des outils de profilage système tels que sar, top, uptime, iostat, vmstat, netstat etc dans des fichiers. Mais gérer ces énormes journaux devenait impossible pour moi. SeaLion exécute toutes ces commandes et les affiche dans un magnifique format chronologique. Mentionnons également que l'installation est tellement simple et facile.

SeaLion output

13
stylusbrook

Si vous avez besoin d’une information simple et rapide, Ubuntu dispose d’un outil appelé landscape-sysinfo

Cela affichera: charge du système, utilisation du disque dur, utilisation de la mémoire, nombre de processus et adresses IP de votre boîte.

Il suffit d'entrer dans votre console:

landscape-info
3

Si vous avez besoin de quelque chose qui évolue (en d’autres termes, vous pourriez finir par surveiller plusieurs serveurs Web, serveurs DNS, etc.), alors je vous recommande Cacti .

La courbe d’apprentissage est plus abrupte que la plupart des autres, mais je l’avais utilisée dans le passé pour collecter plus de 800 statistiques par minute provenant de diverses sources. Le processus de collecte, dans la mesure où il est threadé, prend environ 40 secondes.

Il utilise RRDtool pour représenter graphiquement les sources. C'est basé sur le Web et c'est dans les dépôts.

2
Scaine

J'aime utiliser un package que Webmin utilisera probablement.

C'est un programme basé sur le Web qui vous permet de surveiller presque toutes les statistiques de serveur, il vous permet de modifier les options d'alimentation (telles que l'arrêt, le redémarrage). Vous pouvez ajouter des utilisateurs, démarrer/arrêter des services et presque tout ce que vous devez faire pour un serveur. Je vous recommande de l'essayer!

Ici est un bon tutoriel pour l'installer

Il dit Jaunty, mais devrait fonctionner avec n’importe quelle version d’Ubuntu :)

Webmin est cependant considéré comme très peu sécurisé.

2
russjr08

"Quels outils utilisez-vous pour surveiller un serveur Web Ubuntu?"

Je préfère les solutions maison aux gros paquets volumineux comme Nagios, qui ont tendance à inonder ma boîte de réception déjà inondée. J'ai une petite machine Linux Ubuntu fonctionnant sur mon réseau local:

http://www.newegg.com/Product/Product.aspx?Item=N82E1685611907

Il collecte des informations à partir d'autres boîtes (y compris les serveurs Web) à l'aide de scripts personnalisés, puis envoie un courrier électronique à un utilisateur local. Il exécute Postfix (SMTP) et Dovecot (POP3) afin que Postfix reçoive l'e-mail et le remet à Dovecot. Ensuite, j'utilise Thunderbird sur mon bureau pour pointer sur Dovecot et récupérer les messages générés.

J'ai constaté que si je ne construisais pas sur mesure, je finissais par recevoir un zillion de messages que j'ignore tout simplement, même s'il y a un problème que je dois examiner. Les jolis graphismes sont sympas, mais on vous dit précisément quel est le problème, mais il est bien mieux. Cependant, un contrôle raffiné comme celui-ci n'est possible qu'avec un logiciel personnalisé.

1
daoperator

http://packages.ubuntu.com/serverstat

C'est quelques PHP scripts qui pilotent rrdtools et ne nécessitent pas MySQL comme cacti.

0
Lester Cheung