make
utility as well as go
, and additionally relies on the Stake Local GitHub Repository. We’ll get that all set up before we start installing the reporting software.
First, let’s run a quick update, ensure we can use APT via HTTPS, and ensure we have common utilities like wget installed, and ensure they are automatically updated:
'/etc/json_exporter/json_exporter.yml' does not exist
, this is expected. We will configure the YML file in step 5.
Use the journal output to follow the progress or check for errors by running the following command:
'/etc/eth-metrics/eth-metrics.yml' does not exist
, this is expected. We will configure the YML file in step 5.
Use the journal output to follow the progress or check for errors by running the following command:
grafana: Installed: 9.5.3 Candidate: 9.5.3 Version table:
Note that Grafana version 9.5.3 is current as of 6/11/23.
Install Grafana:
https://{yourserverIP}:3000
to access the Grafana interface. You should see a login screen. Enter admin
for both the username and password. You’ll be immediately prompted to change your password, which you should, and note on your variables document.
Time to configure the Grafana data source! Navigate to https://{yourserverIP}:3000/datasources
and click on Add data source
. Choose Prometheus, enter http://localhost:9090
for the URL, and then click on Save and Test.
If you see Successfully queried the Prometheus API
, you’re all set!
ExecStart
list, note that you may need to add a\
at the end of the previous line, depending on how your file is formatted.
--monitoring-host 0.0.0.0
Press CTRL + X then Y then ENTER to save and exit.
Adjust your Prysm Validator service file:
ExecStart
list, note that you may need to add a\
at the end of the previous line, depending on how your file is formatted.
--monitoring-host 0.0.0.0
Press CTRL + X then Y then ENTER to save and exit.
Adjust your Geth service file:
ExecStart
list, note that you may need to add a\
at the end of the previous line, depending on how your file is formatted.
--metrics \ --http \ --http.api net,web3,eth,txpool
Press CTRL + X then Y then ENTER to save and exit.
Finally, restart everything you just adjusted. Please note that if the validator is attesting, you should first ensure there are no upcoming attestations or proposals, as there will be ~30 seconds of downtime.
job
represents a set of rules for processing metrics from similar data sources/targets. A Prometheus target is a single data source from which Prometheus should collect and process data using the rules of a specific job. Prometheus jobs are collections of targets for which the same rules are applied. Here, we’ll be setting up the Prometheus jobs that feed data to the dashboard.
SUCCESS: 46 rules found
at the bottom of the returned text.
{validators}
with a comma separated list of your validator public keys or indecies (discoverable via Beaconcha.in if unknown) in the style of -targets: [ 0x123, 0x456, ... 0xXYZ ]
.
If the consensus client being queried is not on the local host or uses a non-standard port, update those on the instance
line.
Then press CTRL + X followed by Y to save.
({YourIp}:3000)
using the password you set up earlier. In the menu, click on Dashboard > New > Import. Copy and paste this file into the Import via panel json
area and click Load
. On the next screen, give your dashboard a unique name, feel free to change the UID, and click Import
.
⚠️ You’re going to see a lot of errors, that is expected! ⚠️
These errors are because we need to update the data source for all panels you just imported. Head back to the data sources menu (Home > Connection > Data sources) and click on Prometheus. From here, click on Dashboards, and click Build a Dashboard
(we will delete this later). Click Import dashboard
and use the import code 3662
, then click load, select the prometheus data source, then import.
Navigate to that dashboard (it should automatically open), click the gear to head to settings, and then click on JSON Model on the left menu. Copy the UID contained in line 19. This is your data source’s UUID!
After ensuring you have the UID copied, click on General, scroll to the bottom, and click Delete Dashboard
.
Armed with the correct UID, let’s fix the validator dashboard. Click on Dashboards at the top of the screen, and navigate back to your dashboard. From there, click the gear to head to settings, and then click on JSON Model. Press CTRL + F and click the down arrow to prepare a find and replace. Paste your data sources UID into the Replace section, and bdaeb540-4cdb-4740-95d4-2fabfb32fb5b
into the Find section (note this is the UID in line 37). Finally, click the replace all button to update your dashboard. To save, FIRST click save changes
at the bottom and THEN save dashboard
at the top of the screen, and finally click save
.
IT’S TIME! Head back to your dashboard and witness a thing of beauty. Well done kid.