http://influxdb-python.readthedocs.org/en/latest/
api接口,返回数组
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import json
import yaml
from flask import Flask, render_template, request, url_for
from influxdb import InfluxDBClient
app = Flask(__name__)
client = InfluxDBClient(host='10.10.32.109', port=8086, username='root', password='root', database='dashboard')
@app.route('/', methods=['GET'])
def index():
file = 'dashboard.yaml'
with open(file) as f:
content = yaml.load(f)
switches = [ i['name'] for i in content['switch'] ]
return render_template('index.html', switches=switches)
@app.route('/api', methods=['GET'])
def api():
measure, host, start, stop = request.args['measure'], request.args['name'], request.args['start'], request.args['stop']
query = 'select * from '+ measure + ' where host=\'' + host + \
'\' and time > \'' + start + '\' and time < \'' + stop +'\''
result = client.query(query)
return json.dumps([ value[1] for value in result.raw['series'][0]['values'] ])
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)