Surveillance et reprise automatique des Services sur un serveur
Une liste d’outils pour surveiller votre site était publiée ici récemment. Comme écrit dans l’article, ces services sont très simple à mettre en place, gratuits, et vous donne un moyen rapide de vous alerter dès que le site web est inaccessible de vos visiteurs. Ils ont aussi l’avantage d’être fonctionnel avec n’importe quel site web, sans tenir compte si c’est sur un serveur partagé, virtuel ou dédié.
Pour ceux qui ont des serveurs dédiés, ou ceux qui ont besoin d’une couche supplémentaire de sécurité, la prochaine étape est généralement d’installer et de mettre en place un logiciel de surveillance sur votre serveur. Ce logiciel ou script va avoir la tâche d’inspecter les services-clés chaque minute, dépendamment de vos préférences, et le rédemarrera en cas de trouble.
Remarque: Ce qui suit s’applique seulement pour ceux qui ont un serveur Linux dédié (accès au terminal)
Si vous avez besoin d’un service de base, runit est un service Linux standard, qui va surveiller les tâches en cours sur une machine Linux. Si la tâche meurt, runit va la rédemarrer automatiquement. Runit est assez simple à configure, prend très peu de ressources sur un serveur, bien que certains pourraient trouver l’interface par ligne de commande difficile. Voir une liste de services et de logiciels qui peuvent être gérés par runit.
La prochaine étape après Runit sont des logiciels qui surveillent l’utilisation du CPU, la consommation mémore, et la disponibilité des ports. Un des plus simples que vous pouvez trouver est god. God utilise des fichiers de configuration très simple, avec des règles sur l’utilisation limite des ressources, et aussi des outils de notification par email. Un de ses plus gros défauts est qu’il utilise Ruby, ce qui signifie que vous devez installer le langage ainsi que des librairies associées comme Ruby Gems, et aussi prévoir de la mémoire RAM supplémentaire. Cependant, si vous avez une application web utilisant Ruby on Rails ou Merb, god est la solution toute indiquée. Voir par exemple le code ici:
w.restart_if do |restart|
restart.condition(:memory_usage) do |c|
c.above = 150.megabytes
c.times = [3, 5] # 3 out of 5 intervals
end
restart.condition(:cpu_usage) do |c|
c.above = 50.percent
c.times = 5
end
end
Beacoup plus facile d’accès que runit, n’est-ce pas?
Bien sûr, le problème avec runit ou god est qu’ils peuvent ne pas se conformer avec votre définition d’un outil de surveillance. Beaucoup pensent à une interface graphique, l’enregistrement du comportement du serveur. Il y a ici 2 choix: Nagios ou Monit. Les 2 sont des logiciels Libres, avec Nagios étant le plus complexe, avec une architecture extensible par plug-ins, et toutes les fonctionnalités que vous désirerez d’un service de surveillance (comme des données historiques, emails, téléphones, gestion des incidents). D’un autre côté, Monit est plus facile à installer et à configurer. Voir ci-dessous une capture d’écran de M/Monit:

Si vous utilisez un autre logiciel de surveillance, n’hésitez pas à le mentionner ci-dessous

Blog
Forums
Statut

1 décembre 2008 5:51
[...] procédures détaillées sur la gestion des problèmes techniques sur le serveur, comment gérer la croissance du traffic, le développement de votre logiciel de site web, ou même que faire dans les cas d’attaques [...]
16 janvier 2009 10:32
[...] Surveillance et Reprise automatisé des services web [...]