From 281b412eea700902562615ce0be693fe087e1f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 20 Apr 2018 12:15:43 +0200 Subject: Add the prometheus/grafana container script It only creates an environment looking at Grafana and Prometheus themselves. More will be added as load testing environments get created. --- priv/grafana_prometheus_data_source.json | 11 +++++++ prometheus.sh | 50 ++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 priv/grafana_prometheus_data_source.json create mode 100755 prometheus.sh diff --git a/priv/grafana_prometheus_data_source.json b/priv/grafana_prometheus_data_source.json new file mode 100644 index 0000000..3811d8b --- /dev/null +++ b/priv/grafana_prometheus_data_source.json @@ -0,0 +1,11 @@ +{ + "name": "Prometheus", + "type": "prometheus", + "access": "proxy", + "url": "http://localhost:9090", + "basicAuth": false, + "isDefault": true, + "jsonData": {"timeInterval": "5s"}, + "version": 2, + "readOnly": false +} 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 -- cgit v1.2.3