## page was renamed from Projet/Supervision/NotificationParJabber <> = Configuration pour la notification par Jabber (XMPP) = == Le plugin (version python) == `/usr/lib/nagios/plugins/nagiosjabber.py` {{{ #!/usr/bin/python # -*- coding: utf-8 -* import sys,os,xmpp,string # Argument parsing if len(sys.argv) != 2 or sys.argv[1] == "-h" or sys.argv[1] == "--help": print "Usage : echo message | "+sys.argv[0]+" user@server" sys.exit(1) #maintenant nous devons definir le compte qui va etre connecté pour lancer le message source = {"compte" : "nagios.jabber@domain.com", "password" : "super-malin!"} # destinataire dest=sys.argv[1] #on peut se connecter au serveur #On créé l'objet de connexion jid = xmpp.protocol.JID(source['compte']) #on cherche le domaine du serveur par rapport à l'adresse client = xmpp.Client(jid.getDomain(), debug=[]) #on s'y connecte ... client.connect() #on s'authentifie avec le mot de passe : client.auth(jid.getNode(), source['password']) #et pour finir on envoie le message : client.send(xmpp.protocol.Message(dest, string.strip(sys.stdin.read()))) }}} == Intégration dans Nagios == * `/etc/nagios3/commands.cfg` : ajouter les lignes suivantes {{{ # 'notify-by-jabber' command definition define command{ command_name notify-by-jabber command_line /usr/bin/printf "%b" "Service: $SERVICEDESC$\nHost: $HOSTNAME$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\nInfo: $SERVICEOUTPUT$\nDate: $LONGDATETIME$" | /usr/lib/nagios/plugins/nagiosjabber.py $CONTACTPAGER$ } # 'host-notify-by-jabber' command definition define command{ command_name host-notify-by-jabber command_line /usr/bin/printf "%b" "Host '$HOSTALIAS$' is $HOSTSTATE$\nInfo: $HOSTOUTPUT$\nTime: $LONGDATETIME$" | /usr/lib/nagios/plugins/nagiosjabber.py $CONTACTPAGER$ } }}} * `/etc/nagios3/conf.d/contacts_nagios2.cfg` : pour chacune des personnes à alerter, ajouter la notification par jabber {{{ define contact{ contact_name moussa ... service_notification_commands notify-by-jabber,notify-by-email host_notification_commands host-notify-by-jabber,host-notify-by-email ... } }}} == Paquets à installer == * python-xmpp * python-dns == Relancer nagios == * vérification : `nagios3 -v /etc/nagios3/nagios.cfg` * si zéro erreur : `/etc/init.d/nagios3 restart`