This project monitors Solana/Agave validator metrics.
- Git: To clone the repository
- Python: To run the application
- Metrics Collector: To scrape the service
/metricsendpoint - Logs Collector: To scrape the logs from the validator and monitor
Download the project source code:
git clone https://github.com/blockjoy/agave-monitor.git /root/agave-monitor/
cd /root/agave-monitorpython3 -m venv monitor-env monitor-env/bin/pip install -r requirements.txt
/root/agave-monitor/config.ymlcp /root/agave-monitor/agave-monitor.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable agave-monitorsystemctl start agave-monitorAny 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.ymland 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:
1860and click Load. - Select your Prometheus datasource and click Import.
This will provide a comprehensive overview of your system's performance using Node Exporter metrics.