2009-06-15 9 views
0

J'ai une ferme de plusieurs serveurs physiques exécutant chacun un grand nombre de "travailleurs" Ruby (processus de type démon) et je voudrais être en mesure de surveiller la santé et le progrès de ces processus à partir d'un emplacement central, peut-être avec graphique historique comme Cacti fournit. Quel est le protocole le plus simple de préférence-ouvert-standard pour faire quelque chose comme ça? S'il vous plaît noter que j'utilise déjà monit pour garder les processus opérationnels et sous contrôle; ce que je demande ici est un point d'entrée unique (tableau de bord) pour les vérifier. Merci.Quelle est la meilleure façon de surveiller un grand nombre de processus Ruby?

Répondre

1

Si vous utilisez déjà Monit alors M/Monit sonne comme un match parfait. « M/Monit élargir les capacités de Monit pour assurer la surveillance et la gestion de tous Monit a permis à des hôtes d'un simple à utiliser l'interface Web. » - http://mmonit.com/

+0

C'est une bonne chose, mais j'aimerais ajouter quelques mesures personnalisées, par exemple «combien de tâches le travailleur a-t-il traitées» et «combien de temps cela va-t-il prendre? Les travailleurs ont déjà cette information à leur disposition. J'ai juste besoin de l'avoir dans le panneau de contrôle. Il ne semble pas que M/Monit puisse faire des métriques personnalisées. –

0

G'day,

Qu'en est-il d'avoir un processus de surveillance sur chaque serveur qui vérifie l'état de chaque processus et écrit ensuite que vers un fichier texte, par exemple une fois toutes les cinq minutes.

Ensuite, un autre processus situé sur un serveur central peut récupérer ces fichiers plats et faire défiler les résultats et signaler tous les problèmes.

Si vous enregistrez les fichiers individuels et que vous les horodatez, vous pourrez également voir les tendances qui se forment.

Juste une idée rapide.

BTW Le système ci-dessus est utilisé pour surveiller les serveurs dans l'un des plus grands sites Web dans le monde. Nos scripts sont écrits en Perl avec un peu de script shell mais je ne vois pas pourquoi vous ne pourriez pas écrire vos scripts de monitoring dans Ruby.

HTH

acclamations,

0

Je vous suggère de jeter un oeil à Zabbix. Ce n'est pas aussi simple que le monit, bien sûr, mais il vous permet d'exécuter l'agent de collecte de données sur chacun de vos serveurs, tous les agents alimentant le serveur central de rapports et de stockage avec leurs données. Ces agents peuvent utiliser des scripts personnalisés pour obtenir les métriques. Vous pouvez écrire des scripts simples pour extraire les données dont vous avez besoin de vos employés, les renvoyer au serveur de génération de rapports central et les afficher dans le tableau de bord.

Questions connexes