X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=nagios%2Fplc_hosts_to_nagios.py;h=f45fa76900d80f34b38cb20f58d915267aa65399;hb=f560f0061820009fdb69baff9c382bce1a0adc24;hp=c0008a65489ec03949b97539aff67cf217628757;hpb=6e54bcb39102e76565aa6d209fa83f9d35f39532;p=monitor.git diff --git a/nagios/plc_hosts_to_nagios.py b/nagios/plc_hosts_to_nagios.py index c0008a6..f45fa76 100755 --- a/nagios/plc_hosts_to_nagios.py +++ b/nagios/plc_hosts_to_nagios.py @@ -1,5 +1,8 @@ #!/usr/bin/python + +import plc from nagiosobjects import * +from generic import * command_auto = Command(command_name="check_mode", command_line="""/usr/share/monitor/nagios/plugins/checkmode.py -H $HOSTNAME$ --sn $SERVICENOTIFICATIONNUMBER$ """) @@ -123,8 +126,6 @@ globalhost = [Host( name="planetlab-host", for obj in globalhost + globalservices: print obj.toString() -from monitor.wrapper import plc -from monitor.generic import * l_sites = plc.api.GetSites({'login_base' : ['asu', 'gmu', 'gt']}) #l_sites = plc.api.GetSites([10243, 22, 10247, 138, 139, 10050, 10257, 18, 20, @@ -300,18 +301,10 @@ for site in l_sites: service_description="cPCU", display_name="cPCU", servicegroups="NET,PCU", - notifications_enabled="0", + notifications_enabled="1", check_command="check_pcu") - #s4 = Service(use="planetlab-service", - # host_name=hn_list, - # service_description="dCOTOP", - # display_name="dCOTOP", - # servicegroups="NET,COTOP", - # notifications_enabled="0", - # check_command="check_http!-p 3120 -t 120") - - # NOTE: if the http service is broken, then try to repair the node. - # TODO: how to check that this only triggers if aSSH is ok? + + # NOTE: try to repair the host, if it is online and 'mode' indicates a problem se1 = ServiceEscalation(host_name=hn_list, service_description="bMODE", first_notification=1, @@ -320,11 +313,20 @@ for site in l_sites: notification_interval=20, contacts="automate-service-repair-contact") + se2 = ServiceEscalation( host_name=hn_list, + service_description="cPCU", + first_notification=1, + last_notification=0, + notification_interval=40, # 24*60*.5, + escalation_options="w,c,r", + contact_groups="%s-techs" % lb) + + #sd1 = ServiceDependency(host_name=hn_list, # service_description="aSSH", # dependent_service_description="bSSH806,cHTTP,dCOTOP", # execution_failure_criteria="w,u,c,p",) - for service in [s1,s2,s3,se1]: + for service in [s1,s2,s3,se1,se2]: print service.toString()