Rassurez vous, je ne vais pas parler de religion.
Depuis quelques semaines déjà, j’utilise God afin de monitorer efficacement les divers processus sur mon serveur.

Ca fonctionne bien. Mais visualiser rapidement l’état de ceux-ci n’est pas évident car il faut pour cela se connecter en SSH et faire un « god status ». Pas super cool.
Après avoir cherché et pas trouvé d’interfaces web pour God, j’ai donc décidé de m’attaquer à en faire une.

Voici donc aujourd’hui la première version de l’interface entre God et les humains, j’ai nommé Jesus.
Il s’agit d’une application Ruby utilisant Sinatra.

Pour le moment, une seule action est possible : visualiser les processus gerés par God et voir si ils sont exécutés ou non.
Mais à l’avenir, il sera également possible de visualiser les logs pour chacun des processus.
Et de démarrer ou arrêter en « live » des processus.

Alors n’hésitez pas à y jeter un coup d’oeil et à me transmettre vos remarques :)

9 Réponses à “Jesus 0.0.1”

  1. Palleas dit :

    On peut avoir un screen de ce que ça rend? :o

  2. Damien dit :

    Vi. Je fais ça asap.

  3. segle dit :

    T’as pas osé garder iJesus ?

    Enfin en tout cas ça fait une belle collection de noms sympa, tout ça. Jesus qui utilise Sinatra pour s’interfacer avec God.

    Sinon pareil, j’ai envie de voir ce que ça rend :)

  4. Damien dit :

    Et je lance l’application sur ma machine avec Unicorn !

    J’ai fait un screenshot. Regardez la page du projet pour voir ce que ça donne.

  5. JB dit :

    Excellente initiative ! En plus ça me permet de découvrir un peu Sinatra. J’utilise un peu god sur mes machines perso, et j’espère pouvoir mettre ça au boulot dès qu’on aura fini d’intégrer du Puppet ou du Chef.

    J’aurais donc quelques questions :
    - God::Socket.socket(17165) => le 17165 est pris au hasard, c’est une convention pour god, ou autre ? Et pas de problème de conflit avec d’autres sockets unix ?
    - est-il possible de monitorer depuis un serveur central les god’s de plusieurs serveurs, et si oui, Jesus permet(tra)-t-il de le supporter ?
    - qu’est ce que c’est que ces .DS_store dans le dépôt ? ;)

    Autre chose, tu évoques Unicorn dans ton dernier commentaire, un retour d’expérience là dessus ?

    Bonne continuation

  6. Damien dit :

    Ou as-tu vu des .DS_Store ? Il n’y en a plus normalement.

    Pour le port, c’est celui par défaut de God.
    Je n’ai pas encore implémenté de fichier de configuration. Donc pour le moment, ce n’est pas personnalisable.
    Mais cela va venir.

    Non il n’est pas possible de monitorer plusieurs serveurs depuis une même machine. God ne supporte pas l’identification sur le port qu’il ouvre.
    Donc ce port n’est ouvert que en local, par mesure de sécurité.

    Je n’ai pas encore réellement de retour d’expérience sur Unicorn. Mais je me prépare à migrer RefStats sur du NGinx + Unicorn.
    Je pourrai donc bientôt en parler :)

  7. JB dit :

    Okay merci pour ces précisions ! Pour le(s) .ds_store, il y en avais uniquement dans lib/ en fait.

  8. Jérémy dit :

    J’ai eu l’occasion d’utiliser BluePill pour gérer les tâches (lourdes) de fond d’une application Rails au boulot, et je pense que vous devriez y jeter un coup d’oeil. Je l’utilise pour gérer mes workers Resque, un genre de BackgroundJobs, mais avec une approche différente, et qui implémente une interface Web pour garder un oeil sur le travail des workers.

    Quelques liens qui vont bien :

    BluePill :
    http://asemanfar.com/Why-We-Wrote-Bluepill
    http://github.com/arya/bluepill

    Resque :
    http://github.com/blog/542-introducing-resque
    http://github.com/defunkt/resque

  9. Damien dit :

    Je ne connais pas Bluepill. Je vais regarder ce que ça donne, merci.

    Quant à Resque, je connais, bien que je ne l’utilise pas (encore?)

Laisser une réponse

 
Fork me on GitHub