import os
import urllib.request
dashboard_list=[
{
'name': 'Single Geth',
'filename': 'single_geth.json',
'url': 'https://grafana.com/api/dashboards/13877/revisions/1/download'
}
]
dashboard_path="/grafana-dashboards"
GF_SECURITY_ADMIN_PASSWORD = os.environ.get('GF_SECURITY_ADMIN_PASSWORD')
if GF_SECURITY_ADMIN_PASSWORD is None:
print('GF_SECURITY_ADMIN_PASSWORD env value is missing, exiting.')
sys.exit(1)
if (not os.path.exists(dashboard_path)) or (not os.path.isdir(dashboard_path)) or (not os.access(dashboard_path, os.W_OK)):
print('Dashboard path %s is not writable, exiting'.format(dashboard_path))
sys.exit(1)
for dashboard in dashboard_list:
with urllib.request.urlopen(dashboard['url']) as f:
response = f.read()
decoded_html = response.decode('utf-8')
data = decoded_html.replace('${DS_INFLUXDB}', 'InfluxDB')
d_file = open(os.path.join(dashboard_path, dashboard['filename']),'w')
d_file.write(data)
d_file.close()
-
cyborgdennett authored
This solves Issue #3709
d82f13df