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'