Fix influx2.py

Signed-off-by: Matthew Stidham <stidmatt@protonmail.com>
This commit is contained in:
Matthew Stidham
2021-04-20 11:45:36 -07:00
parent f954d9a0ea
commit b68064028f
4 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
#!/usr/bin/env python3
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Class holds default settings for json requests to Grafana -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
import sys
if sys.version_info[0] != 3:
print("This script requires Python 3")
exit()
import requests
import json
class GrafanaRequest:
def __init__(self,
_grafanajson_host,
_grafanajson_port,
_folderID=0,
_api_token=None,
_headers=dict(),
_overwrite='false',
debug_=False,
die_on_error_=False):
self.debug = debug_
self.die_on_error = die_on_error_
self.headers = _headers
self.headers['Authorization'] = 'Bearer '+_api_token
self.headers['Content-Type'] = 'application/json'
self.grafanajson_url = "http://%s:%s" % (_grafanajson_host, _grafanajson_port)
self.data = dict()
self.data['overwrite'] = _overwrite
def create_bucket(self,
bucket_name=None):
# Create a bucket in Grafana
if bucket_name is not None:
pass
def list_dashboards(self):
url=self.grafanajson_url + '/api/search?folderIds=0&query=&starred=false'
return requests.get(url).text
def create_dashboard(self,
dashboard_name=None,
):
self.grafanajson_url = self.grafanajson_url + "/api/dashboards/db"
data = ('{ "dashboard": { "id": null, "title": "%s" , "tags": [ "templated" ], "timezone": "browser", "schemaVersion": 6, "version": 0 }, "overwrite": false }' % dashboard_name)
return requests.get(self.grafanajson_url, headers=self.headers, data=data, verify=False)
def delete_dashboard(self,
dashboard_uid=None):
self.grafanajson_url = self.grafanajson_url + "/api/dashboards/uid/" + dashboard_uid
return requests.post(self.grafanajson_url, headers=self.headers, verify=False)
def create_dashboard_from_data(self,
json_file=None):

View File

View File

View File

@@ -10,6 +10,11 @@ if sys.version_info[0] != 3:
print("This script requires Python 3")
exit(1)
if 'py-json' not in sys.path:
sys.path.append(os.path.join(os.path.abspath('..'), 'py-json'))
import requests
import json
import influxdb_client