92 lines
2.4 KiB
Markdown
Raw Normal View History

# tm-monitor
2018-04-03 11:55:43 +02:00
Tendermint blockchain monitoring tool; watches over one or more nodes,
collecting and providing various statistics to the user:
2018-04-03 11:55:43 +02:00
- [https://github.com/tendermint/tendermint/tree/master/tools/tm-monitor](https://github.com/tendermint/tendermint/tree/master/tools/tm-monitor)
2018-04-03 11:55:43 +02:00
## Quick Start
2018-04-03 11:55:43 +02:00
### Docker
2018-04-03 11:55:43 +02:00
Assuming your application is running in another container with the name
`app`:
2018-05-16 16:34:48 +04:00
```
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "26657:26657" --name=tm --link=app tendermint/tendermint node --proxy_app=tcp://app:26658
2018-05-16 16:34:48 +04:00
docker run -it --rm -p "26670:26670" --link=tm tendermint/monitor tm:26657
```
2018-05-16 16:34:48 +04:00
If you don't have an application yet, but still want to try monitor out,
use `kvstore`:
2018-04-03 11:55:43 +02:00
```
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "26657:26657" --name=tm tendermint/tendermint node --proxy_app=kvstore
2018-04-03 11:55:43 +02:00
docker run -it --rm -p "26670:26670" --link=tm tendermint/monitor tm:26657
```
2018-04-03 11:55:43 +02:00
### Using Binaries
2018-04-03 11:55:43 +02:00
[Install Tendermint](https://github.com/tendermint/tendermint#install)
2018-04-03 11:55:43 +02:00
then run:
2018-04-03 11:55:43 +02:00
```
tendermint init
tendermint node --proxy_app=kvstore
2018-05-16 16:34:48 +04:00
tm-monitor localhost:26657
```
2018-05-16 16:34:48 +04:00
with the last command being in a separate window.
2018-04-03 11:55:43 +02:00
## Usage
2018-04-03 11:55:43 +02:00
```
Tendermint monitor watches over one or more Tendermint core
applications, collecting and providing various statistics to the user.
2018-04-03 11:55:43 +02:00
Usage:
tm-monitor [-no-ton] [-listen-addr="tcp://0.0.0.0:26670"] [endpoints]
2018-04-03 11:55:43 +02:00
Examples:
# monitor single instance
tm-monitor localhost:26657
# monitor a few instances by providing comma-separated list of RPC endpoints
tm-monitor host1:26657,host2:26657
Flags:
-listen-addr string
HTTP and Websocket server listen address (default "tcp://0.0.0.0:26670")
-no-ton
Do not show ton (table of nodes)
```
2018-04-03 11:55:43 +02:00
### RPC UI
2018-04-03 11:55:43 +02:00
Run `tm-monitor` and visit http://localhost:26670 You should see the
list of the available RPC endpoints:
2018-04-03 11:55:43 +02:00
```
http://localhost:26670/status
http://localhost:26670/status/network
http://localhost:26670/monitor?endpoint=_
http://localhost:26670/status/node?name=_
http://localhost:26670/unmonitor?endpoint=_
```
2018-04-03 11:55:43 +02:00
The API is available as GET requests with URI encoded parameters, or as
JSONRPC POST requests. The JSONRPC methods are also exposed over
websocket.
2018-04-03 11:55:43 +02:00
## Development
2018-04-03 11:55:43 +02:00
```
make get_tools
make test
```