rtop: Remote System Monitoring Via SSH

This is a simple but effective tool: rtop .

rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No special software is needed on the remote system, other than an SSH server and working credentials.

You could question why you wouldn’t just SSH into the box and run top, but hey, let’s just appreciate rtop for what it is: a simple overview of the systems’ state and performance.

Installation#

Not that hard, you just need the Go language runtime.

$ go install github.com/rapidloop/rtop@latest

That drops the rtop binary in your $GOPATH/bin. For a few days, there was a problem with connecting over keys that use passphrases, but that was resolved in issue #16 .

Running rtop#

As easy as the installer.

rtop user@host:2222 1

This translates to;

  • user: the SSH user to connect with
  • host: the hostname / IP of the server to monitor
  • 2222: optional, the SSH port
  • 1: optional, the interval how often to query. Defaults to 5, which is a bit slow for me

And then you have your output.

./rtop user@host:2222 1
host.domain.tld up 57d 22h 32m 7s

Load:
    0.19 0.05 0.01

Processes:
    1 running of 240 total

Memory:
    free    = 573.58 MiB
    used    =   1.89 GiB
    buffers = 144.43 MiB
    cached  =   1.05 GiB
    swap    =   4.00 GiB free of   4.00 GiB

Filesystems:
           /:  21.25 GiB free of  23.23 GiB

Network Interfaces:
    eth0 - 192.168.10.5/26, fe80::aa20:66ff:fe0d/64
      rx = 523.23 GiB, tx = 4972.94 GiB

    lo - 127.0.0.1/8, ::1/128
      rx =   2.69 GiB, tx =   2.69 GiB

Pretty neat summary of the system.