This project monitors Solana/Agave validator metrics.
- 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
Download the project source code:
git clone https://github.com/calebcall/solana-monitor-public /root/solana-monitor-public/
cd /root/solana-monitor-public
python3 -m venv monitor-env monitor-env/bin/pip install -r requirements.txt
/root/solana-monitor-public/config.yml
cp /root/solana-monitor-public/agave-monitor.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable agave-monitor
systemctl start agave-monitor
Any prometheus compatible collector will work. Some examples:
- Alloy (metrics and logs)
- Vector (metrics and logs)
- Node Exporter (metrics only)
- Promtail (logs only)
- Configure metrics to scrape the port configured in
config.yml
and endpoint/metrics
(e.g.http://localhost:12344/metrics
) - Configure logs collection
- Location of validator logs
- Location of monitor process logs (default:
logs/monitor.log
)
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)
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:
- Go to Grafana and navigate to Dashboards > Import.
- Enter the Dashboard ID:
1860
and click Load. - Select your Prometheus datasource and click Import.
This will provide a comprehensive overview of your system's performance using Node Exporter metrics.
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