Skip to content
Snippets Groups Projects
dashboardApi.py 1.32 KiB
Newer Older
arthur.yueh's avatar
arthur.yueh committed
import requests, json
from grafanaSettings import *

arthur.yueh's avatar
arthur.yueh committed
def search_dashboard():
    print "search dashboard in grafana:"
    r = send_grafana_get(grafana_url + '/api/search/')
    return r.content

arthur.yueh's avatar
arthur.yueh committed
def get_dashboard(board_uri):
    r = send_grafana_get(grafana_url + "/api/dashboards/{0}".format(board_uri))
    status_code = r.status_code
    content = r.content
    print "query dashboard:{0}, status:{1}".format(board_uri, status_code)
    return (status_code, content)
arthur.yueh's avatar
arthur.yueh committed
def update_or_create_dashboard(payload):
    r = send_grafana_post(grafana_url + '/api/dashboards/db', payload)
    status_code = r.status_code
    print "status: {0}".format(status_code)
    print "msg: {0}".format(r.content)
    return int(status_code)

arthur.yueh's avatar
arthur.yueh committed
def search_datasource():
    r = send_grafana_get(grafana_url + '/api/datasources')
    print "search datasources in grafana:"
    return r.content

arthur.yueh's avatar
arthur.yueh committed
def create_datasource(payload):
    r = send_grafana_post(grafana_url + '/api/datasources', payload)
    status_code = r.status_code
    print "status: {0}".format(status_code)
    print "msg: {0}".format(r.content)
    return int(status_code)

arthur.yueh's avatar
arthur.yueh committed
def send_grafana_get(url):
    r = requests.get(url, headers=http_get_headers)
    return r

arthur.yueh's avatar
arthur.yueh committed
def send_grafana_post(url, json_payload):
    r = requests.post(url, headers=http_post_headers, data=json_payload)
Miles Hampson's avatar
Miles Hampson committed
    return r