aboutsummaryrefslogtreecommitdiffstats
path: root/prometheus.sh
blob: 72974e9acb077cdda181dcb71338a559b73ed5ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/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