mirror of https://github.com/grafana/grafana.git
devenv: script for setting up default datasources
This commit is contained in:
parent
6a82098ddf
commit
a1e6c31ec1
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
providers:
|
||||||
|
- name: 'Bulk dashboards'
|
||||||
|
folder: 'Bulk dashboards'
|
||||||
|
type: file
|
||||||
|
options:
|
||||||
|
path: /home/carl/go/src/github.com/grafana/grafana/devenv/dashboards/bulk-testing
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
#/bin/bash
|
|
||||||
|
|
||||||
if ! type "jsonnet" > /dev/null; then
|
|
||||||
echo "you need you install jsonnet to run this script"
|
|
||||||
echo "follow the instructions on https://github.com/google/jsonnet"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
COUNTER=0
|
|
||||||
MAX=400
|
|
||||||
while [ $COUNTER -lt $MAX ]; do
|
|
||||||
jsonnet -o "bulk-testing/dashboard${COUNTER}.json" -e "local bulkDash = import 'bulk-testing/bulkdash.jsonnet'; bulkDash + { uid: 'uid-${COUNTER}', title: 'title-${COUNTER}' }"
|
|
||||||
let COUNTER=COUNTER+1
|
|
||||||
done
|
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
apiVersion: 1
|
||||||
|
|
||||||
|
datasources:
|
||||||
|
- name: Graphite
|
||||||
|
type: graphite
|
||||||
|
access: proxy
|
||||||
|
url: http://localhost:8080
|
||||||
|
jsonData:
|
||||||
|
graphiteVersion: "1.1"
|
||||||
|
|
||||||
|
- name: Prometheus
|
||||||
|
type: prometheus
|
||||||
|
access: proxy
|
||||||
|
isDefault: true
|
||||||
|
url: http://localhost:9090
|
||||||
|
|
||||||
|
- name: InfluxDB
|
||||||
|
type: influxdb
|
||||||
|
access: proxy
|
||||||
|
database: site
|
||||||
|
user: grafana
|
||||||
|
password: grafana
|
||||||
|
url: http://localhost:8086
|
||||||
|
jsonData:
|
||||||
|
timeInterval: "15s"
|
||||||
|
|
||||||
|
- name: OpenTsdb
|
||||||
|
type: opentsdb
|
||||||
|
access: proxy
|
||||||
|
url: http://localhost:4242
|
||||||
|
jsonData:
|
||||||
|
tsdbResolution: 1
|
||||||
|
tsdbVersion: 1
|
||||||
|
|
||||||
|
- name: Elastic
|
||||||
|
type: elasticsearch
|
||||||
|
access: proxy
|
||||||
|
database: "[metrics-]YYYY.MM.DD"
|
||||||
|
url: http://localhost:9200
|
||||||
|
jsonData:
|
||||||
|
interval: Daily
|
||||||
|
timeField: "@timestamp"
|
||||||
|
|
||||||
|
- name: MySQL
|
||||||
|
type: mysql
|
||||||
|
url: localhost:3306
|
||||||
|
database: grafana
|
||||||
|
user: grafana
|
||||||
|
password: password
|
||||||
|
|
||||||
|
- name: MSSQL
|
||||||
|
type: mssql
|
||||||
|
url: localhost:1433
|
||||||
|
database: grafana
|
||||||
|
user: grafana
|
||||||
|
password: "Password!"
|
||||||
|
|
||||||
|
- name: Postgres
|
||||||
|
type: postgres
|
||||||
|
url: localhost:5432
|
||||||
|
database: grafana
|
||||||
|
user: grafana
|
||||||
|
password: password
|
||||||
|
jsonData:
|
||||||
|
sslmode: "disable"
|
||||||
|
|
||||||
|
- name: Cloudwatch
|
||||||
|
type: cloudwatch
|
||||||
|
editable: true
|
||||||
|
jsonData:
|
||||||
|
authType: credentials
|
||||||
|
defaultRegion: eu-west-2
|
||||||
|
|
||||||
|
- name: Cloudwatch keys
|
||||||
|
type: cloudwatch
|
||||||
|
editable: true
|
||||||
|
jsonData:
|
||||||
|
authType: keys
|
||||||
|
defaultRegion: eu-west-2
|
||||||
|
secureJsonData:
|
||||||
|
accessKey: AKIAJL347VWN6MK63N2A
|
||||||
|
secretKey: QyvfyvnQs4foDt7X+Xcu+WjNqfxfTC7PbG6Jf0Fk
|
|
@ -0,0 +1,61 @@
|
||||||
|
#/bin/bash
|
||||||
|
|
||||||
|
bulkDashboard() {
|
||||||
|
|
||||||
|
requiresJsonnet
|
||||||
|
|
||||||
|
COUNTER=0
|
||||||
|
MAX=400
|
||||||
|
while [ $COUNTER -lt $MAX ]; do
|
||||||
|
jsonnet -o "dashboards/bulk-testing/dashboard${COUNTER}.json" -e "local bulkDash = import 'dashboards/bulk-testing/bulkdash.jsonnet'; bulkDash + { uid: 'uid-${COUNTER}', title: 'title-${COUNTER}' }"
|
||||||
|
let COUNTER=COUNTER+1
|
||||||
|
done
|
||||||
|
|
||||||
|
ln -s -f -r ./dashboards/bulk-testing/bulk-dashboards.yaml ../conf/provisioning/dashboards/custom.yaml
|
||||||
|
}
|
||||||
|
|
||||||
|
requiresJsonnet() {
|
||||||
|
if ! type "jsonnet" > /dev/null; then
|
||||||
|
echo "you need you install jsonnet to run this script"
|
||||||
|
echo "follow the instructions on https://github.com/google/jsonnet"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultDashboards() {
|
||||||
|
echo "not implemented yet"
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultDatasources() {
|
||||||
|
echo "setting up all default datasources using provisioning"
|
||||||
|
|
||||||
|
ln -s -f -r ./datasources/default/default.yaml ../conf/provisioning/datasources/custom.yaml
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo -e "install.sh\n\tThis script installs my basic setup for a debian laptop\n"
|
||||||
|
echo "Usage:"
|
||||||
|
echo " bulk-dashboards - create and provisioning 400 dashboards"
|
||||||
|
echo " default-datasources - provisiong all core datasources"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
local cmd=$1
|
||||||
|
|
||||||
|
if [[ -z "$cmd" ]]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $cmd == "bulk-dashboards" ]]; then
|
||||||
|
bulkDashboard
|
||||||
|
elif [[ $cmd == "default-datasources" ]]; then
|
||||||
|
defaultDatasources
|
||||||
|
elif [[ $cmd == "default-dashboards" ]]; then
|
||||||
|
bulkDashboard
|
||||||
|
else
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
Loading…
Reference in New Issue