File: //usr/lib/python2.7/site-packages/lap/check_influx_report.py
import urllib2
import urllib
import socket
import json
def __run__(params):
query = params.get("influx_query") % socket.gethostname()
influxdb = params.get("influx_db")
influxdb_host = params.get("influx_host")
user = params.get("influx_user")
password = params.get("influx_password")
if not all([query, influxdb, influxdb_host]):
return([2, "Critical: Check your yaml options"])
try:
options = {"db": influxdb, "q": query, "u": user, "p": password}
url = "{0}{1}".format(influxdb_host, urllib.urlencode(options))
response = urllib2.urlopen(url, timeout=5)
if response.code == 200:
data = json.loads(response.read())
if len(data.get("results")[0]) >= 1:
return([0, "OK"])
else:
return([1, "CRITICAL: Influx data not correctly reported."])
except Exception, err:
return([1, err])