Get jumphost-linux-01 set up to handle metrics.
Bug: skia:
Change-Id: Ief7b612b20656196d90f3f63233a754862b6c0e0
Reviewed-on: https://skia-review.googlesource.com/26883
Reviewed-by: Eric Boren <borenet@google.com>
diff --git a/prometheus/Makefile b/prometheus/Makefile
index d4ba9de..6538067 100644
--- a/prometheus/Makefile
+++ b/prometheus/Makefile
@@ -33,9 +33,12 @@
push_skolo: build prom
promtool check-config sys/jumphost-rpi-01/prometheus.yml
+ promtool check-config sys/jumphost-linux-01/prometheus.yml
CONFIG=rpi-01 ./build_skolo_release "`git log -n1 --format=%s`"
+ CONFIG=linux-01 ./build_skolo_release "`git log -n1 --format=%s`"
go install -v ../push/go/pushcli
pushcli prometheus-jumphost-rpi-01 jumphost-rpi-01
+ pushcli prometheus-jumphost-linux-01 jumphost-linux-01
push_sheriff_emails: build
./build_sheriff_emails_release "`git log -n1 --format=%s`"
diff --git a/prometheus/build_config_release b/prometheus/build_config_release
index efc6d2e..0b55e09 100755
--- a/prometheus/build_config_release
+++ b/prometheus/build_config_release
@@ -9,8 +9,8 @@
# Copy files into the right locations in ${ROOT}.
copy_release_files()
{
-INSTALL="sudo install -D --verbose --backup=none --group=root --owner=root"
-INSTALL_DIR="sudo install -d --verbose --backup=none --group=root --owner=root"
+INSTALL="fakeroot install -D --verbose --backup=none --group=root --owner=root"
+INSTALL_DIR="fakeroot install -d --verbose --backup=none --group=root --owner=root"
${INSTALL} --mode=644 -T ./sys/prometheus.yml ${ROOT}/etc/prometheus/prometheus.yml
${INSTALL} --mode=644 -T ./sys/alert.rules ${ROOT}/etc/prometheus/alert.rules
diff --git a/prometheus/build_graphite_exporter_release b/prometheus/build_graphite_exporter_release
index f6293ff0..33652be 100755
--- a/prometheus/build_graphite_exporter_release
+++ b/prometheus/build_graphite_exporter_release
@@ -9,8 +9,8 @@
# Copy files into the right locations in ${ROOT}.
copy_release_files()
{
-INSTALL="sudo install -D --verbose --backup=none --group=root --owner=root"
-INSTALL_DIR="sudo install -d --verbose --backup=none --group=root --owner=root"
+INSTALL="fakeroot install -D --verbose --backup=none --group=root --owner=root"
+INSTALL_DIR="fakeroot install -d --verbose --backup=none --group=root --owner=root"
${INSTALL} --mode=755 -T ./tmp/graphite_exporter ${ROOT}/usr/local/bin/graphite_exporter
${INSTALL} --mode=644 -T ./sys/graphite-exporter.service ${ROOT}/etc/systemd/system/graphite-exporter.service
diff --git a/prometheus/build_release b/prometheus/build_release
index a516ece..753f207 100755
--- a/prometheus/build_release
+++ b/prometheus/build_release
@@ -9,8 +9,8 @@
# Copy files into the right locations in ${ROOT}.
copy_release_files()
{
-INSTALL="sudo install -D --verbose --backup=none --group=root --owner=root"
-INSTALL_DIR="sudo install -d --verbose --backup=none --group=root --owner=root"
+INSTALL="fakeroot install -D --verbose --backup=none --group=root --owner=root"
+INSTALL_DIR="fakeroot install -d --verbose --backup=none --group=root --owner=root"
${INSTALL} --mode=755 -T ${GOPATH}/bin/webhook_proxy ${ROOT}/usr/local/bin/webhook_proxy
${INSTALL} --mode=755 -T ./tmp/promtool ${ROOT}/usr/local/bin/promtool
diff --git a/prometheus/build_sheriff_emails_release b/prometheus/build_sheriff_emails_release
index f470736..2c37cb9 100755
--- a/prometheus/build_sheriff_emails_release
+++ b/prometheus/build_sheriff_emails_release
@@ -10,7 +10,7 @@
# Copy files into the right locations in ${ROOT}.
copy_release_files()
{
-INSTALL="sudo install -D --verbose --backup=none --group=root --owner=root"
+INSTALL="fakeroot install -D --verbose --backup=none --group=root --owner=root"
${INSTALL} --mode=755 -T ${GOPATH}/bin/sheriff_emails ${ROOT}/usr/local/bin/sheriff_emails
${INSTALL} --mode=644 -T ./sys/sheriff-emails.service ${ROOT}/etc/systemd/system/sheriff-emails.service
diff --git a/prometheus/sys/jumphost-linux-01/jumphost-prom-tunnel.service b/prometheus/sys/jumphost-linux-01/jumphost-prom-tunnel.service
new file mode 100644
index 0000000..64e243e
--- /dev/null
+++ b/prometheus/sys/jumphost-linux-01/jumphost-prom-tunnel.service
@@ -0,0 +1,25 @@
+[Unit]
+Description=ssh tunnel to skia-prom for push prom metrics.
+Wants=network-online.target
+Wants=sshd.service
+
+[Service]
+Environment=HOME=/home/chrome-bot
+
+# Start a tunnel that forwards requests to localhost:20006 to skia-prom:20006.
+ExecStart=/usr/bin/gcloud compute ssh default@skia-prom \
+ --zone=us-central1-c \
+ -- \
+ -NT -L *:20006:localhost:20006 \
+ -o "ExitOnForwardFailure=yes" \
+ -o "ServerAliveInterval=30" \
+ -o "ServerAliveCountMax=10"
+
+RestartSec=3
+Restart=always
+User=chrome-bot
+Group=chrome-bot
+LimitNOFILE=10000
+
+[Install]
+WantedBy=multi-user.target
diff --git a/prometheus/sys/jumphost-linux-01/jumphost-rev-prom-tunnel.service b/prometheus/sys/jumphost-linux-01/jumphost-rev-prom-tunnel.service
new file mode 100644
index 0000000..09dabe3
--- /dev/null
+++ b/prometheus/sys/jumphost-linux-01/jumphost-rev-prom-tunnel.service
@@ -0,0 +1,27 @@
+[Unit]
+Description=ssh tunnel to skia-prom for prom metrics federation.
+Wants=network-online.target
+Wants=sshd.service
+
+[Service]
+Environment=HOME=/home/chrome-bot
+# Start a tunnel that forwards requests to skia-prom:12001 to localhost:8000,
+# which is where the Prometheus instance runs on the jumphost.
+# The port number 12001 is defined in infra/prometheus/sys/prometheus.yml and is
+# reserved for this jumphost.
+ExecStart=/usr/bin/gcloud compute ssh default@skia-prom \
+ --zone=us-central1-c \
+ -- \
+ -NT -R 12002:localhost:8000 \
+ -o "ExitOnForwardFailure=yes" \
+ -o "ServerAliveInterval=30" \
+ -o "ServerAliveCountMax=10"
+
+RestartSec=3
+Restart=always
+User=chrome-bot
+Group=chrome-bot
+LimitNOFILE=10000
+
+[Install]
+WantedBy=multi-user.target
diff --git a/prometheus/sys/jumphost-linux-01/prometheus.yml b/prometheus/sys/jumphost-linux-01/prometheus.yml
new file mode 100644
index 0000000..6fca658
--- /dev/null
+++ b/prometheus/sys/jumphost-linux-01/prometheus.yml
@@ -0,0 +1,17 @@
+scrape_configs:
+ - job_name: 'pulld-not-gce'
+ static_configs:
+ - targets: ['localhost:20000']
+
+ - job_name: 'file-backup'
+ static_configs:
+ - targets: ['localhost:20002']
+ labels:
+ backup: router_config
+
+ # Prometheus self monitoring.
+ - job_name: 'prometheus'
+ static_configs:
+ - targets: ['localhost:8000']
+
+
diff --git a/prometheus/sys/jumphost-rpi-01/jumphost-prom-tunnel.service b/prometheus/sys/jumphost-rpi-01/jumphost-prom-tunnel.service
index 00fd225..64e243e 100644
--- a/prometheus/sys/jumphost-rpi-01/jumphost-prom-tunnel.service
+++ b/prometheus/sys/jumphost-rpi-01/jumphost-prom-tunnel.service
@@ -6,14 +6,14 @@
[Service]
Environment=HOME=/home/chrome-bot
-# Start a tunnel that forwards requests to skia-jumphost:20006 to skia-prom:20006.
+# Start a tunnel that forwards requests to localhost:20006 to skia-prom:20006.
ExecStart=/usr/bin/gcloud compute ssh default@skia-prom \
--zone=us-central1-c \
-- \
-NT -L *:20006:localhost:20006 \
- -o "ExitOnForwardFailure yes" \
- -o "ServerAliveInterval 30" \
- -o "ServerAliveCountMax 10"
+ -o "ExitOnForwardFailure=yes" \
+ -o "ServerAliveInterval=30" \
+ -o "ServerAliveCountMax=10"
RestartSec=3
Restart=always
diff --git a/prometheus/sys/jumphost-rpi-01/jumphost-rev-prom-tunnel.service b/prometheus/sys/jumphost-rpi-01/jumphost-rev-prom-tunnel.service
index 47a32e1..32ea951 100644
--- a/prometheus/sys/jumphost-rpi-01/jumphost-rev-prom-tunnel.service
+++ b/prometheus/sys/jumphost-rpi-01/jumphost-rev-prom-tunnel.service
@@ -5,15 +5,17 @@
[Service]
Environment=HOME=/home/chrome-bot
-# Start a tunnel that forwards requests to skia-prom:12001 to skia-jumphost:8000,
+# Start a tunnel that forwards requests to skia-prom:12001 to localhost:8000,
# which is where the Prometheus instance runs on the jumphost.
+# The port number 12001 is defined in infra/prometheus/sys/prometheus.yml and is
+# reserved for this jumphost.
ExecStart=/usr/bin/gcloud compute ssh default@skia-prom \
--zone=us-central1-c \
-- \
-NT -R 12001:localhost:8000 \
- -o "ExitOnForwardFailure yes" \
- -o "ServerAliveInterval 30" \
- -o "ServerAliveCountMax 10"
+ -o "ExitOnForwardFailure=yes" \
+ -o "ServerAliveInterval=30" \
+ -o "ServerAliveCountMax=10"
RestartSec=3
Restart=always
diff --git a/prometheus/sys/prometheus.yml b/prometheus/sys/prometheus.yml
index 0c20842..d515d7e 100644
--- a/prometheus/sys/prometheus.yml
+++ b/prometheus/sys/prometheus.yml
@@ -231,3 +231,7 @@
- 'localhost:12001'
labels:
federated: 'jumphost-rpi-01'
+ - targets:
+ - 'localhost:12002'
+ labels:
+ federated: 'jumphost-linux-01'