Setting up monitoring on local cluster
This page describes how to set up a monitoring site, like this one, for your private network. It builds upon this wiki article and assumes you’ve created a local cluster using this script (gethcluster.sh).
The monitoring system consists of two components:
- eth-netstats - the monitoring site which lists the nodes.
- eth-net-intelligence-api - these are processes that communicate with the ethereum client using RPC and push the data to the monitoring site via websockets.
#Monitoring site Clone the repo and install dependencies:
git clone https://github.com/cubedro/eth-netstats cd eth-netstats npm install
Then choose a secret and start the app:
WS_SECRET=<chosen_secret> npm start
You can now access the (empty) monitoring site at
You can also choose a different port:
PORT=<chosen_port> WS_SECRET=<chosen_secret> npm start
#Client-side information relays These processes will relay the information from each of your cluster nodes to the monitoring site using websockets.
Clone the repo, install dependencies and make sure you have pm2 installed:
git clone https://github.com/cubedro/eth-net-intelligence-api cd eth-net-intelligence-api npm install sudo npm install -g pm2
Now, use this script (netstatconf.sh) to create an
app.json suitable for pm2.
bash netstatconf.sh <number_of_clusters> <name_prefix> <ws_server> <ws_secret>
number_of_clustersis the number of nodes in the cluster.
name_prefixis a prefix for the node names as will appear in the listing.
ws_serveris the eth-netstats server. Make sure you write the full URL, for example: http://localhost:3000.
ws_secretis the eth-netstats secret.
bash netstatconf.sh 5 mynode http://localhost:3000 big-secret > app.json
Run the script and copy the resulting
app.json into the
eth-net-intelligence-api directory. Afterwards,
eth-net-intelligence-api and run the relays using
pm2 start app.json. To stop the relays, you can use
pm2 delete app.json.
NOTE: The script assumes the nodes have RPC ports 8101, 8102, … . If that’s not the case, edit app.json and change it accordingly for each peer.
At this point, open
http://localhost:3000 and your monitoring site should monitor all your nodes!