File: //usr/lib/python2.7/site-packages/lap/site_default_page.py
import types, requests, mechanize,types,datetime, socket
def perfdata(stime):
diff = round(time.time() - stime, 2)
return 'exec_time=%.2f' % float(diff)
def __run__(params):
try:
cache_time = int(params.get("cache_time", "3600"))
cache_file = params.get("cache_file", "/var/tmp/default_page")
url = 'http://www.locaweb.com.br'
stime = time.time()
except Exception, e:
return [2, "CRITICAL: %s" % repr(e)]
if os.path.isfile(cache_file) and \
(time.time() - os.stat(cache_file).st_mtime) < cache_time and \
os.stat(cache_file).st_size > 0:
return [0, open(cache_file).read(), 'exec_time=%.2f' % float(open(cache_file).read().split()[-2])]
else:
try:
ua = 'Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 (compatible;)'
br = mechanize.Browser()
br.addheaders = [('User-Agent', ua)]
response = br.open(url)
if not 'top-menu' in response.get_data():
return [2, "CRITICAL: Página corrompida", perfdata(stime)]
elif 'Sistema temporariamente indispon' in response.get_data():
return [2, "CRITICAL: Página indisponível", perfdata(stime)]
except Exception, e:
return [2, "CRITICAL: %s" % repr(e), perfdata(stime)]
else:
try:
with open(cache_file, 'w') as f:
f.write('Last checked: %s, with %s seconds' % (time.ctime(), round((time.time() - stime), 2)))
return [0, open(cache_file).read(), 'exec_time=%.2f' % float(open(cache_file).read().split()[-2])]
except Exception, e:
return [2, "CRITICAL: Can't write cache file %s" % repr(e), perfdata(stime)]