if temp_value != 2: exit_code = 2 nbr_error += 1 if re.search(r'470$', temp_index): longoutput_error += ' * %s: (PSU1) (%d) %s *\n' % (temp_descr, temp_value, desc[temp_value]) elif re.search(r'471$', temp_index): longoutput_error += ' ** %s: (PSU2) (%d) %s **\n' % (temp_descr, temp_value, desc[temp_value]) else: nbr_ok += 1 if re.search(r'470$', temp_index): longoutput_ok += ' %s: (PSU1) %s\n' % (temp_descr, desc[temp_value]) elif re.search(r'471$', temp_index): longoutput_ok += ' %s: (PSU2) %s\n' % (temp_descr, desc[temp_value]) # Format output if nbr_error > 0: longoutput += 'ERROR: %d\n%s\n' % (nbr_error, longoutput_error) if nbr_ok > 0: longoutput += 'ON: %d\n%s\n' % (nbr_ok, longoutput_ok) # Output to Nagios longoutput = longoutput.rstrip('\n') if exit_code == 2: output = '%d PSU : ERROR !\n' % nbr_error plugin.critical(output + longoutput) elif not exit_code: output = 'All PSU are ON.\n' plugin.ok(output + longoutput)