Surveiller ses serveurs avec Ruby et Jabber
Voici un tout petit programme de moins de 20 lignes permettant très simplement de surveiller un serveur grâce aux protocoles Jabber.
Il suffit de créer un compte Jabber spécifique pour le serveur à surveiller, et de l'ajouter dans votre liste de contacts, celui-ci apparaitra avec pour status la charge du système, pratique ! non ?
En prérequi, il vous faut juste le gem xmpp4r-simple, installez le comme ceci :
sudo gem install xmpp4r-simple
Le code est très facilement étendable selon vos besoins, je vous laisse faire...
require 'rubygems' require 'xmpp4r-simple' LOGIN='le_compte_du_serveur@im.apinc.org' PASS='lepass' DEST='votre_compte_perso@im.apinc.org' begin $im = Jabber::Simple.new(LOGIN, PASS) $im.deliver(DEST, "Hello !") loop do $im.status(nil, `hostname`.strip + ' : ' + `cat /proc/loadavg`.split.first(3).join(' ')) sleep 30 end rescue => e p e; sleep 10 retry end
Lancez maintenant le script :
ruby jabber.rb
Voilà un petit aperçu du résultat dans Pidgin :