gpt4 book ai didi

curl - 通过 API 导出 Grafana 仪表板

转载 作者:行者123 更新时间:2023-12-02 01:49:58 25 4
gpt4 key购买 nike

我对 Grafana API 有疑问。

我需要导出使用 GUI 创建的所有仪表板的 JSON 模型,以便将它们导入另一个 Grafana 实例。我尝试使用仪表板 API - api/dashboards/将 curl 与仪表板 uuid 或 uri (db/) 一起使用,但出于某种原因,我总是收到消息 not found

我找到的 uid 和 uris

$URL/api/search?query=&

然后我尝试获取模型或任何数据

curl -k -H “Authorization: Bearer $KEY” $URL/api/dashboards/db/$dash_name

curl -k -H “Authorization: Bearer $KEY” $URL/api/dashboards/uid/$uid

结果是一样的

有人知道这是为什么吗?我在其他任何地方都找不到任何信息。

提前致谢。

最佳答案

解决方案摘自:https://gist.github.com/crisidev/bd52bdcc7f029be2f295#gistcomment-3975489

#!/bin/bash

HOST='http://localhost:3000'
KEY="<add-valid-key>"
DIR="grafana_dashboards"

# Iterate through dashboards using the current API Key
for dashboard_uid in $(curl -sS -H "Authorization: Bearer $KEY" $HOST/api/search\?query\=\& | jq -r '.[] | select( .type | contains("dash-db")) | .uid'); do
url=$(echo $HOST/api/dashboards/uid/$dashboard_uid | tr -d '\r')
dashboard_json=$(curl -sS -H "Authorization: Bearer $KEY" $url)
dashboard_title=$(echo $dashboard_json | jq -r '.dashboard | .title' | sed -r 's/[ \/]+/_/g')
dashboard_version=$(echo $dashboard_json | jq -r '.dashboard | .version')
folder_title="$(echo $dashboard_json | jq -r '.meta | .folderTitle')"

echo "Creating: ${DIR}/${folder_title}/${dashboard_title}_v${dashboard_version}.json"
mkdir -p "${DIR}/${folder_title}"
echo ${dashboard_json} | jq -r {meta:.meta}+.dashboard > "${DIR}/${folder_title}/${dashboard_title}_v${dashboard_version}.json"
done

关于curl - 通过 API 导出 Grafana 仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70449400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com