New upstream version 8.1.0
This commit is contained in:
146
mon/scripts/grafana/import-dashboards
Executable file
146
mon/scripts/grafana/import-dashboards
Executable file
@@ -0,0 +1,146 @@
|
||||
#!/bin/bash
|
||||
|
||||
function addDashboard() {
|
||||
echo -e "{\"dashboard\": $(cat $1) }" | \
|
||||
sed -e "s,\${DS_BEEGFS_MON_INFLUXDB},$DATASOURCE_NAME,g" | \
|
||||
curl -s -X POST "$HOST/api/dashboards/db" \
|
||||
--header "Content-type: application/json" \
|
||||
--data @-
|
||||
}
|
||||
|
||||
function addDatasource() {
|
||||
sed -e "s,%DATABASE_NAME%,$DATABASE_NAME,g" \
|
||||
-e "s,%DATABASE_USER%,$DATABASE_USER,g" \
|
||||
-e "s,%DATASOURCE_URL%,$DATASOURCE_URL,g" \
|
||||
-e "s,%DATASOURCE_NAME%,$DATASOURCE_NAME,g" \
|
||||
-e "s,%PASSWORD%,$PASSWORD,g" \
|
||||
"$1" | \
|
||||
curl -s -X POST "$HOST/api/datasources" \
|
||||
--header "Content-type: application/json" \
|
||||
--data @-
|
||||
}
|
||||
|
||||
|
||||
function addDatasourceV2() {
|
||||
sed -e "s,%BUCKET_NAME%,$BUCKET_NAME,g" \
|
||||
-e "s,%ORG_NAME%,$ORG_NAME,g" \
|
||||
-e "s,%DATASOURCE_URL%,$DATASOURCE_URL,g" \
|
||||
-e "s,%DATASOURCE_NAME%,$DATASOURCE_NAME,g" \
|
||||
-e "s,%TOKEN%,$TOKEN,g" \
|
||||
"$1" | \
|
||||
curl -s -X POST "$HOST/api/datasources" \
|
||||
--header "Content-type: application/json" \
|
||||
--data @-
|
||||
}
|
||||
|
||||
|
||||
DATASOURCE_NAME="beegfs_mon_influxdb"
|
||||
HOST="http://admin:admin@localhost:3000"
|
||||
DATASOURCE_URL="http://localhost:8086"
|
||||
|
||||
if [[ $1 != "default" ]] && [[ ! $# -eq 2 ]]; then
|
||||
echo "This script imports the default beegfs-mon Dashboards into Grafana using its HTTP API."
|
||||
echo "Curl is required."
|
||||
echo ""
|
||||
echo "Usage: "
|
||||
echo "Default installation to localhost: $(basename "$0") default"
|
||||
echo "Custom installation: $(basename "$0") <grafana url> <datasource url>"
|
||||
echo ""
|
||||
echo "Default:"
|
||||
echo "$(basename "$0") $HOST $DATASOURCE_URL $DATABASE_NAME"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
command -v curl > /dev/null 2>&1 || \
|
||||
{
|
||||
echo "This script requires curl, but it doesn't seem to be installed. Aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "Select an option:"
|
||||
echo "1. Using BeeGFS Monitoring with Telegraf"
|
||||
echo "2. Using BeeGFS Monitoring without Telegraf"
|
||||
|
||||
read -p "Enter your Option: " option
|
||||
|
||||
if [[ "$option" == "1" ]]; then
|
||||
monType="wtelegraf"
|
||||
elif [[ "$option" == "2" ]]; then
|
||||
monType="wotelegraf"
|
||||
else
|
||||
echo "*** Please select correct option ***"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Please select influxdb version:"
|
||||
echo "1) Influxdb 1.x"
|
||||
echo "2) Influxdb 2.x"
|
||||
|
||||
|
||||
if [[ $1 != "default" ]]; then
|
||||
HOST="$1"
|
||||
DATASOURCE_URL="$2"
|
||||
fi
|
||||
|
||||
GRAFANA_DIR=$(dirname "$0")
|
||||
|
||||
read -p "Enter your influxdb Verion: " influxdb_version
|
||||
|
||||
if [[ "$influxdb_version" == "1" ]] ; then
|
||||
|
||||
read -p "Enter Database Name: " DATABASE_NAME
|
||||
read -p "Enter Database User: " DATABASE_USER
|
||||
read -s -p "Enter Database Password: " PASSWORD
|
||||
|
||||
elif [[ "$influxdb_version" == "2" ]] ; then
|
||||
|
||||
read -p "Enter Bucket Name:" BUCKET_NAME
|
||||
read -p "Enter Organizations: " ORG_NAME
|
||||
read -s -p "Enter Token: " TOKEN
|
||||
fi
|
||||
|
||||
if [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wtelegraf" ]] ; then
|
||||
|
||||
addDatasource "$GRAFANA_DIR/influxdb.json"
|
||||
addDashboard "$GRAFANA_DIR/beegfs_overview_telegraf_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/meta_telegraf_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_telegraf_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_targets_telegraf_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_node_telegraf_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_user_telegraf_influxdbv1.json"
|
||||
|
||||
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wtelegraf" ]] ; then
|
||||
|
||||
addDatasourceV2 "$GRAFANA_DIR/influxdbV2.json"
|
||||
addDashboard "$GRAFANA_DIR/beegfs_overview_telegraf_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/meta_telegraf_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_telegraf_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_targets_telegraf_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_node_telegraf_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_user_telegraf_influxdbv2.json"
|
||||
|
||||
elif [[ "$influxdb_version" == "1" ]] && [[ "$monType" == "wotelegraf" ]] ; then
|
||||
|
||||
addDatasource "$GRAFANA_DIR/influxdb.json"
|
||||
addDashboard "$GRAFANA_DIR/beegfs_overview_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/meta_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_targets_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_node_influxdbv1.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_user_influxdbv1.json"
|
||||
|
||||
elif [[ "$influxdb_version" == "2" ]] && [[ "$monType" == "wotelegraf" ]] ; then
|
||||
|
||||
addDatasourceV2 "$GRAFANA_DIR/influxdbV2.json"
|
||||
addDashboard "$GRAFANA_DIR/beegfs_overview_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/meta_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/storage_targets_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_node_influxdbv2.json"
|
||||
addDashboard "$GRAFANA_DIR/client_ops_user_influxdbv2.json"
|
||||
|
||||
else
|
||||
echo "*** Please select correct version of InfluxDB ***"
|
||||
exit 1
|
||||
|
||||
fi
|
||||
Reference in New Issue
Block a user