02c8f35d9e
Referenced issue: https://github.com/status-im/infra-hq/issues/135 Signed-off-by: markoburcul <marko@status.im> |
||
---|---|---|
.. | ||
monitoring | ||
.env.example | ||
.gitignore | ||
Dockerfile.sonda | ||
README.md | ||
docker-compose.yml | ||
register_rln.sh | ||
run_node.sh | ||
sonda.py |
README.md
Sonda
Sonda is a tool to monitor store nodes and measure their performance.
It works by running a nwaku
node, publishing a message from it every fixed interval and performing a store query to all the store nodes we want to monitor to check they respond with the last message we published.
Instructions
-
Create an
.env
file which will contain the configuration parameters. You can start by copying.env.example
and adapting it for your use casecp .env.example .env ${EDITOR} .env
The variables that have to be filled for Sonda are
CLUSTER_ID= SHARD= # Comma separated list of store nodes to poll STORE_NODES= # Wait time in seconds between two consecutive queries QUERY_DELAY= # Consecutive successful store requests to consider a store node healthy HEALTH_THRESHOLD=
-
If you want to query nodes in
cluster-id
1, then you have to follow the steps of registering an RLN membership. Otherwise, you can skip this step.For it, you need:
- Ethereum Sepolia WebSocket endpoint. Get one free from Infura.
- Ethereum Sepolia account with some balance <0.01 Eth. Get some here.
- A password to protect your rln membership.
Fill the
RLN_RELAY_ETH_CLIENT_ADDRESS
,ETH_TESTNET_KEY
andRLN_RELAY_CRED_PASSWORD
env variables and run./register_rln.sh
-
Start Sonda by running
docker-compose up -d
-
Browse to http://localhost:3000/dashboards and monitor the performance
There's two Grafana dashboards:
nwaku-monitoring
to track the stats of your node that is publishing messages and performing queries, andsonda-monitoring
to monitor the responses of the store nodes.