Skip to content

nats-io/nats-top

Repository files navigation

nats-top

License Build Release

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

Install

Installation from the shell

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

Installation via go install

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

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.

Commands

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.

Demo

nats-top