Author: glen Date: Tue Mar 14 22:00:01 2006 GMT Module: SOURCES Tag: HEAD ---- Log message: - based on arekm's mon-jabber.alert
---- Files affected: SOURCES: nagios-jabber.alert (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: SOURCES/nagios-jabber.alert diff -u /dev/null SOURCES/nagios-jabber.alert:1.1 --- /dev/null Tue Mar 14 23:00:01 2006 +++ SOURCES/nagios-jabber.alert Tue Mar 14 22:59:56 2006 @@ -0,0 +1,76 @@ +#!/usr/bin/python -u +# [EMAIL PROTECTED], 2006-01 +# [EMAIL PROTECTED], 2006-03-14 +# usage: +# jabber.alert -J from_jid -P password to_jid1 to_jid2 to_jid3 + +import os +import re +import sys +import getopt +import string +import time + +from pyxmpp.jid import JID +from pyxmpp.message import Message +from pyxmpp.jabber.client import JabberClient + +try: + opts, args = getopt.getopt(sys.argv[1:], "J:P:") +except getopt.GetoptError, e: + print "%s: %s " % (sys.argv[0], e) + sys.exit(1) + +jid = None +password = None + +for o, a in opts: + if o == '-J': + jid = a + if o == '-P': + password = a + +recpt = args + +if jid == None or password == None: + print "%s: jid (-J) and password (-P) are required" % sys.argv[0] + sys.exit(1) + +if recpt == None: + print "%s: recipient jids are required" % sys.argv[0] + sys.exit(1) + + +subject = "Nagios alert" +server = None +port = None + +body = "" +stdin_body = "" +do_print = True +for line in sys.stdin.readlines(): + stdin_body += line + +body += stdin_body + +message_type = 'chat' + +jid = JID(jid) +if not jid.resource: + jid = JID(jid.node, jid.domain, "Nagios") + +class Client(JabberClient): + def session_started(self): + for r in recpt: + jid_r = JID(r) + msg = Message(to_jid = jid_r, body = body, subject = subject, stanza_type = message_type) + self.stream.send(msg) + self.disconnect() +c = Client(jid, password, server = server, port = port) +c.connect() +try: + c.loop(1) +except: + print "problem: %s" % e + c.disconnect() +c.disconnect() ================================================================ _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
