File: //lib/python2.7/site-packages/lap/check_lfs.py
import subprocess
import re
import os
def perfdata(metrics):
out = []
for k in metrics.keys():
out.append('%s=%s' % (k.lower(), metrics[k]))
return '|'.join(out)
def __run__(params):
if not os.path.exists('/usr/lib/check_mk_agent/need_sudo/check_lfs'):
return [2, 'check_lfs is not installed please install it']
try:
p = subprocess.Popen(['/usr/bin/sudo',
'/usr/lib/check_mk_agent/need_sudo/check_lfs'],
stdout=subprocess.PIPE)
except Exception as e:
return [2, 'CRITICAL - Problems executing check_lfs %s' % repr(e)]
threshold = float(params.get('threshold'))
out = p.stdout.read().split('\n')
milli = re.compile('.*? (.*?): milliseconds (.*)')
metrics = {}
for l in out:
if milli.match(l):
if not (l.startswith("/storage/befs") or l.startswith("/storage/cbfs")):
metrics[milli.match(l).group(1)] = float(milli.match(l).group(2))
if metrics['Roundtrip'] < threshold:
return [0, 'OK Roundtrip time' , perfdata(metrics)]
else:
return [2, 'CRITICAL - Roundtrip time is %s' %
metrics['Roundtrip'], perfdata(metrics)]