Stratégies de surveillance des infrastructures


12

Dernièrement, j'ai dû faire face à des temps d'arrêt sur certains des sites Drupal que j'ai déployés. Je voudrais aborder le problème de manière proactive, plutôt que de réagir à ces temps d'arrêt en redémarrant les services ou le serveur lui-même. J'ai lu sur les outils de surveillance comme nagios, munin, cacti, etc. pour surveiller la santé de votre serveur / infrastructure, mais je n'en ai pas vraiment essayé un en production. Je traite avec Drupal presque 99% des fois, et je voudrais trouver des suggestions pour la surveillance au niveau du serveur et la surveillance au niveau Drupal (code d'application).

Fondamentalement, je voudrais être averti lorsque la charge du serveur est élevée, pouvant être dirigée vers le coupable (ou la victime), afin que je puisse prendre des décisions éclairées. Je voudrais également savoir ce que les gens utilisent pour la surveillance de niveau Drupal (comme l'emailing) quand il y a une erreur / un avertissement PHP. (Que se passe-t-il lorsque le serveur de messagerie lui-même est en panne?)

Réponses:


6

Si vous voulez surveiller plusieurs sites Drupal au même endroit avec des alertes, etc ... je peux dire que vous n'êtes pas le seul. Cela commence à être un créneau commercial, désormais rempli par:

Les deux sont des approches SaaS commerciales, avec des options limitées gratuites pour essayer le service.

Il existe également l' option de surveillance Open Source Zabbix avec son module Drupal http://drupal.org/project/zabbix , mais vous devez ensuite configurer et construire vous-même le serveur.

Toutes ces options ont leurs modules Drupal pour envoyer des informations spécifiques au serveur et à Drupal au serveur de surveillance.

MISE À JOUR. Munin possède également un module Drupal spécifique , avec une branche 2.x basée sur Drush.


J'ai essayé une nouvelle relique avec drupal et je dois dire que c'est vraiment très complet dans le bon sens la plupart du temps (xhprof est plus ou moins un bon substitut pour les traces de transaction dans NR mais la collecte de données est indespensible). J'ai également entendu parler de l'adoption de nagios par drupal.org pour la surveillance, merci pour votre réponse, j'attendrai quelques jours de plus avant de le sélectionner.
Dipen

5

Indépendamment de ce que vous utilisez, la seule chose que je suggérerais certainement est - à moins que vous n'ayez un personnel informatique à plein temps - ne maintenez pas votre propre surveillance: comptez sur un service qui est complètement indépendant de vos serveurs. C'est une chose d'avoir un serveur accessible au public, c'est une autre de l'avoir et de ne pas le savoir parce que votre serveur de surveillance est également en panne. La plupart des services de surveillance comprendront toutes les exigences que vous avez énumérées hors de la boîte.

Mais au risque de devenir une question de recommandation d'achat, le service que j'utilise pour les exigences que vous avez énumérées est Pingdom :

  • Vous dit si un site est en place (bien sûr)
  • Mesure le temps nécessaire pour répondre
  • Mesure la réactivité et la disponibilité sur n'importe quel port TCP / UDP personnalisé
  • Vérification de la disponibilité des e-mails
  • Permet des requêtes HTTP personnalisées, vous permettant de tester différents aspects de votre application
  • Rapports complets
  • Surveillance mondiale, et ils ajoutent environ une douzaine de sites de surveillance supplémentaires tous les quelques mois

J'utilise déjà site24x7.com et aussi pingdom (pour un site diff) pour les alertes, je voulais une surveillance qui m'informe de manière proactive sur l'utilisation des ressources ou les problèmes potentiels et s'intègre étroitement à l'environnement du serveur. Merci pour votre réponse.
Dipen

2

Voici quelques suggestions Drupal-agnostiques:

  • Are My Sites Up enverra régulièrement un ping à vos serveurs et vous enverra un e-mail (ou un SMS si vous obtenez le package non gratuit) si votre site est hors ligne ou ne répond pas.
  • Load Impact est un autre excellent outil gratuit qui peut soumettre votre site Web à des tests de résistance afin que vous puissiez savoir exactement quand il commence à échouer.

En ce qui concerne l'application Drupal elle-même, je suggérerais d'utiliser Xdebug + Webgrind ou XHProf pour profiler le code et garder un œil sur cette question: Meilleur moyen de comparer les performances de la pile Drupal


Merci de m'avoir informé de l'impact de la charge, j'ai utilisé jmeter, mais il me faut plus de travail pour configurer vos plans de test, etc. J'espère que l'impact de la charge peut gérer les simulations authentifiées par Drupal.
Dipen

1

J'aime pingdom pour les sites petits / moyens car il est utile: il vous dit que quelque chose ne va pas du point de vue du client, ce qui est exploitable. Des choses comme la moyenne de charge ne signifient vraiment rien, sauf si vous avez une pile extrêmement mal configurée (que vous ne devriez pas) ou si vous vous faites marteler par Digg / Reddit (auquel cas il n'y a rien que vous puissiez faire de toute façon, vous devriez avoir préparé).

Du blog de Ted Dziuba:

J'appelle ces types d'alertes Cool Story, Bro pour faire court. Ce sont des informations qui n'indiquent aucune sorte d'état de problème et ne provoquent aucune action. Les histoires cool sont des choses pour lesquelles vous ne devriez même pas avoir d'alertes. Ils perdent votre temps et vous rendent paranoïaque. Les alertes Cool Story Bro sont des choses comme:

  • La charge moyenne sur un serveur est supérieure à 20.
  • Une file d'attente de travaux contient plus de X unités de travail. Félicitations, dipshit, votre file d'attente fait exactement ce qu'elle est censée faire.
  • Une métrique est supérieure à une moyenne déterminée empiriquement. Je suis personnellement offensé par une merde comme ça.

Lisez le billet de blog, c'est hilarant.


0

J'utilise check_drupal pour surveiller divers sites drupal. Il s'agit d'un plugin nagios qui ne nécessite aucune modification de code sur un site drupal lui-même. La seule exigence est que le drush doit être présent sur le serveur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.