nats-top
is a top
-like tool for monitoring NATS servers.
$ nats-top
NATS server version 0.7.4 (uptime: 3m34s)
Server:
Load: CPU: 58.3% Memory: 8.6M Slow Consumers: 0
In: Msgs: 568.7K Bytes: 1.7M Msgs/Sec: 13129.0 Bytes/Sec: 38.5K
Out: Msgs: 1.6M Bytes: 4.7M Msgs/Sec: 131290.9 Bytes/Sec: 384.6K
Connections: 10
HOST CID NAME SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION UPTIME LAST ACTIVITY
127.0.0.1:57487 13 example 1 12.0K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753062715 -0800 PST
127.0.0.1:57488 14 example 1 11.9K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753040168 -0800 PST
127.0.0.1:57489 15 example 1 12.1K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753069442 -0800 PST
127.0.0.1:57490 16 example 1 12.0K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753057413 -0800 PST
127.0.0.1:57491 17 example 1 12.1K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.75307264 -0800 PST
127.0.0.1:57492 18 example 1 12.1K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753066213 -0800 PST
127.0.0.1:57493 19 example 1 12.0K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753075802 -0800 PST
127.0.0.1:57494 20 example 1 12.2K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753052178 -0800 PST
127.0.0.1:57495 21 example 1 12.1K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753048615 -0800 PST
127.0.0.1:57496 22 example 1 12.0K 161.6K 0 484.7K 0 go 1.1.7 17s 2016-02-09 00:13:24.753016783 -0800 PST
The following script will install the latest version of the nats cli on Linux and macOS:
curl -sf https://binaries.nats.dev/nats-io/nats-top@latest | sh
nats-top
can be installed directly via go install
.
To install the latest version:
go install github.com/nats-io/nats-top@latest
RPM and Deb packages are also published to GitHub
usage: nats-top [-s server] [-m http_port] [-ms https_port] [-n num_connections] [-d delay_secs] [-r max] [-o FILE] [-l DELIMITER] [-sort by]
[-cert FILE] [-key FILE ][-cacert FILE] [-k] [-b] [-v|--version] [-u|--display-subscriptions-column]
-
-m http_port
,-ms https_port
Monitoring http and https ports from the NATS server.
-
-n num_connections
Limit the connections requested to the server (default:
1024
) -
-d delay_in_secs
Screen refresh interval (default: 1 second).
-
-r max
Specify the maximum number of times nats-top should refresh nats-stats before exiting (default:
0
which stands for"no limit"
). -
-o file
Saves the very first nats-top snapshot to the given file and exits. If '-' is passed then the snapshot is printed to the standard output.
-
-l delimiter
Specifies the delimiter to use for the output file when the '-o' parameter is used. By default this option is unset which means that standard grid-like plain-text output will be used.
-
-sort by
Field to use for sorting the connections.
-
-cert
,-key
,-cacert
Client certificate, key and RootCA for monitoring via https.
-
-k
Configure to skip verification of certificate.
-
-b
Displays traffic in raw bytes.
-
-v|--version
Displays the version of nats-top.
-
-u|--display-subscriptions-column
Makes the subscriptions-column immediately visible upon launching nats-top.
While in top view, it is possible to use the following commands:
-
o [option]
Set primary sort key to [option]:
Keyname may be one of: {cid, subs, msgs_to, msgs_from, bytes_to, bytes_from, idle, last}
This can be set in the command line too, e.g.
nats-top -sort bytes_to
-
n [limit]
Set sample size of connections to request from the server.
This can be set in the command line as well:
nats-top -n 1
Note that if used in conjunction with sort, the server would respect both options enabling queries like connection with largest number of subscriptions:nats-top -n 1 -sort subs
-
s
Toggle displaying connection subscriptions.
-
d
Toggle activating DNS address lookup for clients.
-
?
Show help message with options.
-
q
Quit nats-top.