🦏
ETH Home Staking Collection
DVT Home Staking Curriculum
DVT Home Staking Curriculum
  • The DVT Home Staking Curriculum
  • Curriculum breakdown & timeline
  • Understanding ETH validators
    • Introduction to ETH Validators
    • Roles & Responsibilities of a node operator
    • Rewards and penalties
    • Importance of client diversity
    • Distributed Validator Technologies (DVTs)
    • Economics of using DVTs (WIP)
      • Diva Staking (WIP)
      • Obol (WIP)
      • SSV (WIP)
    • Bonded Validators
    • Economics of bonded validators (WIP)
  • Hardware & systems setup
    • Setup Overview
    • Hardware & system requirements
    • Procuring your hardware
    • Assemble your hardware
    • Practicing for free on Cloud VMs
      • Google Cloud
      • Alibaba Cloud
  • Linux OS, Networking, & Security
    • Install and prepare the OS
    • Networking & network security
    • Device level security setup
    • Verifying checksums
  • Installing & configuring your EL+CL clients
    • Set up and configure execution layer client
      • Nethermind
      • Besu
      • Geth
      • Erigon
      • Reth
    • Set up and configure consensus layer client
      • Teku BN
      • Nimbus BN
      • Lodestar BN
      • Lighthouse BN
      • Prysm BN
  • Keystore generation & MEV-Boost
    • Validator key generation
    • Set up and configure MEV-boost
  • Native Solo Staking Setup
    • Validator client setup
      • Teku VC
      • Nimbus VC
      • Lodestar VC
      • Lighthouse VC
      • Prysm VC
    • Depositing 32 ETH into your validator
    • Exiting your validator
  • Monitoring, Maintenance, and Updates
    • Set up monitoring suite
      • Installing & configuring Prometheus
      • Installing & configuring Node Exporter
      • Installing & configuring Grafana
      • Beaconcha.in App API
      • Client Uptime Check
    • Maintenance & Updates
      • Nethermind
      • Besu
      • Teku
      • Nimbus
      • Lodestar
      • Updating the monitoring suite
      • Preparing for Pectra
  • DVT Setup
    • Diva Staking
      • Diva Staking client setup
        • Default - All-in-one setup
        • Advanced - with standalone Lodestar VC
      • Registering your Diva node
      • Updating your Diva client
      • Monitoring your Diva Node
    • Obol
      • Techne Bronze Speedrun (Launchpad)
      • Obol + Bonded Validators (Techne Silver)
        • Obol + Lido CSM
    • SSV
      • SSV + Lido CSM (WIP)
      • SSV Operator
      • SSV Staker
  • Bonded Validators Setup
    • Lido CSM
      • Generating CSM keystores
      • Set Fee Recipient Address
        • Method 1: Configure on validator keys
        • Method 2: Configure on separate validator client
        • Verifying Fee Recipient Registered on MEV Relays
      • Upload/Remove/View validator keys
      • Rewards & bonds
      • Exiting CSM validators
        • "Lazy" exits (TESTNET ONLY)
        • Proper Exits
      • Role/Address management
      • Monitoring
      • Automations
        • CSM with ETHPillar
        • CSM with ETH Docker
        • CSM with Dappnode
    • Puffer
      • Non-Enclave: 2 ETH
    • Ether.fi
      • Receive distributed validator keyshares
    • Stader (WIP)
    • Rocketpool (WIP)
  • Liquid Staking Vaults
    • Stakewise V3
  • Mainnet
    • Mainnet Deployment
    • Heroglpyhs (WIP)
  • Best practices
    • Slashing prevention
    • Maximising uptime and performance
    • Optimising security
    • Managing your withdrawal wallet
  • Tips
    • Advanced networking
    • Downloading files from your node
  • Useful resources
    • General resources
    • Hoodi Faucets
  • Automation/tools
    • ETHPillar
    • ETH Docker
    • Automated power on/off
      • Wake-on-LAN (WoL)
      • Network UPS Tools (NUT)
    • Validator Healthcheck Alerts
  • Solo Stakers Guild
    • Lido CSM+SSV+Obol (Testnet)
Powered by GitBook
On this page
  • Download and install Grafana
  • Start the Grafana server.
  • Configure the Grafana Dashboard
  • Screenshot samples of Grafana Dashboard
  • [Optional] Pushgateway
  1. Monitoring, Maintenance, and Updates
  2. Set up monitoring suite

Installing & configuring Grafana

Download and install Grafana

