mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-11-04 04:38:02 +00:00 
			
		
		
		
	Fix influx2.py
Signed-off-by: Matthew Stidham <stidmatt@protonmail.com>
This commit is contained in:
		
							
								
								
									
										60
									
								
								py-dashboard/GrafanaRequest.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								py-dashboard/GrafanaRequest.py
									
									
									
									
									
										Normal 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):
 | 
				
			||||||
							
								
								
									
										0
									
								
								py-scripts/GrafanaRequest.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								py-scripts/GrafanaRequest.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								py-scripts/grafana_profile.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								py-scripts/grafana_profile.py
									
									
									
									
									
										Normal file
									
								
							@@ -10,6 +10,11 @@ if sys.version_info[0] != 3:
 | 
				
			|||||||
    print("This script requires Python 3")
 | 
					    print("This script requires Python 3")
 | 
				
			||||||
    exit(1)
 | 
					    exit(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if 'py-json' not in sys.path:
 | 
				
			||||||
 | 
					    sys.path.append(os.path.join(os.path.abspath('..'), 'py-json'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import requests
 | 
					import requests
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
import influxdb_client
 | 
					import influxdb_client
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user