Add data from ADApools to your public dashboard (v1.1)
Tested on Ubutnu 20.04, Grafana 7.4.3, Pormetheus 2.15.2
Inspired by BUFFY page
https://crypto2099.io/adding-pool-stats-to-grafana-dashboard/
Prerequisites- Grafana installed and running
- Prometheus installed and running as service
- Prometheus-node-exporter installed and running as service
- Copy your JSON link or your Pool ID from apapools.org
- Prometheus can only use numeric data, so we must first trim the JSON file.
cd /$NODE_HOME or < YOUR NODE FULL PATH > mkdir -p adapools cd adapools echo "curl https://js.adapools.org/pools/< YOUR POOL ID >/summary.json 2>/dev/null \ | jq '.data | del(.pool_id_bech32, .hist_bpe, .handles, .hist_roa, .db_ticker, .db_name, .db_url, .ticker_orig, .group_basic, .pool_id, .direct, .db_description, .tax_ratio_old, .tax_fix_old)' \ | tr -d \\\"{},: \ | awk NF \ | sed -e 's/^[ \t]*/adapools_/' > adapools.prom" > getstats.sh chmod +x getstats.sh ./getstats.sh
- Look at adapools.prom content
nano adapools.prom
adapools_id 1919
adapools_total_stake 6193451722
adapools_rewards_epoch 0
adapools_tax_ratio 0
adapools_tax_fix 340000000
... - Configure promethues-node-exporter.service to grab data from adapools.prom file. Note that you can run getstats.sh on any other server running node-exporter, you don't have to do it on same server running prometheus.service.
sudo cp /lib/systemd/system/prometheus-node-exporter.service /lib/systemd/system/prometheus-node-exporter.service_backup sudo nano /lib/systemd/system/prometheus-node-exporter.service
ExecStart=/usr/bin/prometheus-node-exporter --collector.textfile.directory=< YOUR NODE FULL PATH >/adapools --collector.textfile
sudo systemctl daemon-reload sudo systemctl restart prometheus-node-exporter.service sudo systemctl restart prometheus.service
- Assuming Grafana and Prometheus are active and running, you can now add data coming directly from ADApools to your public dashboard. Let's add the active stake.
- Add a new panel.
- From Prometheus datasource, select Metrics, adapools, adapools_total_stake.
- Data from the pledge, active_stake and total_stake are lovelaces, you must divide by 1 000 000 to get ADA.
- Add a title to your panel, choose visualization template and don't forget to tick Instant if you don't want the graph.
- Set thresholds to change color.
- Save and that's it.
- Add a new panel.
- Set cron job to update data from ADApools everyday.
crontab -e
#Get data from ADApools every day at 00:00 0 0 * * * cd < YOUR NODE FULL PATH >/adapools/ && ./getstats.sh
Now, you can create any panel you want with all data from ADApools.



*Would like to...but not my data.
Look at this cool CCSPA dashboard. All data comes from ADApools.