Skip to content

EthAware is monitoring tool is designed to monitor a Ethereum clients using Grafana and Prometheus. It includes a pre-built system usage metrics dashboard in JSON format and configuration files for Prometheus.

License

GoutamVerma/ETH-Aware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EthAware

logo

ETH Aware is monitoring tool designed to monitor a Ethreum node(including Nethermind, Geth, Besu, Erigon) using Grafana and Prometheus. It includes a pre-configured yml files for Prometheus and JSON format Grafana dashboards.

Getting Started

Prerequisites

  • Linux system with Bash shell.
  • Access to a Grafana Cloud account.

Installing ETH Aware

  1. Clone the ETH-Aware repository:
    $ git clone https://github.com/GoutamVerma/ETH-Aware.git
  1. Navigate to the ETH-Aware directory:
    $ cd ETH-Aware
  1. Give executable permission to a script file "script.sh"
    $ chmod +x intallation.sh
  1. Run the installation script:
    $ ./intallation.sh

This script will ask you for the following information:

  • Which Ethereum client you are using (Nethermind, Geth, Besu, Erigon or Other)
  • Your Grafana Cloud credentials for remote_write (username, URL, and key)

You can find the /api/prom/push URL, username, and password for your metrics endpoint by clicking on Details in the Prometheus card of the Cloud Portal. After providing this information, the script will start the Prometheus, Node_exporter in background and set up the remote_write for Prometheus.

Importing Dashboards in Grafana Cloud

To use an ETH-Aware dashboard in your Grafana Cloud instance, follow these steps:

  1. Log in to your Grafana Cloud account.

  2. Click on the "+" button in the left-hand menu and select "Import".

  3. Select the desired dashboard from the Dashboards directory of the ETH-Aware repository:

    • nethermind.json for Nethermind
    • geth.json for Geth
    • besu.json for Besu
    • erigon.json for Erigon
    • system-usage.json for system usage (common for all Ethereum clients)
  4. On the "Import Dashboard" page, select the Prometheus data source that you want to use.

  5. Click "Import" to import the dashboard into your Grafana Cloud instance.

  6. Customize the dashboard as needed. You can add or remove panels, change the display options, and more.

Demo Video

Untitled.design.1.mp4

Troubleshoot

This bash script are assuming that your Ethereum client are already exposing their metrics to their default port:

Directory Structure

    ETH-Aware/
    ├── Dashboards/
    │   ├── besu.json
    │   ├── erigon.json
    │   ├── geth.json
    │   ├── nethermind.json
    │   └── system-usage.json
    ├── Docs/
    │   ├── Import-dashboards.md
    │   ├── Installation.md
    │   ├── add-ethereum-client.md
    │   ├── remote-write.md
    │   └── README.md
    ├── Monitor/
    │   ├── Besu/
    │   │   └── prometheus.yml
    │   ├── Erigon/
    │   │   └── prometheus.yml
    │   ├── Geth/
    │   │   └── prometheus.yml
    │   ├── Nethermind/
    │   │   └── prometheus.yml
    │   └── Other/
    │       └── prometheus.yml
    ├── Snapshots
    ├── License.txt
    ├── README.md
    └── installation.sh

Features

This monitoring tool provides the following features:

  • Real-time monitoring of Nethermind node performance and system metrics.
  • Customizable dashboards to Ethereum node performance data.
  • Alerting and notification capabilities to monitor for critical issues.

Usage

  • Once you have imported an ETH-Aware dashboard, it will automatically collect metrics from your Ethereum client and display them in Grafana Cloud. You can access your dashboard at any time by logging into your Grafana Cloud account.

  • If you want to remove a dashboard, you can click on the gear icon in the top-right corner of the dashboard and select "Delete".

Contributing

If you'd like to contribute to the development of this monitoring tool, please feel free to submit pull requests or open issues on the repository. We welcome contributions from the community or individuals!

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

EthAware is monitoring tool is designed to monitor a Ethereum clients using Grafana and Prometheus. It includes a pre-built system usage metrics dashboard in JSON format and configuration files for Prometheus.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages