After following the other guides, you'll have multiple Rocket Pool nodes on your computer, each of which you'll need to update separately.
For example, instead of changing the container tag once with rocketpool s c
, you'll need to run rp1 s c
, rp2 s c
and so on for each node where you want to change the container tag.
If you want to update all nodes at once to a new Rocket Pool version, use the following script, update-rocketpool.sh
:
#!/bin/bash
~/bin/rocketpool -c ~/.rocketpool service stop --yes
~/bin/rocketpool -c ~/.rocketpool2 service stop --yes
~/bin/rocketpool -c ~/.rocketpool3 service stop --yes
wget https://github.com/rocket-pool/smartnode-install/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool
~/bin/rocketpool service install -d --yes -p ~/.rocketpool
~/bin/rocketpool service install -d --yes -p ~/.rocketpool2
~/bin/rocketpool service install -d --yes -p ~/.rocketpool3
echo "All Rocket Pool nodes have been updated, but not yet started. Run "rp1 s c" for each node to confirm any changes and start the node."
Change the download URL if you're using an arm or mac based computer. You'll need to add 2 new lines to the script for each node you want to update with it. (The example script assumes 3 nodes, remove one if you're just running 2.)
This guide assumes that you've already set up metrics for your first node using the default Docker project name rocketpool
and want to set it up for the second node rocketpool2
. Assumed config paths are ~/.rocketpool
, ~/.rocketpool2
and all the default ports.
This will run a separate prometheus instance for each node to simplify the setup.
You only need one of each, so disable the other instances. Edit ~/.rocketpool2/override/grafana.yml
so it looks like this:
services:
grafana:
x-rp-comment: Add your customizations below this line
profiles:
- donotstart
Edit ~/.rocketpool2/override/exporter.yml
so it looks like this:
services:
node-exporter:
x-rp-comment: Add your customizations below this line
profiles:
- donotstart
Edit ~/.rocketpool2/override/prometheus.yml
so it looks like this:
services:
prometheus:
x-rp-comment: Add your customizations below this line
networks:
monitor-net:
name: rocketpool_monitor-net
external: true
Now you can enable metrics in
rp2 s c
Connect the Grafana container to your second node's network. Edit ~/.rocketpool/override/grafana.yml
so it looks like this:
services:
grafana:
x-rp-comment: Add your customizations below this line
networks:
- rocketpool2
networks:
rocketpool2:
name: rocketpool2_net
external: true
Add a second Prometheus datasource to Grafana, and an explicit datasource for your first Prometheus instance. Add the following to the end of ~/.rocketpool/grafana-prometheus-datasource.yml
:
- name: Prometheus1
type: prometheus
access: proxy
orgId: 1
url: http://rocketpool_prometheus:9091
basicAuth: false
isDefault: false
version: 1
editable: true
- name: Prometheus2
type: prometheus
access: proxy
orgId: 1
url: http://rocketpool2_prometheus:9091
basicAuth: false
isDefault: false
version: 1
editable: true
Restart Grafana to apply your changes:
rp1 s start
Now you can open the Grafana interface and add a new dashboard for your second node. Import the dashboard for your consensus client, and select Prometheus2
as the data source. You'll need to change the name and UID of the new dashboard to avoid overwriting your existing dashboard.
Also delete and replace your existing first dashboard with a new dashboard that uses the explicit Prometheus1
data source, instead of the default Prometheus
.