Skip to content

This project monitors Solana validator metrics using Docker and Docker Compose. It also integrates with Prometheus and Grafana for visualization.

License

Notifications You must be signed in to change notification settings

calebcall/solana-monitor-public

 
 

Repository files navigation

Solana Monitor

This project monitors Solana/Agave validator metrics.

Prerequisites

  • Git: To clone the repository
  • Python: To run the application
  • Metrics Collector: To scrape the service /metrics endpoint
  • Logs Collector: To scrape the logs from the validator and monitor

Start the application

1. Clone the Repository

Download the project source code:

git clone https://github.com/calebcall/solana-monitor-public /root/solana-monitor-public/
cd /root/solana-monitor-public

2. Create venv and install dependencies

python3 -m venv monitor-env monitor-env/bin/pip install -r requirements.txt

3. Configure config.yml

/root/solana-monitor-public/config.yml

4. Move service file in to place and enable service

cp /root/solana-monitor-public/agave-monitor.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable agave-monitor

5. Start Service

systemctl start agave-monitor

6. Configure metrics and logs collectors

Any prometheus compatible collector will work. Some examples:

  1. Configure metrics to scrape the port configured in config.yml and endpoint /metrics
    (e.g. http://localhost:12344/metrics)
  2. Configure logs collection
  • Location of validator logs
  • Location of monitor process logs (default: logs/monitor.log)

Grafana Dashboard

The dashboard can be imported from the docs/ directory to your Grafana instance

  • Default is to utilize a label applied by the collector job: agave (can be editted to match your environment)

Node Exporter Metrics

To monitor system-level metrics such as CPU, memory, and disk usage, you can use the Node Exporter.

You can download and import the Node Exporter dashboard with ID 1860 from Grafana's dashboard library:

  1. Go to Grafana and navigate to Dashboards > Import.
  2. Enter the Dashboard ID: 1860 and click Load.
  3. Select your Prometheus datasource and click Import.

This will provide a comprehensive overview of your system's performance using Node Exporter metrics.


Credit

Orignal work from qskyhigh

If you found this project helpful, feel free to support by donating SOL to qskyhigh's wallet.

SOL Wallet Address: FNu9BCwCmgSmeCa56LCAErPBNeAdgnQJsBrrLgVbbMKt

Buy Me A Coffee

About

This project monitors Solana validator metrics using Docker and Docker Compose. It also integrates with Prometheus and Grafana for visualization.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%