test/manufacturer/container/grafana/import_dashboard.sh

32 lines
846 B
Bash
Raw Normal View History

#!/bin/bash
GF_SECURITY_ADMIN_PASSWORD=admin
GRAFANA_URL=localhost
DASHBOARD_FILE="dashboard.json"
DATA_SOURCE_UID="10.10.1.3:9090"
GRAFANA_URL=http://admin:${GF_SECURITY_ADMIN_PASSWORD}@${GRAFANA_URL}:3000
if [[ ! -f "$DASHBOARD_FILE" ]]; then
echo "Ошибка: Файл с дашбордом '${DASHBOARD_FILE}' не найден."
exit 1
fi
DASHBOARD_JSON=$(<"$DASHBOARD_FILE")
DASHBOARD_JSON=$(echo "$DASHBOARD_JSON" | sed "s/\${DS_LOCALHOST}/$DATA_SOURCE_UID/g")
IMPORT_JSON=$(jq -n --argjson dashboard "$DASHBOARD_JSON" \
'{dashboard: $dashboard, overwrite: true}')
echo "Измененный JSON дашборда:"
echo "$IMPORT_JSON"
response=$(curl -X POST "${GRAFANA_URL}/api/dashboards/import" \
-H "Content-Type: application/json" \
-d "${IMPORT_JSON}")
echo "Ответ от Grafana: ${response}"