From 4e7674b8b534881052042b7de63b2a4a0bed9623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1ll=20Gu=C3=B0j=C3=B3n=20Sigur=C3=B0sson?= Date: Mon, 25 Oct 2010 13:38:36 +0000 Subject: [PATCH] --- .../trunk/scripts/check_eva/check_eva.exe | Bin 32256 -> 33792 bytes nsclient/trunk/scripts/check_eva/check_eva.py | 65 +++++++++++++----- nsclient/trunk/scripts/check_eva/library.zip | Bin 1721340 -> 1721340 bytes 3 files changed, 48 insertions(+), 17 deletions(-) diff --git a/nsclient/trunk/scripts/check_eva/check_eva.exe b/nsclient/trunk/scripts/check_eva/check_eva.exe index 6c5d15f69c185d77f0d7de108ae5541f47832c65..9d1cc40d55923abdceec274d5d5ddee8a2ad8d03 100644 GIT binary patch delta 4531 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 S8cB7kr&5;sc4~Zn6#f^vaGq=c delta 3430 zcmZ`*Yiv~45uS7RVehWr@AoSLXNY)v8GS(fo>vg!-#$Bc=V(nORsHL?!R% z@661ZJ2PkI+p?eu@eN~I7-Rh1al&UdP-+Aj4QvEn}82>{3N*A-jPez!%-?Ns}l z8nw@Sv4y7l$?go)wBavuNS$o%jV6JS2{IXsERZfRvO&7R$N}jABNt=}77-OMze9XW~<);53Q@#T0h0sj~N@zgmLv+4|!GLci^adQU?C^b_<^@Mk0pwzI*5q|*}O9c#tu3Gq%6k0#-{?SgPFR%#tA0{$xj zGmE>K8wu;Zo4PSxZ*0UKn#7GD_kf8QZN?F6VcLqUjoDsg&oJAEtex4j$ev@?fy~FO z6ImCtZe-8%q-+9-Bl-f!{cuJDV>8GXS-yqksQLoS8$li*dDPfS!!30i9PL9)wu5N{c^G65$X<|rFoe@*z!?V^J3xMsR6{_2WcD)4cY-{^dv}36%49dl zekPdw9Rse2g}Fgs~S)bo&aJxEug;FGvX{8kk_V zs15t_qr2H{=ne?-oRjc8$R38sgFL>*bKoJzL-@a*(WhO6rs6(x*(VJq+f(iX6x$+b zBBXw~FS9!?A7=RoMTlj=2oc#&H6|LQvCQl6J!qQMHFi&K{4Oklm%O1^dHZKJaX{t! z{vb?s&v#CY#H>zJ#6In+wTYEj>i&z#;+A^<@Gm@R_&(T2?}Yz=n&^3Za6gFYHn7|v zfg{Ggwo<_Fh7eA^l?qlGSm_{>U=~j-8D_ByTx{+JD+3layXYCa2SNzMUfP2e9X>0Q z?D?_=4A7%~+S{$F`qpdSEOoH&E%nd7R<+&eO2b10%YhIKgv^MlJW`Tn!<8A5^#Wt8 zMh+hJk&!tR$9{i;F9WtCJz>5y_ zAi))a?-Lv%xQ@WRF>{Ee=|Ll@wQ1UZ}c=>&97g@p4IH5PYBxhI~%0;|29@sHXbc zBwZok9H?AzzX3BS^&gPphw6Ulm^d4IK72!XE|TOL!DVF|dp6@cL_Z+-9>EROJGKRr zIXmX{twwu=R9py-k%IS9)97UcTWj# zob)w@jgQ}TvmTsTkw1rvG}>n+0e;y%;+XtrpnrROlE@;nfS;NLh5UjdQ8r6*)L$dp z9Jx>^^Hh%2Chn+1)@BDrhwHOeT`ICg4Zk4n;{9+}-Lh63K241I)Wk$by0Gzekq7cA zw*Ppd$$=9-CX{`0mvE`p$%ahI69<^TLY7dsq-G~~pzcSLch}R2;_U=55Dr=6;b71l zr}^LktEh==s);n$L@Kyj)z44XIKP3W`X%-ElLOd;-BS@eowNFAs$DE7ZMs9es=B5d z#cee=T`R7sZ%+R?`dE`*AqRZoG+jDf5%CkhO^o|LjErMC9*$U};c<)4+Kl(@>ZBLY z2JTR9V4n1ww3S*Uk&bIT!egobOo^H74DR6H($4tQtLhmGLw|c_gY!Pk>veT!rdAZk z{yp=F5W4!y+{bC$Tp!YwpCG6M!GhSYPvO<`42gKizC`TH>eFb|(btK-Ot5;Z*=c!} z;41{L5sVUSBjEZ_-uRZnxW@xlV89>Lcan~4!lS^~%aR&Cy;Z!W-a9?o$8|VIMzsW7 zOq!Q?G2bV~RlY@xhC**3_!|Kios!Wxt@yy>(u+U7`qc7#mawbu&X=j*&)13+^{@FO m>hMBkZdrPgt2iae<#5?t&SFnNr>np" - print " --username " - print " --password " - print " --mode " - print " --system " - print " --phone-home [--nagios_myhostname ] [--nagios_port ]" - print " --test" - print " --debug" - print " --help" + print " [--host ]" + print " [--username ]" + print " [--password ]" + print " [--mode ] " + print " [--test]" + print " [--debug]" + print " [--help]" print "" print " Valid modes are: %s" % ', '.join(valid_modes) print "" @@ -152,6 +151,8 @@ while len(arguments) > 0: check_system = arguments.pop(0) elif arg == '--phone-home': do_phone_home = True + elif arg == '--proxy': + proxyserver = arguments.pop(0) elif arg == '--escape-newlines': escape_newlines = True elif arg == '-h' or '--help': @@ -307,6 +308,7 @@ def end(summary,perfdata,longserviceoutput,nagios_state): global hostname global mode global escape_newlines + global check_system message = "%s - %s" % ( state[nagios_state], summary) if show_perfdata: @@ -319,18 +321,46 @@ def end(summary,perfdata,longserviceoutput,nagios_state): debug( "do_phone_home = %s" %(do_phone_home) ) if do_phone_home == True: try: - if nagios_myhostname == None: nagios_myhostname = hostname - phone_home(nagios_server,nagios_port, status=nagios_state, message=message, hostname=nagios_myhostname, servicename=mode) + if nagios_myhostname is None: + if environ.has_key( 'HOSTNAME' ): + nagios_myhostname = environ['HOSTNAME'] + elif environ.has_key( 'COMPUTERNAME' ): + nagios_myhostname = environ['COMPUTERNAME'] + else: + nagios_myhostname = hostname + phone_home(nagios_server,nagios_port, status=nagios_state, message=message, hostname=nagios_myhostname, servicename=mode,system=check_system) except: - pass + raise print message exit(nagios_state) +class ProxiedTransport(xmlrpclib.Transport): + def set_proxy(self, proxy): + self.proxy = proxy + def make_connection(self, host): + self.realhost = host + h = httplib.HTTP(self.proxy) + return h + def send_request(self, connection, handler, request_body): + connection.putrequest("POST", 'http://%s%s' % (self.realhost, handler)) + def send_host(self, connection, host): + connection.putheader('Host', self.realhost) + + ''' phone_home: Sends results to remote nagios server via python xml-rpc ''' -def phone_home(nagios_server,nagios_port, status, message, hostname=None, servicename=None): +def phone_home(nagios_server,nagios_port, status, message, hostname=None, servicename=None,system=None): debug("phoning home: %s" % (servicename) ) + if system is not None: + servicename = str(servicename) + str(system) uri = "http://%s:%s" % (nagios_server,nagios_port) - s = xmlrpclib.ServerProxy( uri ) + + global proxyserver + if proxyserver != None: + p = ProxiedTransport() + p.set_proxy(proxyserver) + s = xmlrpclib.Server( uri, transport=p ) + else: + s = xmlrpclib.ServerProxy( uri ) s.nagiosupdate(hostname, servicename, status, message) return 0 @@ -509,7 +539,8 @@ def check_controllers(): nagios_state = max( check_operationalstate(i), nagios_state ) # Lets add to the summary - summary = summary + " %s/%s=%s " %(systemname,controllername, i['operationalstate']) + if i['operationalstate'] != 'good': + summary = summary + " %s/%s=%s " %(systemname,controllername, i['operationalstate']) # Lets get some perfdata interesting_fields = "controllermainmemory" diff --git a/nsclient/trunk/scripts/check_eva/library.zip b/nsclient/trunk/scripts/check_eva/library.zip index a54eaad3e93957fefa1fc7903e1f6a9e88cc0772..7ede748535d857a1b91d164fae00c9397a7a8fd1 100644 GIT binary patch delta 385 zcmey;LheSW+z6l#O?G}p~(wa#9AvqK#Lw6D34r@fGe z5r~<9m>Gy!fS47C*?^cGh&h0m6NtHhm>Y;e>Un{f4~Y4JSOACxfmjHLg@ITEh(&=| z42Z>nSOSP8w-@qA&1DAr3luif#RQ}b;ohI_FCe7{_w)2t0V!QD59HD5yI?9ozMKA8 RK*|6t2lCQ(Z9%DvMgT!lgCGC^ delta 385 zcmeyQvY+~m7# z(h!LUn{TtbLnO{zG%}j3#VG~Tq0HsMC;+l!%lw4-20*8P@MK3`VRon^fc7;P^0XK7 zFaj|X5HkZY3lOscF&hxG12G2>a{@6J5OV`DNIfqQ^8qnG5DNgYAP@@yu`m#e0I?_# zivh7X5K92D8}Z{RO1-;C`OoDj=l`=7BsqeHTn6$am8} S3rHD&