rtop是一个简单的无代理的远程服务器监控工具,基于 SSH 连接进行工作。无需在被监控的服务器上安装任何软件。rtop 直接通过 SSH 连接到待监控服务器,然后执行命令来收集监控数据。
它的工作原理是建立一个 SSH 会话,并在远程服务器上运行命令来收集系统信息,例如 CPU、磁盘、内存、网络。它每隔几秒钟就会刷新一次信息,就像 top 命令一样。
系统环境
Centos8
安装golang
检查一下系统是否安装golang:
[root@server1 ~]# rpm -qa|grep golang
yum list golang
[root@server1 ~]# yum list golang
Repository AppStream is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository PowerTools is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Available Packages
golang.x86_64 1.14.12-1.module_el8.3.0+605+410c5674 AppStream
发现在AppStream源中有golang安装包,下面开始安装吧:
[root@server1 ~]# yum -y install golang
为了使用 Go 语言,请在用户主目录下创建一个工作空间。Go 语言会将所有文件保存在这里:
[root@server1 ~]# mkdir -p ~/go_proj/bin
~/.bashrc
[root@server1 ~]# vim ~/.bashrc
export GOPATH=$HOME/go_proj
export GOBIN=$GOPATH/bin
安装rtop
go get$GOPATH/bingit
[root@server1 ~]# yum -y install git
[root@server1 ~]# go get github.com/rapidloop/rtop
package git:/github.com/rapidloop/rtop: git:/github.com/rapidloop/rtop: invalid import path: malformed import path "git:/github.com/rapidloop/rtop": invalid char ':'
[root@server1 ~]# go get github.com/rapidloop/rtop
package golang.org/x/crypto/ssh: unrecognized import path "golang.org/x/crypto/ssh": https fetch: Get "https://golang.org/x/crypto/ssh?go-get=1": dial tcp 216.239.37.1:443: connect: connection refused
package golang.org/x/crypto/ssh/agent: unrecognized import path "golang.org/x/crypto/ssh/agent": https fetch: Get "https://golang.org/x/crypto/ssh/agent?go-get=1": dial tcp 216.239.37.1:443: connect: connection refused
package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal": https fetch: Get "https://golang.org/x/crypto/ssh/terminal?go-get=1": dial tcp 216.239.37.1:443: connect: connection refused
运行go get之后,发现不能下载依赖包。 按照下面操作,创建目录,并手动git下载相关依赖:
[root@server1 ~]# mkdir -p $GOPATH/src/golang.org/x/
[root@server1 x]# git clone https://github.com/golang/crypto.git
[root@server1 x]# git clone https://github.com/golang/term.git
[root@server1 x]# git clone https://github.com/golang/sys.git
go get
[root@server1 x]# go get github.com/rapidloop/rtop
rtop
如何使用rtop
rtop 二进制文件存在于 中,因此只需运行GOBIN/rtop`就可以。只需添加远程主机信息,然后使用 rtop 命令进行监控。刷新间隔默认为5秒钟。
[root@server1 ~]# $GOBIN/rtop root@192.168.43.131
手动设置刷新间隔以更好地监控。这里设置了2秒刷新间隔。
[root@server1 ~]# $GOBIN/rtop root@192.168.43.131 2
总结
]rtop 是一个简单的、无代理的远程服务器监控工具,可通过 SSH 运行。它不需要在远程机器上安装任何代理软件。