Giter VIP home page Giter VIP logo

rtop's Introduction

rtop

Join the chat at https://gitter.im/rapidloop/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.

Only Linux systems can be monitored, and most modern distros will work.

rtop is MIT-licensed and can be used anywhere with attribution.

rtop's home page has more information and screenshots!

build

rtop is written in go, and requires Go version 1.2 or higher. To build, go get it:

go install github.com/rapidloop/rtop@latest

You should find the binary rtop under $GOPATH/bin when the command completes. There are no runtime dependencies or configuration needed.

contribute

Pull requests welcome. Keep it simple.

changelog

  • 9-May-2015: first public release

rtop's People

Contributors

gitter-badger avatar jaxonashton avatar machiel avatar mdevan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rtop's Issues

Unable to connect: tags don't match

rtop: asn1: structure error: tags don't match (16 vs {class:0 tag:3 length:120 isCompound:true}) {optional:false explicit:false application:false defaultValue:<nil> tag:<nil> stringType:0 set:false omitEmpty:false} pkcs1PrivateKey @

asn1: structure error: tags don't match

Below is what I got, I think it is different from #4

rtop: asn1: structure error: tags don't match (16 vs {class:0 tag:0 length:28 isCompound:false}) {optional:false explicit:false application:false defaultValue:<nil> tag:<nil> stringType:0 set:false omitEmpty:false} pkcs1PrivateKey @2
Background info

Commit hash: ed16e84
uname: Linux foobar 4.0.1-1-ARCH #1 SMP PREEMPT Wed Apr 29 12:00:26 CEST 2015 x86_64 GNU/Linux
openssh: 6.8p1
openssl: 1.0.2a

Supporting ssh multiplexing

In my local ~/.ssh/config:

Host *
    ControlMaster auto
    ControlPath /tmp/ssh-%r@%h:%p.socket
    ControlPersist yes
    ServerAliveCountMax 2
    ServerAliveInterval 120

I enabled ssh multiplexing for any connection, but rtop seems not to be using the ControlPath.

Is it possible for rtop to use the ControlPath opened by ssh?

Password based authentication not available

On the homepage it says that I can authenticate with a password but I keep getting this error:

unable to authenticate, attempted methods [none publickey], no supported methods remain

I don't see a hidden flag in the config and I can't set it in my .ssh/config.

Problem installing

Returns - "package math/bits: unrecognized import path "math/bits" (import path does not begin with hostname)" when "go get github.com/rapidloop/rtop" is executed.

Does't (yet?) support encrypted keys

Unfortunately, this otherwise nice program doesn't support encrypted keys, there is no way to supply the passphrase:

Example:

$ rtop <server>
rtop: ssh: cannot decode encrypted private keys
rtop: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain

In this case, has a proper entry in ~/.ssh/config, an ssh-agent is running and the encrypted is loaded.

rtop: asn1: structure error: length too large

Hi there,

I tried to build this on OS X 10.10.3 and everything went well. But now when I try to connect to a remote server, I always get:

rtop: asn1: structure error: length too large

What is going wrong here?

Regards,
Fabio

Replace previous data

When I let rtop run, it will display the new results below the previous results. It would be much clearer if it replaced it.

rtop-clear-previous-data

rtop can't be installed via `go get`

Steps to reproduce:

$ go get github.com/rapidloop/rtop

Expected results:

  • rtop is installed

Actual results:

$ go get github.com/rapidloop/rtop
package github.com/rapidloop/rtop
    imports github.com/rapidloop/rtop
    imports github.com/rapidloop/rtop: no buildable Go source files in ~/go/src/github.com/rapidloop/rtop

See also Organizing Go code. Reorganizing the repo would enable go get, permit removal of the Makefile, and permit removal of the SSH-related submodule.

PopOS (Ubuntu 21) install failing

Go Version

(base) vibhu@pop-os:~/Downloads/software$ go version
go version go1.17.5 linux/amd64

Installation Verification:

(base) vibhu@pop-os:~/Downloads/software$ go install github.com/rapidloop/rtop@latest
go: finding module for package golang.org/x/crypto/ssh/terminal
go: finding module for package golang.org/x/crypto/ssh
go: finding module for package golang.org/x/crypto/ssh/agent
go: found golang.org/x/crypto/ssh in golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3
go: found golang.org/x/crypto/ssh/agent in golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3
go: found golang.org/x/crypto/ssh/terminal in golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3

Post install the user local go bin:

