(本文字数:3984,阅读时长大概:6分钟)
Linux上最常用的命令行进程监控工具是top和它那色调缤纷、功能丰富的儿子htop。
要监控Linux上的气温,可以使用lm-sensors。同样,还有好多实用工具可以监控其他实时指标,如c盘I/O、网络统计等。
Glances是一个系统监控工具,它把这种都联系在一起ubuntu linux,并提供了更多的功能。我最喜欢的是linux查看服务使用端口,你可以在远程Linux服务器上运行Glances来监控本地系统的系统资源,也可以通过Web浏览器监控。
下边是它的外型。下边截图中的终端早已用Pywal工具美化过,可以按照墙纸手动改变颜色。
你也可以将它集成到像Grafana这样的工具中,在一个直观的仪表盘中监控统计数据。
它是用Python编撰的,这意味着它的绝大多数功能都可以在大多数平台上使用。
Glances的功能
GlancesDataInGrafanaDashboard
让我们快速浏览一下Glances提供的主要功能:
在Ubuntu和其他Linux发行版上安装Glances
Glances在许多Linux发行版的官方软件库中都有。这意味着你可以使用你的发行版的软件包管理器来轻松安装它。
在基于Debian/Ubuntu的发行版上,你可以使用以下命令:
sudo apt install glances
你也可以使用snap包安装最新的Glances:
sudo snap install glances
因为Glances是基于Python的,你也可以使用PIP在大多数Linux发行版上安装它。先安装PIP,之后用它来安装Glances:
sudo pip3 install glances
假如没有别的办法,你还可以使用Glances开发者提供的手动安装脚本。其实我们不建议直接在你的系统上随意运行脚本,但这完全取决于你自己:
curl -L https://bit.ly/glances | /bin/bash
你可以从她们的文档中查看其他安装Glances的方式,甚至你还可以把它作为一个Docker容器来安装。
使用Glances监控本地系统上的Linux系统资源(独立模式)
你可以通过在终端上运行这个命令,轻松启动Glances来监控你的本地机器:
glances
你可以立刻观察到,它将好多不同的信息整合在一个屏幕上。我喜欢它在底部显示笔记本的公共和私人IP:
Glances也是交互式的,这意味着你可以在它运行时使用命令与它互动。你可以按s将传感显示在屏幕上;按k将TCP联接列表显示在屏幕上;按1将CPU统计扩充到显示单个线程。
你也可以使用方向键在进程列表中联通,并按不同的指标对表格进行排序。
你可以通过各类命令行选项来启动Glances。据悉,它还有好多交互式命令。你可以在她们的丰富的文档中找到完整的列表。
按Ctrl+C键退出Glances。
使用Glances监控远程Linux系统(顾客端-服务器模式)
要监控远程计算机,你可以在顾客端-服务器模式下使用Glances。你须要在两个系统上都安装Glances。
在远程Linux系统上,使用-s选项在服务器模式下启动Glances:
glances -s
在顾客端系统中,使用下边的命令在顾客端模式下启动Glances并联接到服务器:
glances -c server_ip_address
你也可以通过SSH步入任何一台笔记本linux虚拟主机,之后启动Glances,它可以完美地工作。更多关于顾客端-服务器模式的信息请看这儿。
使用Glances在Web浏览器中监控Linux系统资源(Web模式)
Glances也可以在Web模式下运行。这意味着你可以使用Web浏览器来访问Glances。与之前的顾客端-服务器模式不同,你不须要在顾客端系统上安装Glances。
要在Web模式下启动Glances,请使用-w选项:
glances -w
请注意,虽然在Linux服务器上,它也可能显示“GlancesWebUserInterfacestartedon:61208”,而实际上它使用的是服务器的IP地址。
最主要的是它使用的是61208端标语,你可以用它来通过网路浏览器访问Glances。只要在服务器的IP地址前面输入端标语,例如:61208。
你也可以在本地系统中使用:61208/或:61208/访问。
Web模式也模仿终端的样子。网页版是依据响应式设计原则构建的,虽然在手机上也挺好看。
你可能想用密码来保护Web模式,这样只有授权的人才能使用它。默认的用户名是glances。
root@localhost:~# glances -w --password
Define the Glances webserver password (glances username):
Password (confirm):
Do you want to save the password? [Yes/No]: n
Glances Web User Interface started on http://0.0.0.0:61208/
你可以在快速入门手册中找到关于配置密码的更多信息。
导入Glances数据到不同的服务
使用Glances最大的优势之一就是开箱即用,它支持将数据导入到各类数据库、服务,并无缝集成到各类数据管线中。
你可以在监控的同时用这个命令导入到CSV:
glances --export csv --export-csv-file /tmp/glances.csv
/tmp/glances.csv是文件的位置。数据以时间序列的方式整齐地填入。
你也可以导入到其它小型应用程序,如Prometheus,以启用条件触发器和通知。
它可以直接插入到消息服务(如RabbitMQ、MQTT)、流媒体平台(如Kafka),并将时间序列数据导入到数据库(如InfluxDB),并使用Grafana进行可视化。
你可以在这儿查看服务和导入选项的整个列表。
使用RESTAPI将Glances与其他服务进行整合
这是整个栈中我最喜欢的功能。Glances除了可以将各类指标汇集在一起,还可以通过API将它们曝露下来。
这个简单而强悍的功能促使为任何特定的用例建立自定义应用程序、服务和中间件应用程序显得十分容易。
当你在Web模式下启动Glances时,RESTAPI服务器会手动启动。要在API服务器模式下启动它,你可以使用以下命令:
glances -w --disable-webui
RESTAPI的文档很全面,其响应也很容易与Web应用集成。这促使使用类似Node-RED这样的工具可以很容易地建立一个统一的仪表盘来监控多个服务器。
Glances也提供了一个XML-RPC服务器,你可以在这儿查看文档。
关于Glances的结束语
Glances使用psutilPython库来访问不同的系统统计数据。早在2017年,我就曾使用相同的库建立了一个简单的API服务器来检索CPU的使用情况。我还能使用Node-RED建立的仪表盘监控一个集群中的所有猕猴桃派。
Glances可以为我节约一些时间,同时提供更多的功能,可惜我当时并不晓得它。
在写这篇文章的时侯,我确实尝试着在我的猕猴桃派上安装Glances,可惜所有的安装方式都出现了一些错误,失败了。当我成功后,我会更新文章linux查看服务使用端口,或则可能再写一篇文章,介绍在猕猴桃派上安装的步骤。
我希望Glances能提供一种顶替top或htop等的方式。让我们希望在正式到来的版本中得到它。
我希望这能给你提供大量关于Glances的信息。大家使用哪些系统监控工具呢,请在评论中告诉我。
via:
作者:Chinmay选题:lujun9972译者:wxy校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出