File: //lib/python2.7/site-packages/lap/saruman_v2.py
#!/usr/bin/python
# Check Json for Saruman V2 Monitoring
# Exemplo: "http://saruman.apps.lwmon.com.br/v2/provisioning/cloudserverpro_windows/best"
#
import socket
import sys
import os
socket.setdefaulttimeout(10)
def __run__(params):
try:
import requests
os.environ['no_proxy'] = '127.0.0.1,localhost'
except ImportError:
return [1, "CRITICAL - Error: Please install python-requests"]
try:
product = params.get("product", "")
timeout = int(params.get("timeout", 10))
url = "http://saruman.apps.lwmon.com.br/v2/provisioning/%s/best" % product
data = requests.get(url, verify=False, timeout=timeout).json()
except:
return [2, "CRITICAL - [SarumanV2] Error: the url cannot be opened"]
try:
best = data['result']['best']
if best['server']:
return [0, "OK - [SarumanV2] Provisioning: %s, Best: %s, Pool/Server: %s, Score: %s" %
(product, best['name'], best['server'], best['score']) ]
else:
return [2, "CRITICAL - [SarumanV2] Nao foi possivel conectar no Saruman V2: \
http://saruman.apps.lwmon.com.br/v2/provisioning/%s/best" % product]
except Exception, e:
return [2, "CRITICAL - [SarumanV2] Error %s" % repr(e)]