Install Grafana using the APT package manager - Download the Grafana GPG key, add Grafana to the APT sources, refresh the apt cache, and check that Grafana has been added to the APT repository.

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt update
apt-cache policy grafana

Expected output: Ensure the top-most version matches with latest version here - https://grafana.com/grafana/download

grafana:
  Installed: (none)
  Candidate: 10.0.3
  Version table:
     10.0.3 500
        500 <https://packages.grafana.com/oss/deb> stable/main amd64 Packages
     10.0.2 500
        500 <https://packages.grafana.com/oss/deb> stable/main amd64 Packages
     10.0.1 500
        500 <https://packages.grafana.com/oss/deb> stable/main amd64 Packages

Run the installation command.

sudo apt install -y grafana

Start the Grafana server.

sudo systemctl start grafana-server
sudo systemctl status grafana-server

The output should say Grafana is “active (running)”. Press CTRL-C to exit and Grafana will continue to run.

Use the following command to check the logs for any warnings or errors:

sudo journalctl -fu grafana-server -o cat | ccze -A

Press CTRL-C to exit.

If the Grafana service is running smoothly, we can now enable it to fire up automatically when rebooting the system.

sudo systemctl enable grafana-server

Configure the Grafana Dashboard

  1. go to http://<yourserverip>:3000/

  2. Enter admin for both username and password

  3. Select Data Sources and click on Add data source , then choose Prometheus and enter http://localhost:9090 for the URL

  4. Setup dashboards - On the left menu bar, click on Dashboards >> Import

    • Execution client dashboard

      • Nethermind: Paste the JSON text from here

      • Besu: Enter the dashboard ID - 10273

      • Geth: Enter the dashboard ID - 13877

    • Consensus client dashboard

      • Teku: Enter the dashboard ID - 16737

        • Nimbus: Paste the JSON text from the options below

          • Nimbus Github

          • Metanull

        • Lodestar: Paste the JSON text from here

        • Lighthouse: Paste the JSON text from here

        • Prysm: Paste the JSON text from here

    • Node Exporter dashboard - Paste the JSON text here

  5. Select Prometheus from the "Select a Prometheus data source here" drop down field.

Screenshot samples of Grafana Dashboard

Execution client:

Consensus client:

Node Exporter:

[Optional] Pushgateway

This dependency is specific to the Nethermind execution layer client to enable the Grafana monitoring dashboard to work properly if you are following along the Nethermind documentation.

Download the latest version and the checksums list.

curl -LO https://github.com/prometheus/pushgateway/releases/download/v1.10.0/pushgateway-1.10.0.linux-amd64.tar.gz
echo "e2310c978da19362f2c7f91668550fdbbbb7421f7dfc8eb81a927e017f7b8d17  pushgateway-1.10.0.linux-amd64.tar.gz" | sha256sum --check

Expected output: Verify output of the checksum verification

pushgateway-1.10.0.linux-amd64.tar.gz: OK

If checksum is verified, extract the files and move them into the (/usr/local/bin) directory for neatness and best practice.

tar xvf pushgateway-1.10.0.linux-amd64.tar.gz
cd pushgateway-1.10.0.linux-amd64
sudo cp pushgateway /usr/local/bin

Then, clean up the duplicated copies.

cd
rm -r pushgateway-1.10.0.linux-amd64 pushgateway-1.10.0.linux-amd64.tar.gz

Create an account (pushgateway) without server access for Pushgateway to run as a background service.

sudo useradd --no-create-home --shell /bin/false pushgateway

Create the systemd configuration file to run Pushgateway.

sudo nano /etc/systemd/system/pushgateway.service

Paste the following contents into the configuration file.

[Unit]
Description=Prometheus Pushgateway
After=network.target
Wants=network.target

[Service]
User=pushgateway
Group=pushgateway
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/pushgateway

[Install]
WantedBy=default.target

Once you're done, save with Ctrl+O and Enter, then exit with Ctrl+X.

Start the Pushgateway service.

sudo systemctl daemon-reload
sudo systemctl start pushgateway
sudo systemctl enable pushgateway
sudo systemctl status pushgateway

Expected output: The output should say Pushgateway is “active (running)”. Press CTRL-C to exit and Pushgateway will continue to run.

Monitor for causes of error messages otherwise.

sudo journalctl -fu pushgateway -o cat | ccze -A
PreviousInstalling & configuring Node ExporterNextBeaconcha.in App API

Last updated 6 months ago