pavolk

zozujJsonPublic3

Dec 11th, 2018
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.27 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import json
  4. import subprocess
  5. import sys
  6.  
  7.  
  8. def getProcessOutput(cmd):
  9.     process = subprocess.Popen(
  10.         cmd,
  11.         shell=True,
  12.         stdout=subprocess.PIPE)
  13.     process.wait()
  14.     data, err = process.communicate()
  15.     if not process.returncode:
  16.         return data.decode('utf-8')
  17.     else:
  18.         print("Error:", err)
  19.     return ""
  20.  
  21.  
  22. # grab the output
  23. # cmd = "hustodemonsky komand"
  24. # output = getProcessOutput(cmd, shell=True,  stdout=subprocess.PIPE)
  25.  
  26. # sample output
  27. output = """
  28. {
  29.   "data": [
  30.       {
  31.           "id": "1",
  32.           "count": "12098"
  33.       },
  34.       {
  35.           "id": "2",
  36.           "count": "928347"
  37.       },
  38.       {
  39.           "id": "3",
  40.           "count": "35987"
  41.       },
  42.       {
  43.           "id": "4",
  44.           "count": "123"
  45.       }
  46.   ]
  47. }
  48. """
  49.  
  50. data = json.loads(output)
  51.  
  52. result = ""
  53. exitcode = 0
  54. # zosrotuj vystup
  55. for value in data["data"]:
  56.     if value["id"] == "1":
  57.         if int(value["count"]) >= 10000:
  58.             result = result + "OK"
  59.         elif int(value["count"]) >= 5000:
  60.             result = result + "WARNING"
  61.             if exitcode < 1:
  62.                 exitcode += 1
  63.         else:
  64.             result = result + "CRITICAL"
  65.             if exitcode < 2:
  66.                 exitcode += 1
  67.         result = result + ": Prvy=" + value["count"] + ", "
  68.     elif value["id"] == "2":
  69.         if int(value["count"]) >= 800000:
  70.             result = result + "OK"
  71.         elif int(value["count"]) >= 500000:
  72.             result = result + "WARNING"
  73.             if exitcode < 1:
  74.                 exitcode += 1
  75.         else:
  76.             result = result + "CRITICAL"
  77.             if exitcode < 2:
  78.                 exitcode += 1
  79.         result = result + ": Druhy=" + value["count"] + ", "
  80.     elif value["id"] == "3":
  81.         if int(value["count"]) >= 50000:
  82.             result = result + "OK"
  83.         elif int(value["count"]) >= 40000:
  84.             result = result + "WARNING"
  85.             if exitcode < 1:
  86.                 exitcode += 1
  87.         else:
  88.             result = result + "CRITICAL"
  89.             if exitcode < 2:
  90.                 exitcode += 1
  91.         result = result + ": Treti=" + value["count"] + ", "
  92.     else:
  93.         pass
  94.  
  95. print(result)
  96. sys.exit(exitcode)
Add Comment
Please, Sign In to add comment