blob: 9432408dfeba6f2a5262523d9ff632b6ecd07269 [file] [log] [blame]
stevenvanrossem2fdfbf42016-05-13 15:08:47 +02001"""
2Prometheus API helper functions
3(c) 2016 by Steven Van Rossem <steven.vanrossem@intec.ugent.be>
4"""
5
stevenvanrossem1a6843a2016-05-19 12:19:36 +02006#import urllib2
7import requests
8#import ast
stevenvanrossem2fdfbf42016-05-13 15:08:47 +02009
stevenvanrossem48db0512016-05-18 15:43:24 +020010# set this to localhost for now
11# this is correct for son-emu started outside of a container or as a container with net=host
12prometheus_ip = '127.0.0.1'
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020013prometheus_port = '9090'
14prometheus_REST_api = 'http://{0}:{1}'.format(prometheus_ip, prometheus_port)
15
16
17def query_Prometheus(query):
18 url = prometheus_REST_api + '/' + 'api/v1/query?query=' + query
19 # logging.info('query:{0}'.format(url))
stevenvanrossem1a6843a2016-05-19 12:19:36 +020020 #req = urllib2.Request(url)
21 req = requests.get(url)
22 #ret = urllib2.urlopen(req).read()
23 #ret = ast.literal_eval(ret)
24 ret = req.json()
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020025 if ret['status'] == 'success':
26 # logging.info('return:{0}'.format(ret))
27 try:
28 ret = ret['data']['result'][0]['value']
29 except:
30 ret = None
31 else:
32 ret = None
33 return ret