import os
import urllib.request
dashboard_list=[
{
'name': 'Single Geth',
'filename': 'single_geth.json',
'url': 'https://gist.githubusercontent.com/karalabe/1e26f9ea5c842fb118584edadc454e18/raw/6754e6d5c59328e19ad3a8a29a8e7e41fd46e202/geth.json'
}
]
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()
-
Ben Wilson authored
* Docker-compose metric collection * Added prometheus and dashboard-sync services Co-authored-by:
Georgios Konstantopoulos <me@gakonst.com>
f3f04697