aboutsummaryrefslogtreecommitdiffstats
path: root/prometheus.sh
diff options
context:
space:
mode:
Diffstat (limited to 'prometheus.sh')
-rwxr-xr-xprometheus.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/prometheus.sh b/prometheus.sh
new file mode 100755
index 0000000..31f3d91
--- /dev/null
+++ b/prometheus.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env sh
+
+set -e
+#set -x
+
+NAME=$1
+DIST=archlinux
+RELEASE=current
+ARCH=amd64
+PACKAGES="git sudo base-devel grafana"
+
+for f in ci.d/*; do source "$f"; done
+
+lxc_destroy
+lxc_create $DIST $RELEASE $ARCH
+lxc_wait_for_ip
+pacman_upgrade
+pacman_install $PACKAGES
+
+echo "[auth.anonymous]" >> /etc/grafana.ini
+echo "enabled = true" >> /etc/grafana.ini
+echo "org_role = Admin" >> /etc/grafana.ini
+
+lxc_do git clone https://aur.archlinux.org/prometheus-bin.git /tmp/prometheus-bin
+lxc_do chown -R nobody:nobody /tmp/prometheus-bin
+lxc_do sudo -u nobody bash -c 'cd /tmp/prometheus-bin && makepkg'
+lxc_do bash -c 'pacman --noconfirm -U /tmp/prometheus-bin/prometheus-bin*.pkg.tar.xz'
+
+lxc_do bash -c "printf \"%s\n\" \
+ \"\" \
+ \" - job_name: 'grafana'\" \
+ \"\" \
+ \" static_configs:\" \
+ \" - targets: ['localhost:3000']\" >> /etc/prometheus/prometheus.yml"
+
+lxc_do systemctl enable grafana
+lxc_do systemctl enable prometheus
+
+lxc_restart
+
+until lxc_do curl http://admin:admin@localhost:3000/api/org
+do
+ sleep 1
+done
+
+echo
+<$( cd "$( dirname "$0" )" && pwd )/priv/grafana_prometheus_data_source.json \
+ lxc_do curl -H "content-type: application/json" --data-binary @- \
+ http://admin:admin@localhost:3000/api/datasources
+echo