plugin.verbose(2, "Checking age of file") fileage = time.time() - os.path.getmtime(filename) if fileage > plugin.options.maxage: returncode = 3 plugin.add_output('Data of sensor "%s" to old' % sensorid) plugin.add_multilineoutput( "%s %s because of file age: %s, limit: %s" % ( sensorid, plugin.RETURNSTRINGS[returncode], plugin.seconds_to_timedelta(fileage), plugin.seconds_to_timedelta(plugin.options.maxage), ) ) plugin.add_returncode(returncode) plugin.verbose(2, "File to old, age: %s but only %s seconds allowed" % (long(fileage), plugin.options.maxage)) else: plugin.verbose(2, "File age OK, age: %s and %s seconds are allowed" % (long(fileage), plugin.options.maxage)) valuesinfile = 0 for line in data: result = searchpattern.search(line) if result: sensor_type = None (readtime, sid, raw, value, unit) = result.groups() readtime = datetime.datetime.fromtimestamp(long(readtime)) readtime = readtime.isoformat(" ")
if not ',' in plugin.options.dns: # Only one DNS object try: ip_dns = socket.gethostbyname(plugin.options.dns) except socket.gaierror: ip_dns = None plugin.back2nagios(1, 'Could not find "%s" in DNS!' % plugin.options.dns) if ip_iface == ip_dns: plugin.back2nagios(0, 'Found %s for "%s" in DNS and on interface "%s"' % (ip_dns, plugin.options.dns, plugin.options.iface)) else: plugin.back2nagios(2, 'Found %s for "%s" in DNS, but %s for interface "%s"' % (ip_dns, plugin.options.dns, ip_iface, plugin.options.iface)) else: # Multiple DNS objects plugin.add_returncode(0) failed_dns = [] for dns in plugin.options.dns.split(','): try: ip_dns = socket.gethostbyname(dns) except socket.gaierror: ip_dns = None if ip_dns: plugin.verbose(1, 'Found IP "%s" as DNS object "%s"' % (ip_dns, dns)) else: plugin.verbose(1, 'Did not find IP for "%s"' % dns) if ip_iface != ip_dns: plugin.add_multilineoutput('CRITICAL - "%s" has unexpected IP "%s"' % (dns, ip_dns))