Skip to content

netbound/e7mon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

e7mon

Tool for monitoring your Ethereum clients. Client-agnostic as it queries the standardized JSON-RPC APIs.

Getting started

Requirements

  • Install Go (minimum version 1.16)

  • Install dependencies:

sudo apt-get install libpcap-dev build-essential

Installation

  • With Go
# Install e7mon
go get -v github.com/netbound/e7mon

# Set necessary capabilities (required for latency scans)
sudo setcap 'CAP_NET_RAW,CAP_NET_ADMIN=eip' $GOBIN/e7mon
  • From source

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

Requires the following APIs to be exposed on your execution client:

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

And the API should be enabled on your beacon node as well.

Running

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 execution client, beacon node and validator
e7mon

# Execution client only
e7mon execution

# Beacon node only
e7mon beacon

# Validator only
e7mon validator

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)
   validator, v         monitors the validator (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
    • MEV alerts
    • More generic stats
  • Beacon monitor
    • Block monitor
    • P2P stats
      • Peers avg latency
    • More generic stats
    • Finalized checkpoints
  • Validator monitor
    • Attestations
    • Produced blocks
    • Sync committees
    • 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: