blob: 26f18bfda1a9167a309965ffc83bd9fbe8e28e47 [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
6import urllib2
7import ast
8
stevenvanrossem48db0512016-05-18 15:43:24 +02009# set this to localhost for now
10# this is correct for son-emu started outside of a container or as a container with net=host
11prometheus_ip = '127.0.0.1'
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020012prometheus_port = '9090'
13prometheus_REST_api = 'http://{0}:{1}'.format(prometheus_ip, prometheus_port)
14
15
16def query_Prometheus(query):
17 url = prometheus_REST_api + '/' + 'api/v1/query?query=' + query
18 # logging.info('query:{0}'.format(url))
19 req = urllib2.Request(url)
20 ret = urllib2.urlopen(req).read()
21 ret = ast.literal_eval(ret)
22 if ret['status'] == 'success':
23 # logging.info('return:{0}'.format(ret))
24 try:
25 ret = ret['data']['result'][0]['value']
26 except:
27 ret = None
28 else:
29 ret = None
30 return ret