如何将仪表板复制到Grafana中的其他组织

时间:2018-03-14 10:57:22

标签: python grafana grafana-api

我正在使用Grafana来显示一些数据。我有20个组织,他们都使用相同的仪表板(Dash1,Dash2,Dash3)。因此,我可以为所有组织中的所有仪表板使用相同的json数据。

但是我每次更改内容时都不想手动更新它,因此我正在尝试创建一个python脚本,它将为我完成。

我按如下方式运行脚本:

python update_dashboards.py Dash1

python代码如下:

try:
    dashboard_name = sys.argv[1]
    response = settings.get_request_with_token(settings.api_url + "search?query=" + dashboard_name) 
    dashboard = json.loads(response)
    if len(dashboard) < 1:
        print("There is no dashboard data.")
    else:
        dashboard_data = dashboard[0]
        dashboard_uri = str(dashboard_data["uri"])
        dashboard_data = dashboard_api.get_dashboard(dashboard_uri)
        // Here I get dashboard details

except IndexError:
    print("Please provide dashboard name!")

因此,我将要复制的仪表板名称提供给所有组织。

使用我的代码,我成功完成了我要复制的仪表板。

我的问题是我现在如何使用此信息中心将其复制到所有其他组织?

1 个答案:

答案 0 :(得分:0)

我认为使用API来创建新的信息中心。您可以使用请求并使用脚本中已有的内容创建有效内容。您还需要key才能使用API​​。

payload = {"authorization": "yourkey", "content": thedashboard} 
url = yougrafanaaddress/api/dashboards/db
r = requests.post(url, data=payload)