You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Anton Kaliaev 069c870614
differentiate between monitored nodes and nodes in a cluster
8 years ago
..
mock tm-monitor 0.1.0 8 years ago
Dockerfile.dev tm-monitor 0.1.0 8 years ago
LICENSE tm-monitor 0.1.0 8 years ago
Makefile tm-monitor 0.1.0 8 years ago
README.md tm-monitor 0.1.0 8 years ago
glide.lock set network's `NumValidators` and node's `IsValidator` 8 years ago
glide.yaml set network's `NumValidators` and node's `IsValidator` 8 years ago
main.go tm-monitor 0.1.0 8 years ago
monitor.go differentiate between monitored nodes and nodes in a cluster 8 years ago
monitor_test.go tm-monitor 0.1.0 8 years ago
network.go differentiate between monitored nodes and nodes in a cluster 8 years ago
node.go set network's `NumValidators` and node's `IsValidator` 8 years ago
node_test.go tm-monitor 0.1.0 8 years ago
rpc.go tm-monitor 0.1.0 8 years ago
ton.go differentiate between monitored nodes and nodes in a cluster 8 years ago

README.md

Tendermint monitor (tm-monitor)

Tendermint monitor watches over one or more Tendermint core applications (nodes), collecting and providing various statistics to the user.

QuickStart using Docker

docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "46657:46657" tendermint/tendermint

docker run -it --rm tendermint/tm-monitor

QuickStart using binaries

Linux:

curl -L https://s3-us-west-2.amazonaws.com/tendermint/0.8.0/tendermint_linux_amd64.zip && sudo unzip -d /usr/local/bin tendermint_linux_amd64.zip && sudo chmod +x tendermint
tendermint init
tendermint node --app_proxy=dummy

tm-monitor localhost:46657

Max OS:

curl -L https://s3-us-west-2.amazonaws.com/tendermint/0.8.0/tendermint_darwin_amd64.zip && sudo unzip -d /usr/local/bin tendermint_darwin_amd64.zip && sudo chmod +x tendermint
tendermint init
tendermint node --app_proxy=dummy

tm-monitor localhost:46657

Usage

# monitor single instance
tm-monitor localhost:46657

# monitor a few instances by providing comma-separated list of RPC endpoints
tm-monitor host1:46657,host2:46657

RPC UI

Run tm-monitor and visit http://localhost:46670. You should see the list of the available RPC endpoints:

http://localhost:46670/status
http://localhost:46670/status/network
http://localhost:46670/monitor?endpoint=_
http://localhost:46670/status/node?name=_
http://localhost:46670/unmonitor?endpoint=_

The API is available as GET requests with URI encoded parameters, or as JSONRPC POST requests. The JSONRPC methods are also exposed over websocket.

Ideas

  1. Currently we get IPs and dial, but should reverse so the nodes dial the netmon, both for node privacy and easier reconfig (validators changing ip/port).
  2. Uptime over last day, month, year
  3. statsd metrics
  4. log metrics for charts
  5. show network size (Q: how do I get the number?)
  6. metrics RPC

TODO