使用python编程,从grafana网站导入grafana仪表板数据



我在grafana中显示了可视化和聚合结果<lt;我的公司>gt;。我可以手动转到菜单,单击"导出"并将数据导出到我的本地格式选项。这很管用。有没有一种方法可以让我在grafana服务器上用python编写脚本,并得到我需要的结果?这样我就可以自动化了。寻找信息提前感谢🙂

W可以使用包装器库,如https://pypi.org/project/grafana-api/.

有了请求库,下面粘贴了一个示例片段,

headers = {"Authorization": f"Bearer {os.getenv('GRAFANA_TOKEN')}"}
s = requests.Session()
s.headers = headers
r = s.get(grafana_url + "/api/search?query=&", headers=headers)
dashboards = r.json()
print(dashboards)
dashboard_dir = f"dashboards_{grafana_server}"
if not os.path.isdir(dashboard_dir):
os.makedirs(dashboard_dir)
for entry in dashboards:
if entry["type"] != "dash-db":
continue
print(entry["uid"])
try:
url = grafana_url + f"/api/dashboards/uid/{entry['uid']}"
print(url)
r = s.get(url)
data = r.json()
filename = dashboard_dir + "/" + data["meta"]["slug"] + ".json"
with open(filename, "w") as fd:
json.dump(data, fd, indent=4)
except Exception as e:
print(e)

还要通过代码创建仪表板,请参阅-https://github.com/weaveworks/grafanalib/tree/main/grafanalib/tests/examples

查看Grafana HTTP API。

还介绍了如何使用仪表板uid获取仪表板。例如,在python中,您可以使用requests包进行http请求。在链接请求的JSON响应中,dashboard将提供您要查找的数据。

最新更新