Quel est l'intérêt d'utiliser runit en combinaison avec monit?

8

Je vois beaucoup de gens utiliser monit en combinaison avec runit. N'est-ce pas redondant? Quel est l'intérêt d'utiliser également runit? Est-ce parce qu'il est plus fiable lorsqu'il s'agit de services (car il ne repose pas sur des fichiers pid)?

Merci!

Milan Novota
la source

Réponses:

4

Je n'avais jamais entendu parler de runit , mais je suis un grand utilisateur de Monit ...

En regardant runit, je vois que c'est un remplacement init. Je dirais que la plupart des systèmes d'entreprise respectent leur init Sys V par défaut ou Upstart . Je ne pense pas que ce soit une pratique courante de le changer.

Cependant, la relation ici peut être que runit fournit un moyen pratique de générer Monit et de s'assurer qu'il reste en cours d'exécution. Peut-être similaire à l'exécution de Monit depuis inittab. Il s'agit essentiellement de «regarder l'observateur» ou de surveiller votre système de surveillance.

Dans la pratique, j'utilise Monit comme démon et je n'ai eu aucun problème de plantage ou de mort. Peut-être que l'attrait runitest qu'il offre une protection supplémentaire.

Quant à Monit, il fonctionne bien avec une correspondance de modèle de nom de processus au lieu de fichiers PID .

ewwhite
la source
1

runit est bien adapté pour contrôler les services et la journalisation et adhère également à unix-way: combinez facilement des pièces simples selon vos besoins. Il peut effectuer des vérifications et le traitement des événements des démarrages / arrêts de service, mais vous devrez écrire tout cela vous-même. Remarque: runit ne fonctionne pas si votre service ne peut pas s'exécuter au premier plan.

monit est correct pour contrôler les services (mais pas aussi bon que runit car vous devrez gérer vous-même la démonisation et la journalisation) et fonctionne également bien avec les processus d'auto-démonisation s'ils exposent un fichier pid correct. D'un autre côté, c'est vraiment génial pour regarder les services: traitement des événements, vérification des fuites de mémoire et autres. Il dispose également d'un joli tableau de bord pour parcourir les états de service (à la fois sur la ligne de commande et sur le Web) et d'un tableau de bord commercial m / monit pour obtenir des données de plusieurs serveurs.

De cette façon, l'utilisation de runit + monit devient la suivante:

  • runit utilisé pour la supervision du service, la journalisation, les redémarrages automatiques et ce genre de choses
  • Monit utilisé pour les notifications de changements d'état de service, des contrôles plus étendus et une surveillance de service de base
timurb
la source