e7mon

Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs.
Requires the following APIs to be exposed on your execution client:

  • eth: querying the chain
  • net: getting P2P stats
  • web3: client information

Installation

From source

Install Go (minimum version 1.16)

Install dependencies:

sudo apt-get install libpcap-dev build-essential

Build the binary:

git clone https://github.com/netbound/e7mon
cd e7mon
make install

This will put the binary in $GOBIN, which is in your PATH. You can verify the installation with:

e7mon client-versions

Usage

First, generate the YAML config file. This is included in the binary and will be written to $HOME/.config/e7mon/config.yml.

e7mon init

Next up, change the config to match your settings and preferences. Important to fill out is the correct API endpoint for each client.

Now run the monitor program:

# Monitor both clients
e7mon

# Execution client only
e7mon execution

# Beacon node only
e7mon beacon

Use the help command for all the options:

e7mon help

NAME:
   e7mon - Monitors your Ethereum clients

USAGE:
   e7mon [global options] command [command options] [arguments...]

COMMANDS:
   init, i              initializes configs
   client-versions, cv  prints client versions
   execution, e         monitors the execution client (eth1)
   beacon, b            monitors the beacon node (eth2)
   help, h              Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help (default: false)

Features

  • Execution monitor
    • Block monitor
    • P2P stats
      • Peers avg latency (might not be worth it as only geth has the admin_peers RPC call)
    • MEV alerts
    • More generic stats
  • Beacon monitor
    • Block monitor
    • P2P stats
      • Peers avg latency
    • More generic stats
    • Finalized checkpoints
  • Validator monitor
    • Attestations
    • Produced blocks
    • Block rewards
    • Validator stats
  • Verbosity levels
  • Integrate with beaconcha.in
  • Messaging services

Disclaimer

This is alpha software. If you find bugs, please submit an issue. Things can and will break. Tested with the Erigon
execution client and Lighthouse consensus node.

Sources:

GitHub

View Github