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
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/
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,
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.
- 1. Quelle est la meilleure façon de contextualiser un grand nombre de définitions de style Css?
- 2. Quelle est la meilleure façon de gérer un grand nombre de tables dans MS SQL Server?
- 3. Meilleure façon de surveiller un processus pour démarrer
- 4. Quelle est la meilleure façon d'écrire dans un fichier Ruby?
- 5. Quelle est la meilleure façon de surveiller un groupe d'utilisateurs ebay dans mon application?
- 6. Quelle est la meilleure façon d'organiser les styles WPF et ResourceDictionaries dans un grand projet?
- 7. Meilleure façon d'automatiser un processus de publipostage
- 8. Meilleure façon de surveiller un serveur sur un port TCP
- 9. Quelle est la meilleure façon d'exposer l'API de mon serveur?
- 10. Quelle est la meilleure façon de rafraîchir un indice Nutch?
- 11. Quelle est la meilleure façon de localiser un IEnumerable?
- 12. Quelle est la meilleure façon d'effacer un tableau de chaînes?
- 13. Quelle est la meilleure façon de déboguer un écrasement explorer.exe?
- 14. Quelle est la meilleure façon de chiffrer un clob?
- 15. Quelle est la meilleure façon de vider un répertoire?
- 16. Quelle est la meilleure façon de structurer un projet?
- 17. Quelle est la meilleure façon de déboguer un Oracle SP?
- 18. quelle est la meilleure façon de marquer un texte?
- 19. Meilleure façon de passer un grand nombre d'arguments dans une boîte de dialogue de configuration
- 20. Quelle est la meilleure façon de créer un alias aux attributs dans Ruby?
- 21. Quelle est la meilleure façon de permettre à plusieurs processus de modifier une lucene?
- 22. Quelle est la meilleure façon d'interroger le nombre de lignes à partir des données de base?
- 23. Quelle est la meilleure façon de trouver l'inverse de datetime.isocalendar()?
- 24. Quelle est la meilleure façon de concevoir une base de données pour Ruby on Rails?
- 25. Quelle est la meilleure façon de remplacer du texte dans un fichier en utilisant C#/.NET?
- 26. Quelle est la meilleure façon d'exécuter un processus continu dans son propre thread?
- 27. Quelle est la meilleure approche de recherche?
- 28. Quelle est la meilleure façon d'implémenter un délai AJAX?
- 29. Quelle est la meilleure façon d'enregistrer un RichTextFile en C#?
- 30. Quelle est la meilleure façon de planifier une tâche d'envoi d'e-mails avec Ruby on Rails?
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. –