-
-
Save crisidev/bd52bdcc7f029be2f295 to your computer and use it in GitHub Desktop.
KEY=XXXXXXXXXXXX | |
HOST="https://metrics.crisidev.org" | |
mkdir -p dashboards && for dash in $(curl -k -H "Authorization: Bearer $KEY" $HOST/api/search\?query\=\& |tr ']' '\n' |cut -d "," -f 5 |grep slug |cut -d\" -f 4); do | |
curl -k -H "Authorization: Bearer $KEY" $HOST/api/dashboards/db/$dash > dashboards/$dash.json | |
done |
A simple script to export grafana rules/alerts
#!/bin/bash
GRAFANA_DOMAIN=$1
GRAFANA_TOKEN=$2
curl -X GET -H "Authorization: Bearer ${GRAFANA_TOKEN}" \
"https://${GRAFANA_DOMAIN}/api/ruler/grafana/api/v1/rules" | jq > './alerts.json'
hey, I want help in exporting data used by grafana for a dashboard. Does someone know anything related to how to do it?
Hello guys!
I created this script https://gist.github.com/aeciopires/e1adfd808097ee9260a419263ccae099 based in work of @KMurphs in this comment: https://gist.github.com/crisidev/bd52bdcc7f029be2f295?permalink_comment_id=4197302#gistcomment-4197302
The script can export datasources and dashboards of Grafana, but I only tested with Grafana 6.6.x
Example of execution script:
chmod +x exportGrafanaDashboadsAndDatasources.sh ./exportGrafanaDashboadsAndDatasources.sh [INFO] Datasource AWS_Cloudwatch_PRD-125 exported [INFO] Encrypting the file ./backup_grafana_dashboards_20230321_1347/datasources/grafana-datasource-AWS_Cloudwatch_PRD-125.json... [..] [INFO] Dashboard alerts-prometheus-kGqyea3Zz exported [..]
I successfully executed the script, but how do I import it?
Just trowing here some recent contribution from "Gonzalo Di Biase" on Grafana Slack
export KEY=XXXXXXXXXXXXX
export HOST=https://mygrafana.mydomain
for dash in $(curl -s -k -H "Authorization: Bearer ${KEY}" ${HOST}/api/search\?query\=\& | jq -r '.[] | select(.type == "dash-db") | .uid'); do
curl -s -k -H "Authorization: Bearer ${KEY}" ${HOST}/api/dashboards/uid/$dash \
| jq '. |= (.folderUid=.meta.folderUid) | del(.meta) |del(.dashboard.id) + {overwrite: true}' \
> "${SCRIPT_DIR}/export/${NAME}/dashboards/${dash}.json"
echo "Dashboard: ${NAME} - ${dash} saved."
done
.meta.folderTitle
it doesn't work wuth grafana v7.3.1 API :(
It's seems like folderUid doesn't exist in meta block ..
"meta": {
"type": "db",
"canSave": true,
"canEdit": true,
"canAdmin": true,
"canStar": true,
"slug": "tcp-status",
"url": "/d/YCaAbWJIk/tcp-status",
"expires": "0001-01-01T00:00:00Z",
"created": "2024-03-15T11:24:21+01:00",
"updated": "2024-03-15T11:57:33+01:00",
"updatedBy": "admin",
"createdBy": "admin",
"version": 3,
"hasAcl": false,
"isFolder": false,
"folderId": 27,
"folderTitle": "system",
"folderUrl": "/dashboards/f/Oe6cfZ1Iz/system",
"provisioned": false,
"provisionedExternalId": ""
}
do you have anything to export grafana alerts?