(base) vibhu@pop-os:~/Downloads/software$ ls -alt /usr/local/go/bin
total 16940
drwxr-xr-x  2 vibhu vibhu     4096 Dec  9 08:53 .
-rwxr-xr-x  1 vibhu vibhu 14015892 Dec  9 08:53 go
-rwxr-xr-x  1 vibhu vibhu  3319301 Dec  9 08:53 gofmt
drwxr-xr-x 10 vibhu vibhu     4096 Dec  9 08:50 ..

Expected Behaviour:
As per documentation, find the bin for rtop in the user/local/go/bin.

Use SSH config

Currently, there's no way to use your ~/.ssh/config as a host. It'll just say that no such host is resolvable. It would be cool if that would also work.

push, instead of pull

As i understand it, RTOP is a pull based model where a central server ssh's in on some schedule and runs and grabs data. But i am thinking about adapting the model. Dont kil me, but just discussing....
It should be pretty easy to make it just a config setting perhaps..

  1. Run a Scheduler in golang. Easy. Set by config
  2. Runs the standard stats collector
  3. Pushes the data up to the standard endpoint.

The reason for this Question 7 Issue, is because i have devices out in the field, with the IP address dynamic. Its IOT style world :)

dont want to break all the other bits to this - for example the central server can be make to work with both push and pull model.

Would be curious of your thoughts. DO you support this ? DO you want to kill me for suggesting this ? etc

LVM partitions not listed

I'm not sure if this is a feature request or bug - rtop does not list partitions that use LVM.

It lists the boot partition, since this is not using LVM. However my root filesystem is on a LVM partition and this is not listed/monitored in the Filesystem section of the report.

Support for ZFS filesystems?

Is there any chance this tool can support ZFS filesystem mount points?

The rtop output is:
Filesystems:
           /:  18.02 GiB free of  18.56 GiB
       /boot: 411.04 MiB free of 451.22 MiB
        /tmp:   1.80 GiB free of   1.81 GiB
        /usr:   2.42 GiB free of   9.22 GiB
        /var:   4.23 GiB free of   5.48 GiB

A local file listing looks like this:
[root@xt ~]# ssh mdmarra df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        20G  558M   19G   3% /
tmpfs            24G   12K   24G   1% /dev/shm
/dev/sda1       477M   41M  412M   9% /boot
/dev/sda7       2.0G  3.1M  1.9G   1% /tmp
/dev/sda3       9.8G  6.8G  2.5G  74% /usr
/dev/sda6       5.8G  1.3G  4.3G  23% /var
vol1/images     292G  161G  132G  55% /images
vol1/ppro       202G   71G  132G  35% /ppro
vol1            133G  1.3G  132G   1% /vol1

Memory Leak?

After running over a few days, the memory it took is about 1.6 GB. Why is this?

Restrict list of interfaces

Some virtual hosts have a huge list of network interfaces, pushing the other useful information off the screen. For these hosts, it would be great if we can limit the interfaces shown. The default behaviour can be as it is currently. One of our vms on hyper-v has 18 veth* interfaces...

  1. --limit-interfaces 2 seems like a bad idea because we don't know the order of the interfaces
  2. --interface eth0 --interface docker0 --interface ... would be fine
  3. A config file would be overkill, I guess, especially since it's a per-host setting

not using ssh agent on MacOS

Apologies if I'm missing something obvious, but rtop doesn't seem to be using my ssh agent.

MacOS 10.11.6
go1.7.5 darwin/amd64

$ ssh-add -l
2048 SHA256:blah /Users/blah/.ssh/id_rsa (RSA)
$ ssh server date
Sat 11 Feb 03:23:45 GMT 2017
$ bin/rtop server
Enter passphrase for key '/Users/blah/.ssh/id_rsa':

any ideas, please?

thanks much…

ssh: must specify HostKeyCallback

I got this problem when i run this code on my macOS 10.12.3, but i have fixed it by editing the file of sshhelper.go

about line 214:

config := &ssh.ClientConfig{
	User: user,
	Auth: auths,
	HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error {
            return nil
        },
}

unable to monitor server, error message not helpful.

alex@alex-work ~/s/rtop (master)> ./rtop alex@my-demo:2299
rtop: asn1: structure error: tags don't match (16 vs {class:2 tag:1 length:76 isCompound:false}) {optional:false explicit:false application:false defaultValue:<nil> tag:<nil> stringType:0 set:false omitEmpty:false} pkcs1PrivateKey @2
alex@alex-work ~/s/rtop (master) [1]> ssh -p 2299 my-demo
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64)

so that's strange. I tried manually providing the private key to use, but the same result happened.

Keeping in mind that my private key is password protected, and the ssh-agent currently has access to it unencrypted.

Not sure what's going on :<

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.