#!/usr/bin/python3

import sys, json
if sys.version_info[0]>2:
  from urllib.request import urlopen, URLError
else:
  from urllib2 import urlopen, URLError

try:
  url = sys.argv[1]
  data = urlopen(url).read()
  data = json.loads(data)
  ret_status = "OK"
  exit_code = 0
  performance_data = []
  for k, v in data.items():
    value = v.get("value", 0)
    unit = v.get("unit", "")
    v_min = v.get("min")
    v_max = v.get("max")
    status = v.get("status")
    performance_data.append("%s=%s%s" % (k, value, unit))
    if status is None and v_min is not None and value<v_min:
      status = "CRITICAL"
    if status is None and v_max is not None and value>v_max:
      status = "CRITICAL"
    if status=="WARNING":
      ret_status = status
      exit_code = 1
    elif status=="CRITICAL":
      ret_status = status
      exit_code = 2
  #performance_data = " ".join(["%s=%s" % (k, v) for k, v in data.items()])
  print("%s - %s|%s" % (ret_status, url, " ".join(performance_data)))
except URLError as err:
  print("CRITICAL -", err)
  sys.exit(2)

sys.exit(exit_code)
