Автоматическая установка dashboard

This commit is contained in:
Роман Жилкин 2025-01-23 20:56:26 +07:00
parent 5d1e1429e8
commit fd22c75850

View file

@ -0,0 +1,32 @@
#!/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}"