aboutsummaryrefslogblamecommitdiffstats
path: root/prometheus.sh
blob: 72974e9acb077cdda181dcb71338a559b73ed5ac (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                      





                                                    























                                                                                     
                                                                                                    





                                                                              
#!/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

# Necessary because it's using a static IP address
# configured via dnsmasq and the network isn't ready
# when lxc_wait_for_ip returns. Oh well.
sleep 5

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

lxc_do /usr/bin/env sh -c "until 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