J'ai utilisé Daemontools pour fournir un moyen simple et fiable de superviser les services UNIX sur mes serveurs. Cela fonctionne bien, mais cela nécessite une manière différente de penser ( la voie DJB ) et certaines plaintes courantes sont les suivantes:
Je me souviens que des Daemons similaires "superviseurs/watchdog" étaient dans les travaux il y a environ deux ans, mais certains étaient encore un peu rugueux autour des bords.
Si vous avez changé de Daemontools à quelque chose d'autre, qu'avez-vous choisi et que cela a-t-il bien fonctionné pour vous? Est-ce que RedHat ou Ubuntu viennent avec des utilitaires de superviseur de processus par défaut?
HRM, si vous utilisez Ubuntu, leur nouveau processus init, PSTART , comprend un niveau de supervision de processus. Il peut être utilisé pour votre démarrage et une halte standard de services, des scripts d'initialisation de LA SYSV, et il peut également surveiller les applications de fonctionnement et les réapparaître s'ils meurent.
Vous pouvez également implémenter le restaurateur de processus d'un homme pauvre via InitTAB, en fonction de vos besoins.
Si vous recherchez principalement quelque chose pour garder un œil sur un processus, assurez-vous qu'il est toujours en marche, puis redémarrez-le quand ce n'est pas le cas, j'ai eu une bonne chance avec RetaTartd . Malheureusement, la seule source pour cela que je connaisse est le paquet Debian. Cependant, c'est une application très petite et simple, essentiellement juste un seul fichier .C et .h, avec un fichier de fabrication. La compilation de la boucle de Debian Source sur Red Hat est triviale (je me suis même commis une RPM à mon emploi précédent).
Une dernière option que j'ai entendue, mais pas utilisée, est superviseur . Cela ressemble à un outil prometteur, mais Retatartd a assez bien fonctionné pour moi dans le passé, pour ce dont j'avais besoin, que je n'ai pas encore pris la peine de jouer avec elle.
+1 pour runit. Plus de fonctionnalités et flexibles que Daemontools, compatibles avec les arguments et les options de Daemontools existants. Très soigné.
Mais comme vous avez mentionné que beaucoup d'outils sont livrés avec leurs propres binaires de contrôle, Apache2CTL, EjabberdCtl, Pondrentl, Colyd, etc. et bien que les hacks existent, il est parfois préférable de s'en tenir aux outils fournis, principalement lorsque vous n'êtes pas sûr du plus propre Mise en œuvre possible. Je fais habituellement un compromis et la plupart des services sont exécutés sous la supervision de Runit. Et les autres peuvent être autorisés à courir en utilisant le chemin trivial.
Eh bien, il y a runit . Je ne peux pas vous dire quelles sont ses différences et ses similitudes avec Daemontools, mais à juger par le site Web de Berstein-Esque, je dirais qu'il y a une influence de Bernstein définitive.
Fedora semble sur le point de passer à SystemD: http://0pointer.de/blog/projects/systemd.html
Comme une alternative au déjà mentionné daemonize
et daemontools
, il existe la commande Daemon de l'emballage LibSlack.
daemon
est assez configurable et se soucie de toutes les trucs de démon fastidieux tels que le redémarrage automatique, la journalisation ou la manipulation du pidfile.
Il y a Supervisord
Ubuntu vient avec PSTART - Je ne sais pas grand chose à ce sujet, mais je sais que cela dispose de capacités "superviseur". Apple Launchd est une autre option (que Wikipedia Article a une belle section "Voir aussi" de la section qui répertorie également un groupe d'autres, y compris UPSTART & RUNIT).
Tous ont leurs bons points et leur propre marque spéciale de Übersuck - chaque fois que quelqu'un me pose des questions sur "Superviseur de processus"/"WatchDog" Programmes que je pose toujours la même question: pourquoi en avez-vous besoin d'un?