Now that your node is up and running and you have one or more minipools attached, you'll need to keep an eye on everything to make sure it's running smoothly.
You can track your machine either:
It is recommended to use a combination of both depending on your needs.
With respect to your machine's status, there are a few useful metrics you'll probably want to keep an eye on:
The sections below show you some ways to monitor things, but they require you to be logged into the terminal of your machine.Grafana web dashboard but it is still under development. Stay tuned for the completion of that section!
There is a better, much more convenient and much nicer-looking method that uses a
The first three can be easily viewed with the htop
program.
This will give you a nice live view into your system resources, as shown by this screenshot from a Raspberry Pi:
On the top display with the bars, the numbered bars each refer to a CPU core's current usage.
Mem
shows you how much RAM you're currently using (in this screenshot, 1.75 GB) and how much you have total (3.70 GB).
Swp
shows you how much swap space you're using (85.8 MB) and how much you have total (12.0 GB).
On the bottom table, each row represents a process.
Your Execution and Consensus clients will likely be on top (in this case, Geth and Nimbus) which you can see in the rightmost column labeled Command
.
The RES
column shows you how much RAM each process is taking - in this screenshot, Geth is taking 748 MB and Nimbus is taking 383 MB.
The CPU%
column shows you how much CPU power each process is consuming.
100% represents a single core, so if it's over 100%, that means it's using a lot from multiple cores (like Geth is here, with 213%).
Keeping an eye on how much disk space you have free is easy to do with the following command:
This will provide output similar to the following example:
For conventional setups where you have one drive that stores both your Operating System and your Execution and Consensus chain data, you just need to look at the entry that has /
in the Mounted on
column.
This represents your main disk.
If that ever looks like it's running out of space (say, 80% used or so), then you need to start thinking about doing some cleanup.
For example, if you're running Geth, you may want to look at how to prune it to clear up some space.
For setups that store the Execution and Consensus chain data on a separate drive, you'll want to look at the row that has your chain data folder in the Mounted on
column as well.
In this example we mounted an external SSD to /mnt/rpdata
, so we'll have to keep an eye on it to make sure it doesn't grow too large either.
If you want to track how much network I/O your system uses over time, you can install a nice utility called vnstat
.
Here's an example of installing it on a Ubuntu / Debian system:
To run it, do this (assuming eth0
is the name of the network interface you use for your Internet connection):
This won't work right away because it needs time to collect data about your system, but as the days and weeks pass, it will end up looking like this:
This will let you keep tabs on your total network usage, which might be helpful if your ISP imposes a data cap.
Note that most modern systems more commonly use other network interfaces like eno0 and enp0s31f6 and not eth0. If you need to check your network interface, run the following command:
Ethernet (hard-wire) devices usually start with e
, such as the examples above.
Wireless devices usually start with w
.
Monitoring your Smartnode Stack with Alert Notifications walks through using the Smartnode alert notification functionality to receive notifications about the health and important events of your Rocket Pool Smartnode.
The best monitoring uses a Swiss-cheese model: every tool has holes, but if you stack them on top of each-other there is less of a chance anything falls through and catches you by surprise.
Please note that these third-party tools are used by the Rocket Pool community, but are not officially endorsed or supported by the Rocket Pool team. If you have a tool suggestion, or are a tool owner, you are very welcome to add a pull request with details on your tool.
The Beaconcha.in block explorer website and app provide a way to track your validator's performance by looking at it's on-chain activity. They also have the option to receive email notifications for significant events like downtime. Navigate to their site, and enter the public key for your validator in the search box on the top of the screen.
If you forgot your validator's public key, you can easily retrieve it with the command rocketpool minipool status
.
If everything is set up right, you should see something like this:
The above link is for the mainnet version of Beaconcha.in. If you're running on the Holesky Testnet, use this link instead!
This is a record of all of the Beacon Chain activity for your validator. You can use it to check your validator's balance on the Beacon Chain to watch it grow over time and calculate your APY.
You can also use it to quickly gauge if your validator is alive and running correctly.
If it is, all of the attestations should say Attested
for their Status, and ideally all of the Opt. Incl. Dist. should be 0 (though an occasional 1 or 2 is fine).
If there are lots of blocks that say Missed
on them, then your validator is not working properly.
You should check the logs of the eth1
, eth2
, and validator
services with rocketpool service logs ...
if you're using Docker or Hybrid mode (or the corresponding log scripts if you're using Native mode) to look for problems.
You should pin this tab or create a bookmark with it so you can quickly jump to it and check the status of your validator.
Beaconcha.in has a dashboard view that allows you to monitor multiple validators or minipools at once. Simply add your validator indices one at a time. If you have a lot of minipools, you can run:
to get a comma-separated list, and place it in the URL bar like so: https://beaconcha.in/dashboard?validators=123456,123457
The Beaconcha.in website is a great way to view metrics and set up email alerts. Their mobile app has a more "at-a-glance" nature. It also features a push notification service that includes some useful alerts like:
Note that the app has a free version, and paid options with convenience features like homescreen widgets.
The Beaconcha.in website has a feature that allows users to rename their validators, making them easier to identify/search.
To be able to use this feature you need to sign a message using your node wallet's private key, in order to prove you're the person who controls that validator.
The Smartnode v1.5.1 includes the ability to sign messages with your node wallets's private key by using the command rocketpool node sign-message
, then providing the message that you want to sign.
It must contain the term 'beaconcha.in' to be used to rename your validators.
Open your validator page on Beaconcha.in and click on the Edit validator name
button.
Copy the result from the sign-message command and paste it in the "Signature" field.
Fill your desired nickname and click the Save changes
button.
The Uptimerobot service is a simple service that scans an IP address for an open port. If your machine becomes unavailable on the port you specified, Uptimerobot can send you a notification that there is an issue. The service was a wide variety of notification options including email, push notification, SMS, phone call, and webhooks.
The setup screen looks something like this:
The IP to monitor is the external IP of your node, which you can find by logging into your node by ssh
or physically, and opening icanhazip.com in a browser or running the following command in your terminal:
The port to monitor depends on your node setup; users running the typical Smartnode installation will likely have forwarded ports 30303 and 9001 for the Execution and Consensus clients respectively, so these are good choices for uptime monitoring.
There are multiple community-lead initiatives to provide an overview of your node performance, as well as the Rocket Pool network as a whole.
An in-depth network analytics explorer is rocketscan.io, made by community member Peteris
.
It features detailed network and node metrics, including a timeline of your node activity.
Monitoring your Smartnode Stack with Alert Notifications walks through using the Smartnode alert notification functionality which includes a notification when there are updates available for your node.
The Pushover service allows you to send yourself push notifications.
This is an advanced activity to undertake.
It can be helpful if you are familiar with shell scripting, but is not recommended if you are not comfortable in a shell environment.
To get started with Pushover:
Calling the Pushover API to send you a push notification is done through a curl
call structured as such:
If you set up automatic updates using the unattended-upgrades
and update-nofifier
packages, you may want to receive a push notification when there are updates available for your node.
A potential way to do this is to create a script in ~/update-notifier.sh
and to trigger it daily at 9:00 using crontab
.
To do this, first create the script by running:
Then paste the following script:
Next, run the following command to mark the script as executable:
Now run the following command to open your crontab:
Then use the arrow keys to scroll down, and add the line * 9 * * * ~/update-notifier.sh
so the file looks like this:
The press control+x
to exit and press Y
when asked whether you want to save your changes.
You should now receive a notification at 09:00 local time if you have updates. You can manually run the script by typing this in your terminal:
Some home stakers are using an Uninterruptible power supply with the apcupsd
utility to make sure their node shuts down gracefully if their power goes out.
The apcupsd
utility uses the apccontrol
script to manage its logic, thus it is possible to monitor the activity of this daemon by editing the /etc/apcupsd/apccontrol
file.
To do this, run:
Then at the top of the line add the following code so the file looks like this:
This will send you a push notification whenever your UPS daemon takes action, includion periodic "self test" functionality.