File: //usr/lib/python2.7/site-packages/lap/wiggumd.py
import socket
import yaml
def __run__(params):
try:
host = params.get('host')
port = int(params.get('port'))
cluster = params.get('cluster')
except Exception, e:
print [2, 'CRITICAL - Error: %s' % repr(e)]
try:
socket.setdefaulttimeout(5)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, int(port)))
sock.send("get %s.correio.biz\r\n" % cluster)
except socket.error, e:
return [2, 'CRITICAL - Error: %s' % repr(e)]
except Exception as e:
return [2, "CRITICAL - Error: %s" % repr(e)]
stats = {}
try:
line = ""
while True:
line += sock.recv(4096)
if line[-1] == '\n':
sock.close()
break
[ stats.update({data.split(' ')[0]: data.split(' ')[1]}) for data in line.split('\r\n') if data and not data.endswith(data) ]
if 'DUNNO' in line:
return [0, 'OK - %s' % (line)]
else:
return [2, 'CRITICAL - %s' % (line)]
except Exception as e:
return [2, "CRITICAL - Error: %s" % repr(e)]