1

我正在使用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!")

因此,我给出了我想要复制到所有组织的仪表板的名称。

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

我的问题是我现在如何使用此仪表板将其复制到所有其他组织?

4

1 回答 1

0

我想使用API来创建新的仪表板。您可以使用请求并使用脚本中已有的内容创建有效负载。您还需要一个密钥才能使用 API。

payload = {"authorization": "yourkey", "content": thedashboard} 
url = yougrafanaaddress/api/dashboards/db
r = requests.post(url, data=payload)
于 2018-03-14T18:19:14.040 回答